Você está na página 1de 420

Ficha catalogrfica

EnAComp, X Encont r o Anual de Comput ao


Anai s do X Encont r o Anual de Comput ao EnAComp
2013 / Luanna Lopes Lobat o e Thi ago J abur Bi t t ar -
Or gani zador es. - - Cat al o, 2013.
410 p.

Anai s cont endo t r abal hos compl et os e r esumi dos,
2013, mar o.

1. Comput ao. 2. I nf or mt i ca. 3. Ci nci a da
Comput ao. I . Lobat o, Luanna Lopes e Bi t t ar , Thi ago
J abur . or gani zador es. Aut or col et i vo ( aut or es de cada
t r abal ho i ndi cados) .
E56a
i

Comisso Organizadora

Coordenao
Profa. Dra. Luanna Lopes Lobato
Vice-Coordenao
Prof. Dr. Thiago J abur Bittar

Secretrio
Humberto Lidio Antonelli
Apoio
Prof. Acrisio J os do Nascimento J nior

Alunos
Anelisa Pereira da Silva
Csar Augusto Verosa Mariano
Cleriston Aparecido Dantas
Danilo Martins Silvrio Cardoso
Diego Martins de Almeida
Elizabeth Cristina Nascimento Fortunato
Fernanda Bontempo Faria
Humberto Lidio Antonelli
Iohan Gonalves Vargas
Lorena Aparecida Rezende
Lucas ngelo da Silveira
Luiz Gustavo Dias
Nilton Mendes de Souza
Paulo Henrique Ferreira Fontoura J unior
Thiago de Almeida Bastos
Victor Portilho

ii

Comisso Cientfica

Alexsandro Santos Soares (UFU/FC Uberlndia/MG)
Carla Ilane Moreira Bezerra (UFC Quixad/CE)
Celso Augusto Raposo Lisboa Brennand (UFRPE/DCC Serra Talhada/PE)
Ciro Meneses Santos (UFVJ M Teofilo Otoni/MG)
Crescencio Rodrigues Lima Neto (IFBA/Info Vitria da Conquista/BA)
Cristiane Akemi Yagunuma (UFSCar/DC So Carlos/SP)
Cristiane de Ftima dos Santos Cardoso (IFGO Uruta/GO)
Dalton Matsuo Tavares (UFG/DCC Catalo/GO)
Daniele Santini J acinto (USP/IFSC So Carlos/SP)
Elias Adriano Nogueira da Silva (USP/ICMC So Carlos/SP)
Ednaldo Dilorenzo de Souza Filho (Dataprev Recife/PE)
Felipe Domingos da Cunha (UFMG/DCC Belo Horizonte/MG)
Fernando Antnio Asevedo Nbrega (USP/ICMC So Carlos/SP)
Gleibson Rodrigo Silva de Oliveira (UFPE/CIn Recife/PE)
Glucya Carreiro Boechat (UNICAMP Campinas/SP)
Henrique Emanuel Mostaert Reblo (UFPE/CIn Recife/PE)
Hugo Sica de Andrade (UFBA/DCC Salvador/BA)
Iuri Santos Souza (RiSE Salvador/BA)
Ivan do Carmo Machado (UFBA/DCC Salvador/BA)
Ivan Sedin (UFG/DCC - Catalo/GO)
Ivonei Freitas da Silva (UNIOESTE/DCC Cascavel/PR)
J eneffer Cristine Ferreira (UFRPE Recife/PE)
J oo Guilherme Maia de Menezes (UFMG/DCC Belo Horizonte/MG)
J oel da Silva (UFSM/CAFW Santa Maria/RS)
J onatas Bastos (IFBA/Info Irec/BA)
J os J orge Lima Dias J unior (UFPB/DCE Rio Tinto/PB)
J uliana de Albuquerque Gonalves Saraiva (UFRPE/UAG Garanhuns/PE)
Larissa Rocha Soares (UFBA/DCC Salvador/BA)
Leandro Agostini do Amaral (USP/ICMC So Carlos/SP)
Luanna Lopes Lobato (UFG/DCC Catalo/GO)
Marcelo Gabriel Almiron (UFMG/DCC Belo Horizonte/MG | UNIGE, CUI, Genebra)
Mrcio Antnio Duarte (UFG/DCC Catalo/GO)
Mrcio de Souza Dias (UFG/DCC Catalo/GO)
Marcos Antnio de Matos Laia (USP/ICMC So Carlos/SP)
Maria Isabel Oliveira (UFBA/IF Salvador/BA)
Mehran Misaghi (Sociesc - J oinville/SC)
Muriel de Souza Godoi (UTFPR Apucarana/PR)
Ndia Flix Felipe da Silva (USP/ICMC So Carlos/SP)
Rafael de Amorim Silva (UFAL/IC Macei/AL)
iii

Raphael Pereira de Oliveira (UFBA/DCC Salvador/BA)
Rhavy Maia Guedes (IFPB/DE Campina Grande/PB)
Renata Maria de Souza (CESAR Recife/PE)
Renato Lima Novais (IFBA Santo Amaro/BA)
Robson Eduardo de Grande (University of Ottawa Canad)
Roberto Mendes Finzi Neto (UFU/FEMEC - Uberlndia)
Roberto Rigolin Ferreira Lopes (USP/ICMC So Carlos/SP)
Rodrigo Rocha Gomes e Souza (UFBA/DCC Salvador/BA)
Selma Terezinha Milagre (FEE/UFU Uberlndia/MG)
Srgio Francisco da Silva (UFG Catalo/GO)
Srgio Francisco Tavares de Oliveira Mendona (UFRPE Garanhuns/PE)
Simone da Silva Amorim (UFBA/DCC Salvador/BA)
Stella J acyszyn Bachega (UFG Catalo/GO)
Tssio Ferreira Vale (RiSE Salvador/BA)
Thiago Souto Mendes (IFBA Campus Santo Amaro/BA)
Thiago J abur Bittar (UFG/DCC Catalo/GO)
Thiago Henrique Burgos de Oliveira (Fraunhofer/IESE Alemanha)
Ulysses Roberto Chaves Vitor (UFPE/DEE Recife/PE)
Valdirene Fontanette (Itera So Carlos/SP)
Yguarat C. Cavalcanti (SERPRO Florianpolis/SC)
Wesley Barbosa Thereza (UNEMAT/DC Mato Grosso)
Wylliams Barbosa Santos (UFRPE Recife/PE)

iv

Entidades Envolvidas

Realizao
Departamento de Cincia da Computao (DCC)
Universidade Federal de Gois (UFG)

Apoio
Sociedade Brasileira de Computao (SBC)
Grupo ReseArch

Suporte
CAPES - Coordenao de Aperfeioamento de Pessoal de Nvel Superior
FAPEG - Fundao de Amparo Pesquisa do Estado de Gois

v

Prefcio

Este livro de Anais contm os artigos aceitos para apresentao no X Encontro Anual de
Computao EnAComp 2013, realizado na Universidade Federal de Gois (UFG), campus Catalo,
durante os dias 12 a 15 de maro de 2013.
O EnAComp um evento que tem por objetivo reunir acadmicos e profissionais envolvidos com a
Computao e reas afins, proporcionando a troca de conhecimento, experincias e apresentando as
novas perspectivas referentes Computao, assim como facilitando a discusso de inovaes
tecnolgicas.
O tema deste ano Computao, da teoria prtica. A ideia que envolveu a escolha deste tema
est calcada na necessidade de aproximarmos sempre as teorias ensinadas na universidade prtica
implementada nas indstrias, uma vez que os alunos devem ser preparados para atuar na academia e
no mercado de trabalho.
A Comisso Cientfica do EnAComp 2013 formada por um grupo multidisciplinar de especialistas
relacionados Computao, constitudo por mais de 60 pesquisadores, de diferentes instituies e
empresas do pas, aos quais foi atribudo a responsabilidade de avaliar, em um processo de reviso as
cegas, os trabalhos para cada uma das reas de interesse relacionadas ao evento.
No EnAComp 2013 foram recebidos cerca de 130 trabalhos, em forma de artigos completos e
psteres, sobre pesquisas que tem sido desenvolvidas na academia e na indstria. Destes, 57 artigos
foram aceitos para publicao, sendo 35 orais e 22 psteres. A publicao dos anais disponibilizada
em formato eletrnico (na Internet e em CD), com o nmero de ISSN 2178-6992.
Agradecemos a todos que, direta ou indiretamente, tem colaborado positivamente para a realizao
do EnAComp 2013 (alunos envolvidos na comisso organizadora, palestrantes, autores, comit
cientfico, patrocinadores, instituies e familiares). Fizemos nosso melhor para oferecer um
interessante encontro, bem como para proporcionar aos participantes timos dias durante a estadia
em Catalo, GO.


Catalo, 12 de maro de 2013.

Coordenao do X EnAComp 2013
Profa. Dra. Luanna Lopes Lobato
Prof. Dr. Thiago J abur Bittar

vi

Sumrio

Reflexes sobre Sntese Automtica de Sistemas de Informao Temporais atravs de Modelos .. 1
Avaliao de Desempenho de Reconhecimento Automtico de Faces Utilizando as Tcnicas
de Anlise de Componentes Principais e de Fisherfaces ........................................................... 9
Anlise de Segurana da Camada de Notificao do SparkleShare ............................................. 17
Estimao do Tempo Mdio de Resposta do Servidor emPlataformas de Ensino a Distncia
do Tipo Cliente-Servidor Utilizando Modelo Baseado emTeoria de Filas ............................. 25
Acesso Remoto a Redes de Sensores SemFio Usando VPN.......................................................... 33
O Uso da Tecnologia de Informao emSala de Aula: UmEstudo de Caso ................................ 41
Monitoramento de Paisagens Urbanas comRedes de Sensores para Auxlio a Deciso em
Gesto Participativa ................................................................................................................. 49
Simulao baseada emautmatos celulares para a evacuao emergencial de pedestres em
ambientes comgeometria complexa ......................................................................................... 57
Uma abordagemde cdigo nico para aplicaes independentes de provedor de bases de
dados relacionais ...................................................................................................................... 65
Metodologia de anlise para migrao de sistemas de mdio e grande portes para a nuvemno
modelo SaaS ............................................................................................................................. 73
Utilizao de dispositivos mveis para o monitoramento e controle de transdutores
inteligentes aplicados na automao residencial ..................................................................... 81
Desempenho do Uso de Vises nas Consultas emDiferentes Servidores de Banco de Dados
Relacionais ............................................................................................................................... 89
Ambiente Virtual de Cenrio Urbano para Simulao Multiagentes - Experincia do Projeto
ADGEPA ................................................................................................................................... 97
FlexTest UmFramework Flexvel para a Automao de Testes .............................................. 105
Convoluo como Caso de Estudo para Formalizao emPVS da Correo Funcional de
Implementaes emFPGA's ................................................................................................... 113
Mecanismo de Controle de Fluxo Aplicado na Transmisso de Vdeo no Sistema LTE ............. 121
Aplicao de Processamento Paralelo emmtodo iterativo para soluo de sistemas lineares 129
EmDireo a uma Ferramenta de Suporte a Reviso Sistemtica de Literatura ....................... 137
Construo de uma Base de Dados para Auxiliar a Avaliao de Sistemas de Deteco de
Intrusos emuma Rede IEEE 802.11 comCriptografia WEP, WPA e WPA2 Habilitada ....... 145
Aplicativo classificador de imagens de notas de real para plataforma Android ........................ 152
Aplicao para dispositivos mveis utilizando tecnologias interativas: A Realidade Virtual e
Aumentada aplicada ao estudo da anatomia humana ............................................................ 160
Aplicao de ferramentas automatizadas para gerao de formulrios Web acessveis ............ 168
vii

Otimizao das Bandas Fotnicas Proibidas Absolutas de Cristais Fotnicos Anisotrpicos
Bidimensionais utilizando Sistemas Imunolgicos Artificiais ................................................ 176
SEDOR - Sistema Especialista para Diagnstico Odontolgico baseado emRadiografias ....... 184
Avaliao do Desempenho de Esquemas de Cruzamento em Algoritmos Genticos na
Otimizao de Bandas Proibidas emCristais Fotnicos ....................................................... 192
Avaliao da Usabilidade emSistemas de Gerenciamento de Biblioteca: Software SIGA e
SophiA ..................................................................................................................................... 200
Padres e diretrizes arquiteturais para escalabilidade ............................................................... 208
Otimizao de circuitos usando Simulated Annealing ................................................................ 216
Consideraes sobre umdesenvolvimento acessvel por meio do registro de Design Rationale 222
Autenticao Biomtrica emRedes de Telecomunicao Aeronutica ....................................... 230
Reconfigurao de Redes de Distribuio de Energia Eltrica Utilizando Metaheurstica
Colnia de Formigas Modificado ........................................................................................... 238
Uma proposta de desenvolvimento de umsistema de software para apoio ao gerenciamento de
doenas relacionadas Leishmaniose ................................................................................... 246
Umbreve estudo sobre Gerenciamento de Riscos emProjetos de Software no Brasil ............... 252
Concepo de uma Ferramenta Parser para Extrao de dados do metamodelo ECore ........... 260
Aplicando Padres de Seleo no Ensino de Programao de Computadores para Estudantes
do Primeiro Ano do Ensino Mdio Integrado ........................................................................ 268
Modelagem de Vdeo MPEG-4 Utilizando Cascata Multifractal com Multiplicadores
Autorregressivos ..................................................................................................................... 276
Caracterizao de QoS para Contedo Multimdia emRede VPN utilizando Rede Neural MLP284
A TI como uma Ferramenta de Gesto Estratgica nas Operaes de Uma Empresa do Setor
de Logstica............................................................................................................................. 290
Os desafios para a mobilizao de aplicaes baseadas emplataforma Web ............................ 294
Lgica para Semforo Inteligente Baseado na Minerao de Dados por Algoritmo Gentico
Transgnico ............................................................................................................................ 301
Motor de inferncias emplataforma OSGi .................................................................................. 309
UmSistema para Visualizao Tridimensional das Mamas a partir da Curva do Limite
Inferior Frontal das Mamas ................................................................................................... 313
Deteco, caracterizao e recuperao de faces ...................................................................... 317
Estudo de Caso Usando o Framework Robot Operating System(ROS) ..................................... 324
Desenvolvimento de umSimulador para o Treinamento de Operaes para Profissionais do
Setor Eltrico .......................................................................................................................... 332
Construo de Software capaz de traar o Perfil Nutricional e Antropomtrico dos estudantes
no IFPB campus Campina Grande ......................................................................................... 337
Estudo de Caso Usando a Plataforma MicrosoftRobotics Developer Studio (RDS)............... 341
viii

Estudo de Caso Usando o Framework LeJ OS ............................................................................. 349
Preditor de nmeros para lotofcil: uma abordagemusando algoritmos evolutivos ................. 357
Interdisciplinaridades entre Pesquisa Operacional e Cincia da Computao .......................... 363
OpenNI e suas Aplicaes ........................................................................................................... 371
SELECTRESS Sistema Web aplicado ao melhoramento gentico vegetal para resistncia a
fatores ambientais estressantes .............................................................................................. 379
ModelagemMultifractal BetaMWM Adaptativa para Trfego de Redes de Computadores ....... 383
UmSistema Mvel de Compras Rpido e Seguro via QR Code e Vitrine Virtual....................... 391
Resoluo de PPLs atravs dos mtodos Simplex e Simplex emDuas Fases ............................. 395
Gerenciamento de melhorias de informaes utilizando Data Warehouse ................................. 399
Application programming interface Library para Algoritmo Gentico com Operador
Transgnico ............................................................................................................................ 407




Reex oes sobre Sntese Autom atica de Sistemas de Informac ao
Temporais atrav es de Modelos
Valdemar Vicente Graciano Neto
1
Instituto Federal de Educac ao, Ci encia e Tecnologia de Goi as (IFG) - C ampus Formosa
Rua 64, esq. c/ Rua 11, s/n, Expans ao Parque Lago 73.813-816. Formosa - GO Brasil
vgracianoneto@gmail.com
Resumo. Software de Sistemas de Informac ao (SI) naturalmente precisam ar-
mazenar informac oes temporais. Para tanto, e necess ario que o banco de dados
seja do tipo temporal. Entretanto, os sistemas gerenciadores de banco de da-
dos modernos d ao suporte a apenas poucos tipos de aspectos temporais. Em
virtude disso, e comumente necess ario um componente de software que admi-
nistre a temporalidade do software de SI e a temporalidade do pr oprio banco
de dados. Este artigo apresenta reex oes e decis oes de projeto que servir ao
de insumo para conceber uma arquitetura dirigida por modelos para sntese
autom atica de SI com suporte a temporalidade.
1. Introduc ao
O desenvolvimento de software de Sistemas de Informac ao (SI) mant em-se ainda como
uma atividade cara e complexa. Grandes esforcos s ao demandados em todos os est agios
do processo de desenvolvimento para lidar com a qualidade dos requisitos do cliente
dentro de orcamentos e prazos reduzidos.
Uma complexidade not avel com a qual e preciso lidar e o tratamento de aspectos
temporais em SI. Ela surge naturalmente em v arias categorias de software de SI e consiste
na necessidade de manter informac oes que s ao alteradas ao longo do tempo.
SI s ao naturalmente associados a Bancos de Dados (BD) e os Sistemas Gerenci-
adores de Banco de Dados (SGBD) modernos oferecem poucos recursos para tratamento
de temporalidade. Georg concluiu, a partir de um estudo conduzido sobre temporali-
dade nos SGBD Objeto-Relacionais Oracle e PostgreSQL, que, apesar de n ao impedir a
aplicac ao de temporalidade em BD, essas tecnologias n ao d ao o suporte necess ario para
faz e-lo de forma transparente e eciente [de Castro Georg 2010].
O Desenvolvimento de Software Dirigido por Modelos (DSDM)
[Stahl et al. 2006] e uma forma de lidar com as complexidades do processo de de-
senvolvimento de SI ao substituir o c odigo-fonte por modelos abstratos que representam
especicac oes em alto-nvel de abstrac ao.
O c odigo e gerado automaticamente a partir dos modelos de modo que o c odigo
n ao demande manipulac ao direta, atividade onerosa e propensa a erros.
Este artigo apresenta resultados preliminares, reex oes e decis oes de projeto que
servir ao de insumo para conceber uma arquitetura dirigida por modelos para gerac ao au-
tom atica de aspectos de ger encia de temporalidade em projetos de desenvolvimento de
software de SI. Para tratar deste tema, a Sec ao 2 discute o embasamento te orico desta
X Encontro Anual de Computao - EnAComp 2013
1
pesquisa; a Sec ao 3 discute decis oes de projeto para arquitetura de uma ferramenta de
transformac ao de modelos para sntese de SI temporal; e a Sec ao 4 apresenta as con-
clus oes e trabalhos futuros.
2. Embasamento Te orico
Esta sec ao apresenta os pilares te oricos sobre os quais esta pesquisa se apoia.
2.1. Temporalidade em SI e BD
Sistemas de Informac ao (SI) de grande porte s ao inerentemente temporais. Isto e, necessi-
tam tratar a evoluc ao sofrida pelos dados e guardar o hist orico de modicac oes ocorridas.
Como as informac oes de um SI s ao comumente gravadas em um Banco de Dados,
e necess ario prover modos de tratar a temporalidade em nvel de aplicac ao, uma vez que
os Sistemas Gerenciadores de Banco de Dados (SBGD) modernos n ao d ao vasto suporte
ao tratamento de temporalidade [de Castro Georg 2010].
Bancos de Dados (BD) convencionais representam objetos do mundo real em
um unico momento do tempo, o atual. BD temporais, por sua vez, permitem que se
pesquise por estados anteriores (passado) ou posteriores (futuro), utilizando uma lin-
guagem de consulta temporal. Por estado futuro deve-se entender que a informac ao j a
est a presente no banco de dados mas somente ser a v alida a partir de um instante futuro
[de Castro Georg 2010], como quando um d ebito em uma conta ocorre num nal de sem-
ana, mas s o sera efetivado no primeiro dia util seguinte.
Para tanto, porc oes de c odigo s ao acrescidas ` a arquitetura do SI bem como ao
c odigo de manipulac oes de dados do BD (stored procedures) para gerenciar a temporali-
dade do SI.
Um modelo de dados convencional de BD apresenta apenas duas dimens oes: re-
gistro (tupla) e campo. Neste caso, a mudanca de qualquer valor de inst ancia implica na
perda do valor anterior do campo no qual o dado foi modicado.
Os modelos temporais acrescentam uma terceira dimens ao: o tempo. Esta di-
mens ao atribui uma informac ao temporal a cada valor. Desta forma, a mudanca de qual-
quer valor n ao inutiliza o valor anterior.
Em aplicac oes de BD utiliza-se diversos tipos de dados temporais com diferentes
graus de precis ao. Para tanto, em BD temporais estabelece-se os conceitos de tempo de
validade e tempo de transac ao.
Tempo v alido (ou de validade) e o tempo em que o valor associado a ele e v alido
no mundo real.

E um valor que e explicitamente informado pelo usu ario. Ou seja, o
usu ario tem total controle sobre o tempo de validade de uma informac ao. Isso demanda o
acr escimo de dois campos a cada tabela: TVI e TVF que representam, respectivamente, o
tempo v alido inicial e o tempo v alido nal.
Tempo de transac ao indica o instante em que os valores foram efetivados no BDT.
A informac ao associada ao tempo de transac ao ser a v alida (atual no banco de dados)
enquanto n ao for excluda logicamente. Este tipo de informac ao temporal e inacessvel ao
usu ario, pois e gerada e gerenciada pelo SGBD. Consequentemente, o tempo de transac ao
X Encontro Anual de Computao - EnAComp 2013
2
n ao pode ser posterior ao tempo atual do sistema. Um exemplo de controle de tempo de
transac ao e o uso do tipo de dados TIMESTAMP em logs de operac oes do SGBD.
Tanto em BD de tempo de transac ao quanto em BD de tempo v alido, uma
alterac ao gera exatamente uma nova tupla.
Logo, em virtude de uma quantidade elevada de tuplas em uma mesma tabela e
devido ao fato de que nem todas elas representam dados v alidos no momento presente,
e necess ario ltrar os dados todas as vezes que else s ao disponibilizados para o usu ario.
Assim, e necess ario gerar funcionalidades de software que gerenciem tanto a alterac ao
dos dados no banco de dados de modo a possibilitar a atualizac ao dos dados temporais
quanto a leitura dos dados em virtude de consultas realizadas a estes tipos especiais de
BD.
Em virtude da necessidade de gerar c odigo manualmente e acrescent a-lo na
arquitetura do SI (algo repetitivo e propenso a erros), vislumbrou-se a aplicac ao de
princpios de Desenvolvimento de Software Dirigido por Modelos (DSDM) para a
gerac ao destas porc oes de software a partir de modelos em alto-nvel de abstrac ao, tema
discutido na pr oxima sec ao.
2.2. Desenvolvimento de Software Dirigido por Modelos
Existem modelos especcos para cada fase do processo de desenvolvimento de software.
O modelo de requisitos e usado como entrada para discuss ao e produc ao de modelos de
projeto e arquitetura. Estes modelos s ao levados em considerac ao para a estruturac ao do
c odigo-fonte e o c odigo-fonte e o insumo para especicac ao de casos de teste. O processo
de desenvolvimento de software resume-se a uma s erie de transformac oes entre modelos
conduzidas majoritariamente de modo manual [Graciano Neto et al. 2010].
DSDM quebra esse paradigma por automatizar este processo de transformac ao.
O objetivo deste novo modelo prescritivo de processo de desenvolvimento de software e
elevar o nvel de abstrac ao na produc ao de software trazendo ganhos como gerac ao au-
tom atica de c odigo, produtividade, manutenibilidade, portabilidade, reusabilidade e ras-
treabilidade [Kleppe et al. 2003, Miller and Mukerji 2003, Graciano Neto et al. 2010].
Para tanto e necess ario um software transformador de modelos e uma denic ao de
transformac ao - um conjunto de regras que especicam como um modelo de origem pode
ser transformado em um modelo destino (c odigo-fonte) [Kleppe et al. 2003]. Estas regras
ou denic oes de transformac ao devem ser plug aveis ` a ferramenta de transformac ao.
Para tornar a automac ao uma realidade, os modelos precisam ter um signicado
bem denido [Mellor et al. 2003]. Uma forma de prover tal signicado e criar metamo-
delos, ou seja, modelos que fazem asserc oes sobre o que pode ser expresso em outros
modelos [Seidewitz 2003]. Al em disso, eles proveem sintaxe e sem antica denidas para
os modelos produzidos a partir deles.
A especicac ao MDA (Model-Driven Architect) - especicac ao seminal do OMG
para guiar a produc ao de software segundo DSDM - n ao apresenta propostas arquitetu-
rais para as ferramentas de transformac ao dirigidas por modelos. Logo, cada iniciativa
implementa a transformac ao de uma forma diferente.
A MDA prop oe que um Modelo Independente de Plataforma (Plataform Inde-
X Encontro Anual de Computao - EnAComp 2013
3
pendent Model - PIM) - como um modelo de domnio - seja usado como entrada para
uma ferramenta de transformac ao para produzir automaticamente um Modelo Especco
de Plataforma (Plataform Specic Model - PSM) - como um modelo arquitetural ou de
projeto, ou c odigo-fonte.
A pr oxima sec ao mostra como estas ideias se relacionam para estabelecer uma
arquitetura de uma ferramenta capaz de sintetizar software de SI com suporte ` a tempora-
lidade.
3. Decis oes de Projeto para a Ferramenta de Sntese de SI
Os modelos utilizados para gerar software de SI representam, em geral, os tr es princi-
pais aspectos de um SI: domnio, interac ao e processo de neg ocio [da Costa et al. 2010,
Loja et al. 2010, de Oliveira et al. 2011]. O domnio, entretanto, permite gerar um SI
completo uma vez que, a partir dele, e possvel gerar o BD, os objetos de neg ocio, as
funcionalidades CRUD (Criar, Ler, Atualizar e Deletar) de persist encia, e as telas para
interac ao [Almeida et al. 2009].
Logo, pela suci encia do modelo de domnio como modelo de origem, por de-
cis ao de projeto, optou-se por utilizar apenas este modelo como modelo de entrada para
a criac ao de um SI completo temporal. Da Costa et al. apresentaram um metamodelo
para gerac ao autom atica de Sistemas de Informac ao Empresariais [da Costa et al. 2010].
Este metamodelo foi ampliado e estendido para acrescentar caractersticas de domnio
que s ao necess arias para a gerac ao de um SI completo. Esta extens ao e apresentada em
[Graciano Neto 2012] mas n ao e reproduzida aqui por quest oes de espaco.
Para a sntese de um SI com caractersticas temporais atrav es de um processo de
DSDM, foram tomadas as seguintes decis oes de projeto:
1. O SI temporal (e consequentemente o BD) gerado ser a dotado de tempo de
validade e tempo de transac ao;
2. O padr ao arquitetural adotado para o SI temporal gerado e o de Camadas
[Fowler 2002];
3. Todos os elementos do metamodelo de origem(metadados e respectivos atrib-
utos) ser ao dotados de tempo inicial e nal de validade e transac ao. Isso im-
plica na adic ao de quatro campos ` as tabelas geradas a partir de cada um destes
metadados;
4. O metamodelo de domnio (origem) a partir do qual deriva-se o modelo de
domnio de origem e especicado em XML. [Graciano Neto 2012] mostra uma
vers ao XML completa do metamodelo. Um trecho deste metamodelo instanciado
e mostrado ` a frente;
5. O paradigma de gerac ao do SI temporal e o preenchimento de template de
c odigo [Wittman 2010]. Isto e, a partir da denic ao XML do modelo de entrada,
s ao extradas as informac oes para preencher templates de c odigo que integrar ao
o SI temporal nal. Os scripts de gerac ao do BD temporal, as funcionalida-
des de ger encia de temporalidade, e o CRUD da aplicac ao s ao gerados atrav es
do preenchimento de templates de c odigo. A gerac ao da interface e feita sob
o paradigma IF-ELSE [Ma and Yang 2010, Graciano Neto and de Oliveira 2011],
isto e, para cada tipo de dado de entrada, um tipo especco de elemento gr aco
de interac ao e gerado (r otulo, campo de texto, etc.);
X Encontro Anual de Computao - EnAComp 2013
4
6. A temporalidade e inserida na ferramenta de transformac ao, n ao no meta-
modelo de origem. Temporalidade em SI n ao e um assunto de domnio de grande
parte dos engenheiros de software. Al em disso, seriam necess arios trechos de
c odigo referentes a temporalidade tanto no metamodelo quanto na ferramenta
de transformac ao de modelos. Para evitar problemas de manutenc ao e evoluc ao
da ferramenta de transformac ao de modelos, optou-se por manter as quest oes de
gerac ao de temporalidade apenas na ferramenta de transformac ao;
7. A gerac ao de c odigo dirigida por modelos ser a adotada em grande parte
do processo. Na gerac ao das funcionalidades CRUD da camada de aplicac ao, a
gerac ao de c odigo ser a realizada de modo convencional por ser uma funcional-
idade padr ao para qualquer tipo de SI e n ao exige informac oes especcas do
modelo de origem;
8. O padr ao arquitetural para tr ansito de dados dentro da arquitetura do SI
gerado e o padr ao de Transfer Object [Fowler 2002];
9. A gerac ao de BD temporais inicialmente ser a voltada ao SGBD Postgres;
10. Stored procedures ser ao geradas para realizar o CRUD temporal dentro do
BD. Isto e, as atividades b asicas de um banco de dados como Criar, Ler, Atualizar
e Deletar valores ser ao invocados pela camada de Persist encia uma vez que s ao
necess arias manipulac oes nas tuplas de cada tabela;
As decis oes de projeto 2, 8 e 9 s ao herdadas de uma vers ao anterior de um frame-
work dirigido por modelos para gerac ao de SI [Almeida et al. 2009] sobre o qual esta
ferramenta se baseia.
Para ilustrar o processo de gerac ao do SI temporal, o C odigo 1 traz um trecho de
entrada do metamodelo em XML com a especicac ao de uma Entidade Forte chamada
Pessoa Fsica que possui dois atributos alfanum ericos: cpf e nome. Dentro da tag en-
tidade consta o nome da entidade em quest ao, um valor booleano que representa se a
entidade e forte ou fraca, e o mnem onico desta entidade, que trata-se de um identicador
alfanum erico unico que e utilizado para dar nome ` a tabela gerada no banco de dados.
Esta entidade e um metadado de neg ocio. Ela possui dois atributos. Cada atri-
buto possui um mnem onico (que dar a nome ao campo da tabela gerada), cardinalidades
mnima e m axima (referentes ` a quantidade de valores que aquele campo pode receber),
um valor booleano que diz se aquele campo ser a parte de chave, e outro que diz se os
valores daquele campo devem ser unicos. O atributo CPF possui um tamanho de 11 ca-
racteres e n ao possui valor default. O campo nome n ao e unico e nem parte de chave,
possui um tamanho de 50 caracteres e n ao possui valor default.
Code 1. Trecho do modelo de entrada em XML.
1 <?xml ve r s i on="1.0" encodi ng="iso-8859-1"?>
2 <a p l i c a c a o SI>
3 <met adadoNegoci o>
4 <e n t i d a d e>
5 <nomeEnt i dade>Pes s oa F s i c a</ nomeEnt i dade>
6 <e n t i d a d e Fo r t e>t r u e</ e n t i d a d e Fo r t e>
7 <mnemonico>Pe s Fi s</ mnemonico>
8 </ e n t i d a d e>
9 <a t r i b u t o s>
10 <a t r i b u t o>
X Encontro Anual de Computao - EnAComp 2013
5
11 <mnemonico>cpf</ mnemonico>
12 <c a r di na l i da de Ma xi ma>1</ c a r di na l i da de Ma xi ma>
13 <c a r di na l i da de Mi ni ma>1</ c a r di na l i da de Mi ni ma>
14 <ehPar t eChave>t r u e</ ehPar t eChave>
15 <ehUni co>t r u e</ ehUni co> <! TRUE ou FALSE >
16 <! ALFANUMERICO >
17 <t amanhoAl f anumer i co>11</ t amanhoAl f anumer i co>
18 <v a l o r De f a u l t Al f a n u me r i c o></ v a l o r De f a u l t Al f a n u me r i c o>
19 </ a t r i b u t o>
20 <a t r i b u t o>
21 <a t r i b u t o>
22 <mnemonico>nome</ mnemonico>
23 <c a r di na l i da de Ma xi ma>1</ c a r di na l i da de Ma xi ma>
24 <c a r di na l i da de Mi ni ma>1</ c a r di na l i da de Mi ni ma>
25 <ehPar t eChave>f a l s e</ ehPar t eChave>
26 <ehUni co>f a l s e</ ehUni co> <! TRUE ou FALSE >
27 <! ALFANUMERICO >
28 <t amanhoAl f anumer i co>50</ t amanhoAl f anumer i co>
29 <v a l o r De f a u l t Al f a n u me r i c o></ v a l o r De f a u l t Al f a n u me r i c o>
30 </ a t r i b u t o>
31 </ a t r i b u t o s>
32 </ met adadoNegoci o>
33 </ a p l i c a c a o SI>
A partir destes dados e possvel gerar o c odigo SQL (C odigo 2) referente ` a criac ao
do banco de dados com temporalidade, com a tabela de Pessoa Fsica e os respectivos
atributos. Asntese da camada de ger encia de temporalidade (que estaria acima da camada
de persist encia) bem como da aplicac ao, neg ocio e interac ao ser ao ocultadas por quest oes
de espaco e devem ser apresentadas em um trabalho posterior.
Code 2. Trecho de c odigo gerado a partir do trecho de metamodelo apresentado.
1 CREATE DATABASE Apl i c a c a o ;
2 CREATE TABLE Pe s Fi s (
3 CPF varchar ( 11) ,
4 Nome varchar ( 50) ,
5 Dt I ni Va l TIMESTAMP NOT NULL,
6 Dt Fi mVal date ,
7 Dt I ni Tr a n TIMESTAMP NOT NULL,
8 Dt Fi mTr an TIMESTAMP,
9 PRIMARY KEY ( CPF , Dt I ni Va l , Dt I ni Tr a n )
10 ) ;
Como pode-se notar, a tabela agora e temporal. Logo, qualquer alterac ao em
qualquer registro gera uma nova linha na tabela com os dados atualizados. As datas
de incio de validade e transac ao precisam fazer parte da chave prim aria da tabela para
permitir que uma pessoa inscrita sob um mesmo CPF possua diferentes registros nesta
tabela, cada um correspondente a uma alterac ao de validade de um dado ou transac ao
realizada sobre aquele dado.
4. Conclus ao
Este artigo apresentou decis oes de projeto que servem de insumo para a concepc ao de
uma soluc ao dirigida por modelos para a sntese autom atica de SI temporais.
X Encontro Anual de Computao - EnAComp 2013
6
Como trabalhos futuros destacam-se a possibilidade de expandir a viabilidade
desta abordagem para outros SGBD que n ao apenas o SGBD Postgres; a gerac ao
de outras funcionalidades que n ao apenas as funcionalidades CRUD uma vez que SI
modernos demandam outras funcionalidades como a emiss ao de relat orios, dentre out-
ras; aumentar a exibilidade de apar encia nas telas geradas, uma vez que a utilizac ao
do paradigma IF-ELSE engessa as telas geradas nesta metodologia [da Costa 2011,
Da Silva and de Oliveira 2009, da Costa and de Oliveira 2010]; tornar o SI gerado orien-
tado a processos.
Al em disso, pretende-se conduzir um estudo sobre o impacto da temporalidade
no transformador de modelos. Ou seja, a temporalidade deveria ser modelada como um
interesse transversal ` a especicac ao das regras de transformac ao, ou deveria ser modular?
Ela deve ser especicada apenas no transformador ou o acr escimo ao metamodelo de
origem traria algum benefcio/malefcio, como replicac ao, problemas de manutenc ao ou
nenhum problema desta natureza?
Cabe ainda investigar, atrav es de testes, a eci encia desta abordagem, isto e, qu ao
grande e o ganho em tempo/recursos humanos ao utilizar esta abordagem ao inv es das
abordagens tradicionais de desenvolvimento de software.
Como contribuic ao direta deste trabalho destacam-se as decis oes de projeto para
a concepc ao de uma ferramenta dirigida por modelos que permite a sntese de um SI
completo e funcional com caractersticas temporais, evidenciando as caractersticas ar-
quiteturais da soluc ao gerada pela ferramenta e um modo de realizar tal gerac ao.
A implementac ao destas ideias j a est a em andamento e j a apresenta resultados
promissores. Isto evidencia a import ancia e ec acia da pesquisa e resultados obtidos at e o
momento, al em de ampliar o acervo de projetos em que o Desenvolvimento de Software
Dirigido por Modelos pode ser aplicado com sucesso.
References
Almeida, A. C., Boff, G., and Oliveira, J. L. (2009). A framework for modeling, building
and maintaining enterprise information systems software. In Anais do XXIII Simp osio
Brasileiro de Engenharia de Software, pages 115125. Fortaleza, Brasil.
da Costa, S. L. (2011). Uma abordagem baseada em modelos para construc ao autom atica
de interfaces de usu ario para sistemas de informac ao. Masters thesis, Instituto de
Inform atica - Universidade Federal de Goi as.
da Costa, S. L. and de Oliveira, J. L. (2010). Construc ao e manutenc ao autom atica de
interfaces com o usu ario dirigidas por modelos para sistemas de informac ao. In Anais
do III Workshop de Teses e Dissertac oes em Sistemas de Informac ao do VI Simp osio
Brasileiro de Sistemas de Informac ao.
da Costa, S. L., Graciano Neto, V. V., Loja, L. F. B., and de Oliveira, J. L. (2010). A
metamodel for automatic generation of enterprise information systems. In Anais do I
Congresso Brasileiro de Software: Teoria e Pr atica - I Workshop Brasileiro de Desen-
volvimento de Software Dirigido por Modelos, volume 8, pages 4552. UFBA. Sal-
vador, BA, Brasil.
X Encontro Anual de Computao - EnAComp 2013
7
Da Silva, W. C. and de Oliveira, J. L. (2009). Ger encia de interface homem-computador
para sistemas de informac ao empresariais: uma abordagem baseada em modelos. iSys
- Revista Brasileira de Sistemas de Informac ao, Vol. 2, 2009.
de Castro Georg, R. (2010). Bancos de dados temporais: Estudo sistematizado e aplica-
bilidade em sistemas gerenciadores de bancos de dados atuais. Trabalho de Conclus ao
de Curso - Instituto de Inform atica - UFG.
de Oliveira, J. L., Loja, L. F. B., da Costa, S. L., and Graciano Neto, V. V. (2011). Um
componente para ger encia de processos de neg ocio em sistemas de informac ao. In
Anais do VII Simp osio Brasileiro de Sistemas de Informac ao, pages 250 261.
Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA.
Graciano Neto, V. V. (2012). Evoluc ao de uma arquitetura para frameworks de aplicac ao
de sistemas de informac ao - uma abordagem de desenvolvimento dirigido por modelos.
Masters thesis, Instituto de Inform atica - Universidade Federal de Goi as.
Graciano Neto, V. V., da Costa, S. L., and Oliveira, J. L. (2010). Lic oes Aprendidas sobre
Desenvolvimento Dirigido por Modelos a partir da refatorac ao de uma ferramenta. In
Anais do Encontro Anual de Computac ao (ENACOMP), pages 6875. Catal ao, Brasil.
Graciano Neto, V. V. and de Oliveira, J. L. (2011). An early aspect for model-driven
transformers engineering. In Proceedings of the 2011 international workshop on Early
aspects, EA 11, pages 711, Porto de Galinhas, PE, Brasil. ACM.
Kleppe, A., Warmer, J., and Bast, W. (2003). MDA Explained: The Model Driven Archi-
tecture - Practice and Promise.
Loja, L. F. B., Graciano Neto, V. V., da Costa, S. L., and de Oliveira, J. L. (2010). A busi-
ness process metamodel for enterprise information systems automatic generation. In
Anais do I Congresso Brasileiro de Software: Teoria e Pr atica - I Workshop Brasileiro
de Desenvolvimento de Software Dirigido por Modelos, volume 8, pages 3744, Sal-
vador, BA, Brasil. UFBA.
Ma, K. and Yang, B. (2010). A Hybrid Model Transformation Approach Based on J2EE
Platform. volume 3, pages 161164, Los Alamitos, CA, USA. IEEE Computer Society.
Mellor, S. J., Clark, A. N., and Futagami, T. (2003). Guest editors introduction: Model-
driven development. IEEE Software, 20(5):1418.
Miller, J. and Mukerji, J. (2003). MDA Guide Version 1.0.1. Technical report, Object
Management Group (OMG).
Seidewitz, E. (2003). What models mean. IEEE Software, 20(5):2632.
Stahl, T., Voelter, M., and Czarnecki, K. (2006). Model-Driven Software Development:
Technology, Engineering, Management. John Wiley & Sons.
Wittman, P. (2010). MDA using AndroMDA.
http://www.wittmannclan.de/ptr/cs/mdaandromda.pdf.
X Encontro Anual de Computao - EnAComp 2013
8

Avaliao de Desempenho de Reconhecimento Automtico
de Faces Utilizando as Tcnicas de Anlise de Componentes
Principais e de Fisherfaces

Rosana de Paula Lucas, Flvio Henrique Teles Vieira, Webert Brito dos Passos,
Douglas Leo Netzlaff
Escola de Engenharia Eltrica, Mecnica e de Computao Universidade Federal de
Gois (UFG)
Av. Universitria, n. 1488 - Quadra 86 - Bloco A - 3 piso 74605-010 - Setor Leste
Universitrio - Goinia GO Brazil
rosana.rpl@hotmail.com, flavio@eeec.ufg.br, webertbrito@gmail.com,
douglas_ntz@hotmail.com
Abstract. In this paper, we evaluate the face recognition performance of two
different techniques based on PCA (Principal Components Analysis) and
Fisherfaces. These algorithms are applied to two image banks well-known in
the literature, presenting different characteristics. From the comparison of the
simulation results, we intend to point out which algorithm provides best face
recognition performance for the two image banks under different conditions,
for example, by adding noise to the images.
Resumo. Neste trabalho, avaliamos o desempenho de reconhecimento de faces
em imagens de dois algoritmos diferentes baseados nas tcnicas de PCA
(Principal Components Analysis) e de Fisherfaces. Estes algoritmos so
aplicados a dois bancos de imagens conhecidos na literatura que apresentam
caractersticas diferentes. A partir da comparao dos resultados de
simulao, buscamos apontar qual o melhor algoritmo em termos de
desempenho de reconhecimento de faces para as imagens utilizadas sob
diferentes condies, como por exemplo, adicionando rudo s imagens.
1. Introduo
A face um elemento biomtrico individualizado e de fcil obteno, o que torna a
identificao facial uma rea de constantes pesquisas.
Os computadores sofrem uma srie de limitaes e dificuldades para realizar
esta tarefa. Para os seres humanos, a identificao e o reconhecimento facial so
simples, embora os seus mecanismos ainda no tenham sido totalmente explicados,
sendo fonte de grande interesse para os pesquisadores da rea de reconhecimento de
padres. Diversos estudos vm sendo realizados com potencial no s para explicar os
mecanismos cerebrais de reconhecimento de faces como, tambm, para auxiliar no
reconhecimento por mquinas/computadores, muito embora tais pesquisas tenham
pouca sinergia [Chellappa 1995].
X Encontro Anual de Computao - EnAComp 2013
9

Houve grande crescimento de pesquisas a partir da dcada de 90, buscando
solucionar problemas como encontrar e isolar uma face em uma imagem, e extrair
caractersticas especficas, como olhos e boca. Vrias tcnicas foram desenvolvidas e
aplicadas, como a Anlise de Componentes Principais (PCA Principal Components
Analysis), baseada na Transformada de Karhunen-Leve (KLT), o Singular Value
Decomposition (SVD), classificadores baseados em redes neurais, a Anlise de
Discriminantes Lineares (LDA Linear Discriminant Analysis), dentre outros
[Shakhnarovich 2004].
Neste artigo, avaliamos o desempenho de reconhecimento de faces em imagens
dos algoritmos PCA e de Fisherfaces sob diferentes fatores como nmero de testes,
presena de rudo e variao do nmero de imagens disponveis por pessoa, etc.
2. Anlise de Componentes Principais
A Anlise de Componentes Principais (PCA) foi criada em 1901, por Karl Pearson,
matemtico britnico, que buscava representar de forma mais simples dados de
dimenso elevada. Em 1933, Harold Hotteling usou a tcnica de Pearson em matrizes,
criando o termo Componentes Principais. Em 1987, L. Sirovitch e M. Kirby, no
trabalho Low-Dimensional Procedure for the Characterization of Human Faces
[Sirovitch 1987], propuseram o uso do PCA com o objetivo de reduzir as dimenses de
imagens, perdendo o mnimo possvel de informaes. Devido grande redundncia
presente nas imagens de face, a tcnica teve sucesso nesta rea. Aps a publicao do
trabalho de Sirovitch e Kirby, uma srie de outros trabalhos foram desenvolvidos, com
destaque para Mathew Turk e Alex Pentland, em 1991 [Turk 1991].
Entretanto, h limitaes para o uso do PCA: necessrio haver linearidade no
conjunto de dados a serem manipulados, a mdia e a varincia devem ser estatsticas
suficientes e, como as maiores varincias so destacadas, presume-se que elas
representam relaes significativas, enquanto varincias menores so menos relevantes.
Apresentamos a seguir os passos do Algoritmo PCA implementado neste
trabalho:
Passo 1 Subtrao pela mdia e clculo da matriz de covarincias
Primeiramente, deve-se subtrair todos os elementos da imagem pela mdia da
sua dimenso correspondente. Deste modo, a mdia deste novo conjunto de dados ser
igual a zero. Calcula-se, ento, a matriz de covarincias. Sendo um conjunto de dados de
duas dimenses, a matriz ter a seguinte forma:
cov( , ) cov( , )
cov( , ) cov( , )
x x x y
C
y x y y

=


(1)
Passo 2 Clculo dos autovetores e autovalores [Turk 1991]
Calcula-se os autovetores e autovalores da matriz de covarincia (equao (1)).
Neste caso, teremos 2 autovetores. Por terem aparncia semelhante a faces, os
autovetores so denominados autofaces ou eigenfaces conforme mostra a Figura 1.

X Encontro Anual de Computao - EnAComp 2013
10


Figura 1 Autofaces [Kruger 2004]

Passo 3 Ordenao dos componentes e reduo de dimensionalidade
Uma vez calculados os autovetores, pode-se orden-los em ordem decrescente,
de acordo com os autovalores e, consequentemente, de importncia. Com os autovetores
ordenados de acordo com sua importncia, podem ser ignorados os autovetores com
valores mais baixos. Haver perda de informao, mas se os autovalores forem
pequenos, essa perda ser aceitvel e, em muitos casos, desejada, visto que muitas vezes
estes componentes estaro associados a rudo.
Passo 4 Criao do Vetor de Caractersticas e Representao dos Dados
Escolhidos os autovetores que permanecero no conjunto, deve-se organiz-los
em colunas em uma matriz, tal que:
1 2
( ... )
n
VetorCaract autovet autovet autovet = (2)
Agora, deve-se obter o vetor de caractersticas transposto, de tal forma que cada
autovetor ocupar uma linha da matriz. O mesmo deve ser feito com a matriz dos dados,
subtrados pelas mdias. Assim, cada linha da matriz representar uma dimenso.
Fazendo a multiplicao, temos:
DadosFinais VetorCaractLinha DadosAjustados = (3)
sendo Dadosajustados os dados iniciais subtrados da mdia, com cada linha
representando uma dimenso.
Passo 5 Recuperao dos Dados
A recuperao total dos dados s ser possvel caso nenhum autovetor tenha sido
descartado. Quanto maior o nmero de autovetores ignorados, maior ser a diferena
entre os dados originais e os recuperados. Reescrevendo a frmula acima, temos que:
1
DadosAjustados VetorCaractLinha DadosFinais

= (4)
Agora, basta somar as mdias que foram inicialmente subtradas para recuperar
os dados:
1
Re ( ) Dados cuperados VetorCaractLinha DadosFinais mdia

= + (5)
X Encontro Anual de Computao - EnAComp 2013
11

Mesmo que autovetores tenham sido descartados, a frmula acima pode ser
usada. Naturalmente, caso todos os autovetores tenham sido mantidos, essa matriz
apresentar os dados originais, e caso descartes tenham sido feitos, haver perda de
informao.
3. Fisherfaces
Duas das maiores dificuldades no processo de identificao facial esto relacionadas
variao de iluminao e de expresses faciais. O PCA retm estas informaes, que so
indesejadas e podem aumentar as taxas de erro, ao extrair as caractersticas com maior
varincia. Dessa forma, os componentes principais obtidos atravs do PCA podem no
ser os mais adequados para discriminao.
Ronald A. Fisher, em 1936, props um critrio estatstico que visava maximizar
a separao entre as classes, e ao mesmo tempo minimizar o espalhamento dentro delas.
Esta tcnica foi denominada Anlise de Discriminantes de Fisher Lineares (FLD
Fishers Linear Discriminant), ou LDA (Linear Discriminant Analysis) e uma tcnica
supervisionada, visto que necessita-se de ao externa para organizar as classes
[Sharmaa 2012].
Em [Belhumeur, 1997], os autores desenvolveram um algoritmo de
reconhecimento facial baseado no FLD, com boas taxas de acerto mesmo em situaes
com variao de iluminao e de expresses faciais. Como as classes de faces esto
separadas e nomeadas, pode-se usar estas informaes para maximizar a relao entre o
determinante da matriz de espalhamento inter-classes com o determinante da matriz de
espalhamento intra-classes:
Critrio de Fisher
det
det
b
W
S
S
= (6)
A matriz de espalhamento inter-classes
b
S e a matriz intra-classe
w
S so
definidas por:

1
( )( )
c
T
b i i i
i
S N
=
=

(7)
1
( )( )
k i
c
T
W k i k i
i x X
S x x
=
=

(8)
sendo
i
a face mdia de uma classe
i
X e
i
N o nmero de imagens em uma classe.
Pode-se encontrar uma base
opt
W que maximize o critrio de Fisher, da seguinte forma
[Belhumeur, 1997]:
1 2
arg max [ ]
T
b
opt W M
T
W
W S W
W w w w
W S W
= = K (9)
em que
i
o conjunto de autovetores generalizados de
b
S e
w
S correspondentes aos
maiores autovalores.
X Encontro Anual de Computao - EnAComp 2013
12

Neste trabalho, aplicamos o algoritmo proposto em [Belhumeur, 1997],
conhecido como tcnica de Fisherfaces em uma base diferente de imagens considerando
tambm diferentes fatores como adio de rudo e comparando com os resultados do
algoritmo PCA.
4. Simulaes e Resultados
Buscando uma anlise mais ampla, foram utilizados dois bancos de faces com
caractersticas diferentes: ORL face database [Cambridge 2012] e Yale Face Database
[Yale 2012]. O primeiro banco, ORL face database, composto por imagens que foram
geradas entre abril de 1992 e abril de 1994 no Olivetti Research Laboratory em
Cambridge, Inglaterra. So 40 indivduos, cada um com 10 imagens distintas,
totalizando 400 faces. As imagens foram feitas variando a iluminao, expresses
faciais (olhos abertos ou fechados, sorrindo ou no sorrindo), e detalhes faciais
(presena ou ausncia de culos). Para alguns dos indivduos as fotos foram feitas com
certo intervalo de tempo. Todas as fotos foram feitas sob fundo escuro e homogneo.
Todas possuem dimenso 112x92 e so em escala de cinza.
O segundo banco de imagens, Yale Face Database, formado por imagens
geradas pela Universidade Yale, nos Estados Unidos. Este banco composto por 165
faces de 15 pessoas. So 11 faces por indivduo, uma para cada expresso facial, com as
seguintes configuraes: luz central, feliz, luz esquerda, com/sem culos, normal, luz
direita, triste, sonolento, surpreso e piscando. A Tabela 1 apresenta os nmeros de
imagens de treinamento e testes utilizadas nas nossas simulaes.
Tabela 1 - Relao da quantidade de faces distribudas por utilidade
Faces
Origem Indivduos
Treinamento Teste
Individual Total Individual Total
Yale 15 10 150 1 15
Cambridge 40 9 360 1 40
Sob condies normais, como mostra a Figura 2, o PCA apresenta uma melhor
resposta em termos de taxa de acerto de reconhecimento de face na fase de teste para as
imagens de Cambridge, mesmo variando o nmero de simulaes (testes). Contudo,
com a insero de rudo, o PCA perde sua eficcia, enquanto a tcnica de Fisherface
mantm taxas de acerto bem mais satisfatrias, como mostra a Figura 3.
X Encontro Anual de Computao - EnAComp 2013
13


Figura 1 - PCA x Fisherfaces: taxa de acerto versus nmero de simulaes,
Cambridge

Figura 3 - PCA x Fisherfaces: Adio de rudo gaussiano, Cambridge
Para as faces de Yale percebe-se que a tcnica de Fisherfaces apresenta
desempenho superior em termos de taxa de acerto de reconhecimento de faces, como
mostra a Figura 4.
X Encontro Anual de Computao - EnAComp 2013
14


Figura 4 - PCA x Fisherfaces: taxa de acerto versus nmero de simulaes, Yale

Figura 5 - PCA x Fisherfaces: Adio de rudo gaussiano, Yale
Novamente, observa-se uma maior taxa de acerto de reconhecimento de faces
para o algoritmo de Fisherfaces quando se aumenta a varincia do rudo gaussiano
branco nas imagens. Notou-se tambm que medida que se aumenta o nmero de
imagens por indivduo, o algoritmo de Fisherfaces obtm melhor resultado do que o
algoritmo PCA.
5. Concluses
Neste trabalho buscou-se simular e analisar dois dos algoritmos utilizados para
identificao de faces, a Anlise de Componentes Principais e a Anlise com
Fisherfaces.
O mtodo de Fisherfaces, que baseado no FLD, utiliza-se do PCA para
possibilitar a extrao de caractersticas mais discriminantes. As imagens das faces
X Encontro Anual de Computao - EnAComp 2013
15

devem ser agrupadas em classes, cada uma representando uma pessoa. Os dados so
organizados de tal forma a maximizar a relao entre o espalhamento entre classes e o
espalhamento intra-classes, de forma a facilitar a identificao. Os resultados obtidos
nos testes mostram que, de fato, a tcnica de Fisherfaces obtm melhores taxas de
acerto em quase todas as simulaes realizadas quando h presena de rudo gaussiano
ou variao na iluminao.
Observou-se tambm variao considervel nos resultados das duas tcnicas de
acordo com o banco de faces utilizado. Em todos os testes realizados, o banco de Yale
possibilitou maiores taxas de acerto. Comparando-se os bancos, Yale possui apenas 15
indviduos, com 11 imagens para cada um, enquanto Cambridge possui 40, com 10
imagens para cada. Estes aspectos j explicam boa parte das diferenas nos resultados,
visto que Yale possui mais informaes para discriminar uma quantidade
significativamente menor de indivduos. Deve-se atentar, tambm, para a qualidade das
imagens de cada banco. A resoluo das imagens do banco de Yale 243x320, superior
a Cambridge, com resoluo de 112 x 92. Yale tambm privilegiou fotos com variao
de expresses faciais, resultando em maiores informaes acerca de um indivduo. A
unio de todos estes fatores pode explicar as grandes diferenas observadas nas taxas de
acerto obtidas em cada banco. Evidencia-se, ento, que no desenvolvimento de um
sistema de identificao facial deve-se empregar ateno especial na construo do
banco de faces, buscando sempre qualidade e o maior nmero possvel de imagens e
expresses faciais por pessoa.
Referncias
Cambridge University (2012): Olivetti Research Laboratory. Disponvel em:
http://www.cl.cam.ac.uk/Research/DTG/attarchive:pub/data/att_faces.zip. Acessado
em 10/11/2012
Chellappa, R. et al. (1995). Human and Machine Recognition of Faces: A Survey, Proc.
IEEE, vol. 83, no. 5, p. 705-740.
Kruger, J. et al. (2004). Obtaining the Eigenface Basis. Disponvel em:
http://cnx.org/content/m12531/1.3/ . Acesso em 20 out. 2012.
Sharmaa, A., Paliwala, K. (2012). A two-stage linear discriminant analysis for face-
recognition. Pattern Recognition Letters. Vol. 33, Issue 9, 1 July 2012, p. 11571162
Shakhnarovich, G. et al. (2004). Face Recognition in Subspaces. Handbook of Face
Recognition, Eds. Stan Z. Li and Anil K. Jain, Springer-Verlag, Dezembro. 2004
Sirovitch, L.; Kirby (1987), M. Low-dimensional procedure for the characterization of
human faces. Journal of Optical Society of America, v. 4, p. 519-524.
Turk, M.; Pentland, A (1991). Eigenfaces for Recognition. J. Cognitive Neuroscience,
vol. 3, no. 1, 1991.
Yale Univeristy (2012): Department of Computer Science. Center for Computational
Vision and Control. Disponivel em: http://cvc.yale.edu/. Acessado em 10/11/2012


X Encontro Anual de Computao - EnAComp 2013
16
An alise de Seguranca da Camada de Noticac ao do
SparkleShare
Ncolas Kaqui, Marcelo Akira, Bruno Silvestre
1
Instituto de Inform atica UFG
{nicolaskaqui, marceloakira, brunoos}@inf.ufg.br
Abstract. In this work, we analyzed SparkleShare project about some security
questions. This project is an alternative for Dropbox or UbuntuOne. We identi-
ed some security threats in one component of SparkleShare and we proposed a
solution to mitigate the problem.
Resumo. Neste trabalho, analisamos quesitos de seguranca do projeto Spar-
kleShare, que e uma soluc ao alternativa ao Dropbox ou UbuntuOne para
sincronizac ao automatizada de arquivos. Identicamos algumas falhas de
seguranca em um dos componentes do SparkleShare e propomos uma soluc ao
para mitigar o problema.
1. Introduc ao
O grande desenvolvimento da sociedade fez com que os servicos b asicos e essenciais se-
jam quase todos entregues de uma forma completamente transparente. As infraestruturas
existentes permitem entregar os servicos em qualquer lugar e a qualquer hora, de modo
que possamos acender a luz, abrir a torneira ou fazer uma ligac ao para qualquer lugar.
Esse mesmo conceito tem sido aplicado na inform atica e uma mudanca consistente tem
sido feita com a disseminac ao de um novo paradigma, a computac ao em nuvem.
A computac ao em nuvem [Taurion 2009, Armbrust et al. 2010] e um paradigma
que muda o modelo de computac ao tradicional, onde todo o processamento de dados e
o armazenamento de arquivos e feito em um computador local, para um modelo onde
essas tarefas s ao realizadas por um ou v arios computadores na Internet. Esse paradigma
pretende ser global e prover servicos para todos, desde o usu ario nal que hospeda seus
documentos pessoais na Internet, at e empresas que terceirizam toda a parte de TI.
Com a computac ao em nuvem, os usu arios mover ao seus dados e aplicac oes para
a nuvem, podendo acess a-los de forma simples e de qualquer local [Drago et al. 2012].
Sendo uma ferramenta de trabalho importante em ambientes onde ocorre uma troca de
arquivos entre v arios usu arios e para usu arios que necessitam acessar seus arquivos de
diferentes lugares, como por exemplo, nas empresas, nos escrit orios e nas escolas. Os sis-
temas que permitem a utilizac ao desses documentos em diversos lugares geralmente em-
pregam mecanismos de sincronizac ao para manter a consist encia [Xianqiang et al. 2011].
O SparkleShare e um sistema que permite ao usu ario manter seus arquivos sin-
cronizados entre v arias m aquinas. Diferentemente do Dropbox [Dropbox Inc. 2012,
Drago et al. 2012] ou UbuntuOne [Canonical Ltd. 2012], cujos servicos s ao oferecidos
por empresas, o SparkleShare e uma soluc ao independente e qualquer instituic ao ou
usu ario nal podem utiliz a-lo para montar seus servicos de sincronizac ao de arquivos.
X Encontro Anual de Computao - EnAComp 2013
17
Em nossos estudos sobre o funcionamento do SparkleShare (vers ao 0.4.0), iden-
ticamos problemas de seguranca em seu mecanismo de noticac ao de sincronizac ao.
Neste trabalho, apresentamos a an alise feita e como foi realizada a correc ao do problema.
O trabalho est a estruturado da seguinte forma: na sec ao 2 apresentamos a arquite-
tura interna do SparkleShare, na sec ao 3 apresentamos o problema de seguranca identi-
cado e a soluc ao adotada, e na sec ao 4 apresentamos a conclus ao do trabalho.
2. SparkleShare
O SparkleShare surgiu como um projeto que permitisse que usu arios e empresas
pudessem criar o seu pr oprio reposit orio de sincronizac ao automatizada de arqui-
vos [Bons 2010].
A possibilidade de trabalhar com mais de um reposit orio de arquivos e cada repo-
sit orio estar hospedado em um servidor diferente fez com que o SparkleShare fosse bem
visto por empresas e usu arios que j a possuem um ou mais reposit orios e necessitam do
sistemas para sincronizar e compartilhar os arquivos [Bons 2012].
O cliente SparkleShare (instalado na m aquina do usu ario) e composto pelas ca-
madas de sincronizac ao e noticac ao. A camada de sincronizac ao utiliza um reposit orio
Git para armazenar e manter o hist orico dos arquivos, e a camada de noticac ao utiliza
um servico IRC para troca de mensagens. A Figura 1 apresenta a arquitetura em mais
detalhes.
Figura 1. Apresentac ao das camadas na arquitetura do SparkleShare
A seguir, faremos uma an alise das camadas de sincronizac ao e noticac ao. Apre-
sentaremos o funcionamento e a estrutura de cada uma delas.
2.1. Camada de Sincronizac ao
A camada de sincronizac ao e respons avel pelo armazenamento, versionamento e
sincronizac ao dos arquivos no reposit orio central (servidor). O funcionamento dessa ca-
mada ocorre em dois momentos: quando o reposit orio local e modicado ou quando
recebe uma noticac ao remota de alterac ao do reposit orio.
Quando o reposit orio local sofre alguma modicac ao (geralmente, o usu ario mo-
dicando seus arquivos), o mecanismo de sincronizac ao registra as modicac oes no ser-
vidor e notica a mudanca pela camada de noticac ao. Quando o cliente SparkleShare
recebe uma noticac ao de atualizac ao, a camada de sincronizac ao e ativada para que se
inicie a sincronizac ao dos arquivos com o reposit orio central.
X Encontro Anual de Computao - EnAComp 2013
18
A camada de sincronizac ao e implementada utilizando o sistema de controle
de vers ao Git [Loeliger 2009]. Esse sistema foi idealizado e desenvolvido por Linus
Torvalds, tendo como principal caractersticas a licenca livre e o suporte ao desenvol-
vimento distribudo.
Um conceito importante (e usado na camada de noticac ao do SparkleShare) e
o identicador de commit usado pelo Git. Cada vers ao tem um identicador produzido
pela aplicac ao do algoritmo SHA1 ao conte udo modicado, produzindo assim um valor
de hash, por exemplo:
68bd599b85538ae08c7729ce8d5127076f567b29
O objetivo e que essas refer encias sejam unicas no reposit orio e possam ser usadas como
refer encia para o commit [Swicegood 2008].
O Git oferece suporte de acesso ao reposit orio por HTTP, SSH ou protocolo
pr oprio (Git). A vers ao analisada do SparkleShare utiliza o Git com a comunicac ao
sendo feita pelo SSH, garantindo autenticac ao do usu ario no servidor e canal seguro de
comunicac ao.
2.2. Camada de Noticac ao
A camada de noticac ao e utilizada como meio de comunicac ao entre os clientes Spar-
kleShare.

E por essa camada que um cliente avisa aos demais clientes do usu ario que e
necess ario atualizar os arquivos pois foi feita uma modicac ao no reposit orio.
A camada e implementada utilizando o protocolo IRC [Charalabidis 1999]. A
escolha do protocolo IRC ocorreu pela facilidade de congurac ao e o baixo overhead.
Por ser um protocolo de comunicac ao simples e focado em troca de mensagens simples
(apenas texto), o IRC, na epoca em que foi desenvolvido, se destacou muito pela agi-
lidade de comunicac ao entre os clientes, mesmo sobre uma conex ao considerada hoje
lenta [Toyer and Smith 1997].
Dessa forma, o SparkleShare utiliza um servidor IRC como sendo um servico
Publish-Subscribe. Os clientes de um usu ario se formam uma rede ponto-a-ponto e se
conectam ao mesmo servidor IRC para acessar um canal em comum e trocar informac oes.
Assim, o objetivo e que a troca de noticac oes s o ocorra entre eles.
A denic ao do canal de acesso comum e dado pelo primeiro identicador de com-
mit do reposit orio Git ao qual o cliente faz refer encia. Podemos ter ent ao canais como a
hash mostrada na sec ao 2.1. O uso desse identicador minimiza a chance de colis ao no
nome dos canais.
Com o objetivo de que fosse f acil para os usu arios, em termos de infraestrutura,
utilizarem o SparkleShare, o projeto disponibilizou um servidor IRC p ublico de livre
acesso, que e usado por padr ao. Caso o usu ario desejar mudar, basta alterar o arquivo de
congurac ao do SparkleShare.
3. Seguranca no SparkleShare
Ap os a an alise mais interna das camadas do SparkleShare, pudemos identicar problemas
de seguranca quanto ao protocolo utilizado na camada de noticac ao (IRC).
X Encontro Anual de Computao - EnAComp 2013
19
Por ser de simples implementac ao, o protocolo IRC n ao possui uma boa ca-
mada de seguranca, podendo ser utilizada como meio de possveis ataques. Por esse
motivo, e muito comum ver o protocolo IRC bloqueado por rewall em muitos ambien-
tes [Toyer and Smith 1997].
Na construc ao da camada de noticac ao do SparkleShare, algumas medidas de
seguranca do IRC n ao foram utilizadas, sujeitando o usu ario do sistema a alguns possveis
ataques, por exemplo, o ataque de footprinting [Assunc ao 2010]. Nesse tipo de ataque s ao
coletadas informac oes do usu ario, como IP da m aquina e canais que ele est a utilizando.
Usu arios que optaram por um servidor IRC privado podem ter o problema reduzido, mas
os usu arios que fazem uso do servidor p ublico do projeto s ao mais afetados, devido ` a
exposic ao.
Utilizando um cliente IRC comum, conectamos no servidor IRC p ublico e realiza-
mos apenas a listagem dos canais existentes, para ilustrar. A gura 2 mostrado a listagem
realizada.
Figura 2. Listagem dos canais no servidor IRC do SparkleShare.
Al em disso, os canais criados pelo SparkleShare n ao possuem nenhuma
protec ao. Para exemplicar, como mostrado na Figura 3, utilizando novamente
um cliente IRC comum, conseguimos acessar o canal de nossa instalac ao do Spar-
kleShare. V arios autores citam que a seguranca de sistemas baseados em publish/-
subscribe ou P2P comeca com a garantia de que n ao h a vazamento ou inltrac ao de
mensagens externas [Bacon et al. 2008, Singh et al. 2011, Bailes and Templeton 2004,
Zhang et al. 2005]. Pode-se notar que essa premissa foi claramente violado na
implementac ao do SparkleShare que analisamos.
Como o cliente SparkleShare n ao possui nenhum formato para a mensagem de
X Encontro Anual de Computao - EnAComp 2013
20
Figura 3. Acessando um canal IRC do SparkleShare por cliente IRC externo
noticac ao, qualquer mensagem postada no canal (at e mesmo uma simples letra) e inter-
pretada como uma indicac ao de que o reposit orio foi alterado. Somando isso ao acesso
aberto aos canais, e possvel enviar falsas noticac oes.
Nesse caso, e possvel construir um pequeno programa que varre todo os canais
do IRC enviando uma mensagem qualquer. Isso far a todos os clientes irem ao reposit orio
central, ao mesmo tempo e repetidamente, para realizar a atualizac ao da base local. Esse
volume de requisic oes pode causar desde um transtorno at e tornar o servidor inacessvel
causando o chamado Denial of Service [Assunc ao 2010].
3.1. Soluc oes de Seguranca
Tendo identicado algumas vulnerabilidades do SparkleShare 0.4.0, foram estudadas al-
gumas soluc oes de seguranca que tornam a camada de noticac ao mais segura. As
soluc oes propostas para garantir a seguranca dos usu arios e dos canais dentro do IRC
s ao: canais no modo secreto e canais com senha.
A especicac ao do IRC permite que o usu ario congure um canal em modo se-
creto. Esse tipo de canal n ao poder a ser listado pelos usu arios, dessa maneira e necess ario
que o usu ario do canal saiba o nome do canal para poder acess a-lo [Charalabidis 1999].
Essa soluc ao contribui para reduzir as informac oes disponveis, e como o hash
e utilizado como nome do canal, isso oferece um nvel maior de seguranca. Por outro
lado, n ao afeta o funcionamento dos clientes, dado que eles possuem o identicador do
reposit orio Git.
Entretanto, a abordagem descrita n ao protege do fato do hash for conhecido de
antem ao (de acessos inseguros anteriores) ou gerado (pois e apenas uma string). E
como soluc oes de seguranca n ao podem ser simplesmente baseadas na ocultac ao de
informac oes, a segunda medida que propomos e o uso de senha para acesso ao canal
oferecido pelo protocolo IRC.
Denimos que os clientes SparkleShare ligados a um mesmo reposit orio Git sejam
congurados com uma senha. O primeiro cliente a se conectar com o servidor IRC cria
o canal especicando a senha compartilhada, os demais necessitam da senha para fazer
parte do canal.
X Encontro Anual de Computao - EnAComp 2013
21
Mas temos que considerar ainda que o canal pode j a existir e ele n ao estar prote-
gido por senha, o que leva a dois casos: (i) um cliente sem suporte ` a senha foi ativado
primeiro ou (ii) algu em criou o canal para esperar conex oes de clientes e aplicar algum
ataque.
Considerando a possibilidade do caso (ii), a melhor abordagem seria impedir que
o cliente se conectasse com um canal n ao protegido. Mas, os clientes SparkleShare de um
usu ario podem estar instalados em diversas m aquinas e o processo de atualizac ao n ao e
feito de forma instant anea. Dessa forma, os novos clientes atualizados para a nossa vers ao
n ao poderiam funcionar at e todos os clientes estiverem atualizados o que pode gerar
um transtorno para o usu ario.
Para se acomodar a esse perodo de transic ao, optamos ent ao por uma soluc ao em
que o usu ario pode escolher se o cliente deve ou n ao se conectar a um canal n ao prote-
gido por senha. Dessa forma, o usu ario poder a atualizar os clientes sem necessariamente
impedi-los de funcionar. Quando todos os clientes estiverematualizados, o usu ario poder a
ent ao ativar a protec ao.
Novos usu arios n ao ter ao o problema de atualizac ao e poder ao iniciar j a com a
protec ao de canais ativada.
3.2. Coment arios sobre a Implementac ao das Soluc oes
Durante o processo de aplicac ao das modicac oes no c odigo fonte do SparkleShare, nos
deparamos com o fato da soluc ao dos canais em modo secreto j a ter sido implementada
na vers ao de desenvolvimento [Bons 2011]. Focamos ent ao na implementac ao dos canais
com senha.
O SparkleShare e desenvolvido em C# e possui uma classe
(SparkleListenerIrc.cs) que realiza todo o processo da comunicac ao do sistema
com o cliente IRC. Essa classe por sua vez utiliza a biblioteca SmartIrc4net [Bauer 2012].
Modicamos ent ao o trecho de conex ao no canal, introduzindo o modo protegido por
senha.
A congurac ao da senha e das polticas de acesso (forcar o acesso somente por
senha ou n ao) aos canais e feita no arquivo de congurac ao XML padr ao do Spar-
kleShare. No sistemas operacional Debian, onde os testes foram realizados, o arquivo
de congurac ao e o seguinte:
/home/user/.config/sparkleshare/config.xml
O usu ario deve incluir as seguintes propriedades nesse arquivo de congurac ao
para que a protec ao funcione adequadamente:
announcements password: senha do canal.
allow passwordless join: booleano que indica a permiss ao para acessar canais
n ao protegidos.
As modicac oes foram testadas com um reposit orio no
GitHub [GitHub Inc. 2011] e com o servidor p ublico IRC do SparkleShare. De-
pois dos testes, um patch foi oferecido aos desenvolvedores do SparkleShare, que
incorporaram as nossas modicac oes no reposit orio do projeto [Kaqui 2011]
X Encontro Anual de Computao - EnAComp 2013
22
4. Considerac oes Finais
Com a evoluc ao da computac ao em nuvem e a popularizac ao dos servicos oferecidos por
ela, foram desenvolvidos os sistemas de sincronizac ao e compartilhamento de arquivos
com a nalidade de abstrair a utilizac ao do armazenamento de arquivos em nuvem e de
oferecer um servico de sincronizac ao de arquivos locais com a nuvem. O SparkleShare e
um sistema de sincronizac ao desenvolvido dentro da losoa de Software Livre e permite
que os usu arios e instituic oes utilizem diferentes reposit orios de armazenamento.
Por utilizar elementos disponveis na Internet, o funcionamento do SparkleShare
est a sujeito a ataques. Neste trabalho realizamos uma an alise de seguranca do Spar-
kleShare, vers ao 0.4.0, identicamos alguns pontos falhos em seu servico de noticac ao,
e aplicac oes soluc oes que aumentam a seguranca.
Os desenvolvedores do sistema j a reconheceram que o uso do IRC n ao e uma boa
opc ao, sendo que na epoca em que este trabalho foi realizado, o desejo dos desenvolvedo-
res era substituir pelo protocolo XMPP [Foundation 2004]. Durante a escrita deste artigo,
vericamos que o projeto agora utiliza uma soluc ao pr opria para noticac ao.
Ainda assim, acreditamos que a nossa soluc ao de canais protegidos por senha im-
plementada era de import ancia para o projeto, pois oferecia um nvel melhor de seguranca
para os usu arios, mantendo compatibilidade com vers oes anteriores e de baixo impacto
no c odigo (comparado com adaptar a camada de noticac ao para um novo protocolo).
Destacamos novamente que essa melhoria foi enviada aos desenvolvedores do
SparkleShare e includa no c odigo nal do sistema.
Refer encias
Armbrust, M., Fox, A., Grifth, R., Joseph, A., Katz, R., Konwinski, A., Lee, G., Patter-
son, D., Rabkin, A., Stoica, I., and Zaharia, M. (2010). A view of cloud computing.
Communications of the ACM, 53:5058.
Assunc ao, M. (2010). Guia do Hacker Brasileiro. VisualBooks.
Bacon, J., Eyers, D. M., Singh, J., and Pietzuch, P. R. (2008). Access control in publish/-
subscribe systems. In Proceedings of the Second International Conference on Distri-
buted Event-based Systems, DEBS 08, pages 2334, New York, NY, USA. ACM.
Bailes, J. E. and Templeton, G. F. (2004). Managing P2P security. Commun. ACM,
47(9):9598.
Bauer, M. (2012). SmartIrc4net - C# IRC Library. http://www.meebey.net/
projects/smartirc4net/.
Bons, H. (2010). Announcing SparkleShare. Design Monkey. http://www.bomahy.
nl/hylke/blog/announcing-sparkleshare/.
Bons, H. (2011). GitHub commit description. https:
//github.com/hbons/SparkleShare/commit/
5f31d5f43d41a34300eee886bef9bc8e1a52800c.
Bons, H. (2012). SparkleShare wiki. https://github.com/hbons/
SparkleShare/wiki.
X Encontro Anual de Computao - EnAComp 2013
23
Canonical Ltd. (2012). Ubuntu One. http://one.ubuntu.com.
Charalabidis, A. (1999). Book of IRC: The Ultimate Guide to Internet Relay Chat. The
Book Of Series. No Starch Press.
Drago, I., Mellia, M., M. Munafo, M., Sperotto, A., Sadre, R., and Pras, A. (2012). Inside
Dropbox: Understanding personal cloud storage services. In Proceedings of the 2012
ACMConference on Internet Measurement Conference, IMC12, pages 481494, New
York, NY, USA. ACM.
Dropbox Inc. (2012). Dropbox. https://www.dropbox.com/.
Foundation, J. S. (2004). Extensible messaging and presence protocol (XMPP): Core.
RFC 3920.
GitHub Inc. (2011). GitHub. https://github.com/.
Kaqui, N. (2011). GitHub commit description. https://github.com/hbons/
SparkleShare/commits/0.4.0/SparkleLib/SparkleListenerIrc.
cs?author=nicolaslazartekaqui.
Loeliger, J. (2009). Version control with Git. OReilly Series. OReilly.
Singh, J., Eyers, D. M., and Bacon, J. (2011). Disclosure control in multi-domain pu-
blish/subscribe systems. In Proceedings of the 5th ACM International Conference
on Distributed event-based system, DEBS 11, pages 159170, New York, NY, USA.
ACM.
Swicegood, T. (2008). Pragmatic Version Control Using Git. Number v. 1 in Pragmatic
Version Control Using Git. Pragmatic Bookshelf.
Taurion, C. (2009). Cloud Computing - Computac ao emNuvem: Transformando o Mundo
da Tecnologia da Informac ao. BRASPORT.
Toyer, K. and Smith, N. (1997). Learn advanced Internet relay chat. Wordware Pub.
Xianqiang, B., Nong, X., Weisong, S., Fang, L., Huajian, M., and Hang, Z. (2011). Sync-
views: Toward consistent user views in cloud-based le synchronization services. In
Chinagrid Conference (ChinaGrid), 2011 Sixth Annual, pages 8996.
Zhang, X., Chen, S., and Sandhu, R. (2005). Enhancing data authenticity and integrity in
P2P systems. Internet Computing, IEEE, 9(6):4249.
X Encontro Anual de Computao - EnAComp 2013
24

Estimao do Tempo Mdio de Resposta do Servidor em
Plataformas de Ensino a Distncia do Tipo Cliente-Servidor
Utilizando Modelo Baseado em Teoria de Filas

Victor Hugo Teles Costa, Jonatas Abreu Fernandes, Bruno Henrique Pereira
Gonalves, Flvio Henrique Teles Vieira, Leonardo Antnio Alves
Escola de Engenharia Eltrica, Mecnica e de Computao Universidade Federal de
Gois (UFG)
Av. Universitria, n. 1488 - Quadra 86 - Bloco A - 3 piso 74605-010 - Setor Leste
Universitrio - Goinia GO Brazil
victor@vcosta.com.br, jonatasfdv@gmail.com, brunohpg@gmail.com
flavio@eee.ufg.br,leoaalvs@gmail.com.
Abstract. In this paper, we present an analytical model to predict the
performance of Client-Server based e-Learning Platforms. Our approach is
based on the queueing theory and can adequately describe some performance
parameters of real e-Learning Platforms such as server response time. We
evaluate the modeling capability of the proposed approach by comparing the
results provided through the model to the results obtained by other model
presented in the literature. However, our approach also takes account of the
data loss probability in the system. Most importantly, in this study, we develop
a tool for designing and scaling Client-Server based e-Learning Platforms
based in client-server architecture.
Resumo. Neste trabalho, apresentamos um modelo para prever o desempenho
de plataforma de Ensino a Distncia baseadas em cliente-servidor. A nossa
abordagem baseada em Teoria de Filas, focando principalmente na
estimao do tempo de resposta do servidor. Avaliamos a eficincia do
modelo proposto para a plataforma de Ensino a Distncia, comparando os
resultados fornecidos deste com os de outro modelo apresentado na literatura.
Entretanto, a principal diferena que nosso modelo leva em considerao a
probabilidade de perda de dados. Assim, neste trabalho, desenvolvemos uma
ferramenta para a concepo e dimensionamento de plataformas de Ensino a
Distncia baseadas na arquitetura cliente-servidor.
1. Introduo
Desde o final do sculo XX, a TI (Tecnologia da Informao) tem oferecido diferentes
paradigmas para o desenvolvimento da Tecnologia Educacional. Hoje, na era da
informao, apesar de suas dificuldades e restries, importante que as pessoas tenham
acesso educao formal. Neste contexto, o Ensino a Distncia (EaD) est emergindo
como um novo paradigma, permitindo que a informao seja compartilhada entre todos
os pblicos, removendo as barreiras fsicas e sociais.
X Encontro Anual de Computao - EnAComp 2013
25

Neste novo cenrio, os educadores podem criar laboratrios e salas de aula
virtuais onde os alunos contam com materiais de ensino de alta qualidade atravs de
ambientes multimdia, incluindo ilustraes tridimensionais, armazenamento de
arquivos, videoconferncias e reunies online.
As empresas e instituies que pretendem explorar o Ensino a Distncia
precisam construir uma plataforma que deve ser suportada por uma infraestrutura de
telecomunicaes composta principalmente por servidores de rede, permitindo o uso de
todo tipo de mdia baseada em computador.
O Ensino a Distncia em todo o Brasil e no exterior basicamente realizado
atravs de sites, um conjunto de pginas, estticas ou dinmicas, organizadas numa
estrutura conhecida como WWW (World Wide Web). Portanto, a web tem um papel
crucial no mundo da informao, sustentando as chamadas Plataformas de EaD.
O desempenho da Plataforma de EaD do tipo Cliente-Servidor depende
diretamente do tempo de resposta do servidor nas conexes, isto , o atraso para
responder requisies de pgina [Drakopoulos e Merges 1992] [King 2003]. Por esta
razo, focamos no tempo de resposta e nos parmetros de rede envolvidos na sua
estimao. Para calcular o desempenho da Plataforma de EaD, examinamos um modelo
Cliente-Servidor baseado na Teoria de Filas [Gross, Shortle, Thompson, e Harris 2009]
[Kleinrock 1976][Pujolle e Gelenbe 1998]. Verificamos que o modelo de fila proposto
pode ser utilizado para auxiliar no projeto de Plataformas de EaD, assim como para
verificar sua escalabilidade.
O restante deste trabalho organizado da seguinte forma: na seo II,
apresentamos uma abordagem para modelagem de Plataformas de EaD baseada na
Teoria de Filas, na seo III, avaliamos o desempenho de Plataformas EaD em termos
do tempo mdio de resposta do servidor de acordo com a equao proposta, finalmente,
na seo IV, relatamos nossas concluses.
2. Tempo Mdio de Resposta do Servidor em Plataformas de EaD
Nesta seo, propomos um modelo para estimar o tempo mdio de resposta do servidor em
plataformas de EaD baseadas na arquitetura cliente-servidor.
No modelo proposto, consideramos que h trs fases no processo de atendimento
das requisies de usurios na plataforma de EaD: a chegada de uma solicitao, o
processamento no servidor e a chegada do processamento no cliente.
A Figura 1 mostra a rede de filas proposta utilizada para a obteno das equaes
para o clculo do tempo de resposta do servidor, onde A o nmero de requisies de
chegada ao servidor, S o tamanho da banda (taxa de transmisso) do servidor e C, o
tamanho da banda (taxa de transmisso) do cliente e p a probabilidade ou taxa de perda de
pacotes.
Denominamos de S
r,
S
s
, S
c
, as capacidades de atendimento das filas referentes ao
servidor Web, conexo Internet e ao browser do usurio, respectivamente. Nesta rede de
filas, as requisies de entrada A se juntam na entrada no servidor de entrada de requisies
S
r
s requisies A que devero ser retransmitidas.
X Encontro Anual de Computao - EnAComp 2013
26


Figura 1. Modelo para Plataforma de EaD.
Essas requisies entram no servidor S
s
para serem processadas, e so entregues
ao cliente S
c
, que poder solicitar retransmisses ao servidor Web S
r
. Denotaremos por
C a banda, ou taxa de transmisso do usurio S
s
(conexo Internet) e por S a banda do
servidor, ou taxa com a qual o servidor responde Internet. fcil demonstrar que a
capacidade S
r
do servidor Web dada por:
) (
1
R
B
y
S
r
+
= (1)
onde F o tamanho do arquivo recebido, B o tamanho do buffer, y o tempo de espera no
servidor, R a taxa dinmica de atendimento, ou taxa em que o servidor processa o buffer.
Podemos enunciar a seguinte proposio referente ao tempo mdio de resposta
para plataformas de EaD.
Proposio 1: Assumindo que o trfego em redes de EaD seja Poissoniano, o
Teorema de Jackson aplicvel ao modelo de filas apresentado na Figura 1. Assim, o
tempo de resposta mdio de um servidor EaD utilizando arquitetura cliente-servidor
dado por:
) 1 (
1
) 1 (
1
) 1 (
1
1
} {
p
A
F
S
p
A
F
C
p
A
R
B
y
T E

+
=
(9)
De acordo com Alves, Vieira e Arajo (2009), o modelo de filas que descreve
uma Plataforma EaD pode ser considerada uma rede de Jackson e, portanto, o tempo de
espera poderia ser calculado atravs de:
) (
) (
1
} {
Ry B AF BR
Ry B F
AF S
F
AI
I
C
F
T E
+
+
+

+ = (10)
onde I corresponde ao tempo de inicializao.
Para validar a equao proposta de tempo mdio de resposta do servidor em
plataformas de EaD, inicialmente implementamos um simulao de fila simples com um
servidor com buffer. A simulao foi realizada no software Rockwell Arena 12, verso
estudantil, considerando um buffer de 50 Mbits de espao, uma banda de servidor de 30
Mbps e taxa de requisies Poissonianas.
Na prxima seo, apresentaremos uma comparao dos resultados obtidos com
as Equaes 9 e 10.
X Encontro Anual de Computao - EnAComp 2013
27

3. Estudos de Otimizao de Desempenho de Plataforma de EaD
Analisamos o desempenho da plataforma de EaD em termos do tempo de resposta do
servidor, variando parmetros como a banda do servidor S e o tamanho do arquivo F.
Para tal, consideramos como parmetros para o modelo, valores reais obtidos em uma
plataforma real de Ensino a Distncia mantida pela empresa NT educao no SENAI-
GO.
Calculando os tempos de resposta utilizando a equao proposta temos que, aps
certo valor de banda (capacidade do servidor), o tempo de resposta do servidor diminui
insignificativamente. O que significa que a contratao de mais banda no corresponde
necessariamente a uma diminuio no tempo de resposta do servidor. A variao no
tempo de resposta foi de menos de 5%. Isso implica que uma plataforma de EaD no
depende estritamente da quantidade de banda, mas tambm da capacidade de
atendimento s requisies. A Figura 2 corrobora essa afirmao, onde fizemos p=0 e
fixamos os valores de B=2000 bytes, R=25547 bytes/s, C=38400 bytes/s (ou 300
kbits/s), A=3,715 requisies/s, F=1500 bytes, y=1 ms e I=0 s e variamos a capacidade S
do servidor. Note que os valores considerados para B, R, C, A, y e I so valores que
foram encontrados em uma plataforma real de Ensino a Distncia mantida pela empresa
NT educao no SENAI-GO.
Observamos que para os parmetros de rede considerados, a variao da
capacidade do servidor S a partir de 185855 bytes/s no produz variao significativa no
tempo de resposta (variao menor do que 5%). Pode-se ento, afirmar que o tempo de
resposta independe da capacidade para S>185855 bytes/s, no cenrio considerado.

Figura 2. Tempo Mdio de Resposta versus Capacidade do Servidor (S).
Quanto maior o tamanho do arquivo (F), maior o tempo de resposta, conforme
apresenta a Figura 3 (para o caso de p=0). A Figura 3 foi gerada considerando os valores
dos parmetros do sistema fornecidos anteriormente, fixando S em 393216 bytes/s (ou 3
Mbits/s) e variando F.
X Encontro Anual de Computao - EnAComp 2013
28


Figura 3. Tempo de Resposta versus Tamanho do Arquivo (F).
A otimizao da Plataforma de EaD, com respeito ao tempo de resposta, deve
levar em conta a relao entre a varivel E{T} e as variveis C, B, S e R. Podemos
ajustar os parmetros C, S e R a fim de obtermos uma melhoria do desempenho do
sistema, considerando a disponibilidade de cada recurso. Por exemplo, para obtermos
uma reduo mais significativa do tempo de resposta no sistema caracterizado pela
Figura 3, com S=185855 bytes/s, temos de aumentar os parmetros S ou R dentro dos
limites disponveis.
Ainda considerando B=2000 bytes, R=25547 bytes/s, S=393216 bytes/s, A=3,715
requisies/s, F=1500 bytes, y=1 ms, I=0 e p=0, na Figura 4, observamos a relao que
se desenvolve entre o tempo de resposta e a capacidade C do cliente. Claramente,quanto
maior a capacidade C, menor ser o tempo de resposta do servidor. No entanto, h um
momento em que um aumento na banda pode no significar uma diminuio
considervel no tempo de resposta, dependendo da disponibilidade de recursos. Mais
especificamente, nas circunstncias da Figura 4, podemos dizer que para C>250709
bytes/s a variao no tempo de resposta de menos de 5%, para S=393216 bytes/s.
Para os parmetros considerados anteriormente (p=0), e fixando C=38400
bytes/s, o comportamento do tempo de resposta em relao taxa R de atendimento
pode ser observado na Figura 5.

Figura 4. Tempo de Resposta versus Capacidade do Cliente (C).
X Encontro Anual de Computao - EnAComp 2013
29


Figura 5. Tempo de Resposta versus Taxa de Atendimento de Requisies (R).
Como na relao entre tempo de resposta e capacidade do cliente, notamos uma
diminuio no tempo de resposta com o aumento da capacidade de processamento de
requisies. No caso da Figura 5, observamos que, para R>764556 bytes/s, o tempo de
resposta no tem diminuio significativa para p=0, a variao inferior a 5%.
Atribuindo alguns valores para p, para que se possa analisar a influncia das
perdas no sistema, tem-se os resultados de tempo mdio de resposta apresentados na
Tabela 1. O valor de p corresponde porcentagem de pacotes que no chegam ao
destino devido a erro no pacote ou falha no sistema, sendo que devem ser retransmitidos
pelos mecanismos do TCP-IP. Note que nos arquivos de log da plataforma de Ensino a
Distncia mantida pela empresa NT educao no SENAI-GO encontra-se perdas
prximas a 0,1%.
Analisando os resultados de tempo mdio de resposta para diferentes valores de
p, constatamos que a variao do tempo de resposta E{T} em relao a p diferente de
zero pequena. Para p=0, notamos uma relativa aproximao do tempo de resposta
dado pela equao proposta com o tempo de resposta da Equao 10, como mostra a
Tabela 1.
Tabela 1. Tempo de Resposta (em milissegundos) considerando diferentes
valores para p
A E{T} (eq. 9) E{T}
(eq.10) p=0 p=0,001 p=0,01
2,97222 151,7845 151,8224 152,1677 115,1528
3,34375 156,6858 156,7316 157,1492 117,1502
3,71528 161,9595 162,0143 162,5146 119,2606
4,08681 167,6521 167,7174 168,3128 121,4939
4,45833 173,8189 173,8961 174,6016 123,8612
4,82986 180,5252 180,6163 181,4498 126,3748
5,20139 187,8493 187,9568 188,9401 129,0490
5,57292 195,8859 196,0126 197,1726 131,8995
5,94444 204,7505 204,9000 206,2701 134,9444
6,31597 214,5856 214,7623 216,3844 138,2044
6,68750 225,5690 225,7787 227,7060 141,7032
X Encontro Anual de Computao - EnAComp 2013
30

A Figura 6 revela uma influncia significativa da perda p no tempo de resposta
ao variar a capacidade do cliente (C). Observamos um incremento claro do tempo de
resposta com o aumento no valor de p. Como era de se esperar, quanto menor o valor de
p, a curva de tempo de resposta se aproxima mais da curva para p=0. Para p=0,1%,
como observado na Tabela 1, os valores so praticamente os mesmos para p=0.

Figura 6. Tempo de Resposta versus Capacidade do Cliente (C).
Na Figura 7, observamos que ao alterar o tamanho do arquivo transmitido, h
uma diferenciao considervel dos valores de tempo de resposta para diferentes valores
de p quando o arquivo apresenta tamanhos superiores a 4000 bytes. Ou seja, para
valores de tamanho de arquivo abaixo de 4000 bytes, o impacto da taxa de perda de
dados no tempo de resposta menor.

Figura 7. Tempo de Resposta versus Tamanho do Arquivo (F).

4. Concluses
Neste trabalho, apresentamos um modelo de Plataforma de EaD do tipo Cliente-
Servidor baseado em Teoria de Filas. Comparamos o Tempo de Resposta do servidor
dado pelo nosso modelo ao obtido com o trabalho desenvolvido em Alves, Vieira e
Arajo (2009), verificando a consistncia dos valores estimados com o modelo
desenvolvido.
X Encontro Anual de Computao - EnAComp 2013
31

Na equao proposta, levamos em conta a influncia da taxa de perda de pacotes.
Atravs disso, pudemos observar como a perda pode se relacionar ao aumento do tempo
de resposta de uma Plataforma EaD. Tambm avaliamos a relao do tempo de resposta
com vrios parmetros do sistema, mostrando, inclusive, como os parmetros do
sistema poderiam ser escolhidos para otimizao de seu desempenho em termos de
tempo mdio de resposta.
Observe que este tipo de Plataforma de EaD permite que a largura de banda C
da rede seja aumentada. Este parmetro, por exemplo, pode ser usado para maximizar o
desempenho da Plataforma de EaD. Ou seja, a partir de nosso modelo, podemos
predizer o comportamento da Plataforma quando acessada por certa quantidade de
usurios. Portanto, a abordagem proposta pode ser vista como uma poderosa ferramenta
para projeto e implantao de Plataformas de EaD do tipo Cliente-Servidor em todo o
mundo.
5. Referncias
Alves, L. A., Vieira, F. H. T. e Arajo, S. G. An Analytical Performance Model for
Client-Server based e-Learning Platforms. ICELW, 10 a 12 de Junho, Nova Iorque,
EUA, 2009.
Drakopoulos, E. and M. J. Merges, "Performance Analysis of Client-Server Storage
Systems", IEEE Transactions on Computers, Vol. 41, No. 11, November 1992.
Gross, D., Shortle, J. F., Thompson, J. M. e Harris, C. M. Fundamentals of Queueing
Theory. 4a Edio, John Wiley & Sons, Nova Iorque, 2009.
King, P. J. B., Computer and Communication Systems Performance Modelling, Prentice
Hall International, UK, 2003.
Kleinrock, L. Queueing Systems, Volume I: Theory. John Wiley & Sons, Nova Iorque,
1976.
Pujolle, G. e E. Gelenbe. Introduction to Queueing Networks. 2a Edio, John Wiley &
Sons, Nova Iorque, 1998.




X Encontro Anual de Computao - EnAComp 2013
32
Acesso Remoto a Redes de Sensores Sem Fio Usando VPN
Matheus Nascimento
1
, Bruno Silvestre
1
, Silvana Rossetto
2
1
Instituto de Inform atica UFG
{matheusnacimento,brunoos}@inf.ufg.br
2
Departamento de Ci encia da Computac ao UFRJ
silvana@dcc.ufrj.br
Abstract. In this work we present a solution based on VPN to connect private
WSN (communicating in IPv6), with computers on the Internet (IPv4).
Resumo. Neste trabalho apresentamos uma soluc ao baseado em VPN para ofe-
recer conex ao a RSSFs privadas (com comunicac ao IPv6) com computadores
ligados na Internet (IPv4).
1. Introduc ao
A crescente demanda pela construc ao dos chamados espacos inteligentes tem fomen-
tado a investigac ao e o uso combinado de tecnologias de sensoreamento e comunicac ao
sem o acopladas a dispositivos de tamanho reduzido, com capacidade de processamento
e armazenamento de dados, e fonte de energia independente [Estrin et al. 2002].
O desenvolvimento de aplicac oes baseadas nessas tecnologias requerem a
construc ao de redes especcas Redes de Sensores Sem Fio (RSSFs) formadas
por dezenas, centenas ou at e milhares desses pequenos dispositivos [Yick et al. 2008].
A miniaturizac ao e o enredamento dos sensores possibilitam diferentes angulos de vis ao
sobre um mesmo evento (por exemplo, o deslocamento de um animal ou a variac ao de
temperatura em uma oresta), permitindo observar ambientes fsicos ou monitorar equi-
pamentos com elevado grau de precis ao.
Com o avanco das tecnologias aplicadas ` as RSSFs, uma demanda e construir
soluc oes de software que permitam integrar RSSF com outras redes sem o e com a
Internet de forma a possibilitar, por exemplo, o acesso remoto aos dados coletados pelos
sensores por diferentes aplicac oes. Em cen arios mais complexos, e possvel projetar o de-
senvolvimento de mecanismos de colaborac ao para permitir que os dados coletados pelos
sensores possam ser associados a outras informac oes de contexto, permitindo atuar sobre
o ambiente em tempo real (por exemplo, dado o nvel de umidade do solo e a previs ao
meteorol ogica atualizada, controlar dinamicamente a vaz ao do equipamento de irrigac ao).
O passo fundamental para alcancar essa integrac ao das RSSFs e conseguir
implementar a pilha de protocolos TCP/IP em dispositivos com severas restric oes
de recursos computacionais. As primeiras experi encias de implementac ao da pilha
TCP/IP em dispositivos de baixo consumo serviram para demonstrar a viabilidade desse
esforco [Dunkels 2003, Hui and Culler 2008] e motivar a criac ao do grupo de trabalho
6LoWPAN (designado pela IETF para propor mecanismos e recomendac oes b asicas para
permitir a transmiss ao de pacotes IPv6 em redes de baixo consumo, entre as quais est ao
X Encontro Anual de Computao - EnAComp 2013
33
as RSSFs). O protocolo IPv6 (sucessor do IPv4) tem sido adotado desde o incio como
protocolo de roteamento padr ao para a integrac ao das redes de baixo consumo (LoW-
PAN) com a Internet, pois oferece um amplo espaco de enderecamento e caractersticas
adicionais que facilitam a compactac ao do seu cabecalho, bem como a adoc ao de outras
t ecnicas para reduc ao da complexidade da sua operac ao em dispositivos com capacidades
limitadas.
Entre as implementac oes existentes das recomendac oes do grupo 6LoW-
PAN para RSSFs, uma das mais importantes e a BLIP (Berkeley IP Informa-
tion) [TinyOS-Blip 2012]. Em [Nascimento et al. 2011], os autores exploraram as pos-
sibilidades oferecidas pelo BLIP e mostraram como ligar os n os sensores com a Internet,
usando o protocolo IPv6. Entretando, como ainda hoje a maioria dos computadores e su-
bredes conectadas ` a Internet operam com o protocolo IPv4, e preciso construir soluc oes
alternativas para permitir a interac ao remota entre computadores externos (operando em
redes IPv4) e os n os sensores em uma RSSF.
Neste trabalho, apresentamos uma soluc ao para essa quest ao permitindo interco-
nectar os sensores de uma RSSF privada a computadores externos de forma transparente.
Propomos uma soluc ao baseada em VPN (Virtual Private Network), usando os protoco-
los IPSec [Kent and Seo 2005] e GRE [Farinacci et al. 2000] de forma integrada. Nosso
objetivo principal e permitir que aplicac oes remotas possam interagir diretamente com os
n os sensores da RSSF, requisitando dados sensoreados de forma segura.
O restante deste artigo est a organizado da seguinte forma. Na sec ao 2 discutimos
as tecnologias usadas para a criac ao de VPNs. Na sec ao 3 apresentamos a soluc ao pro-
posta de interac ao remota entre computadores externos e os n os sensores em uma RSSF.
Na sec ao 4 mostramos os experimentos realizados. Finalmente, na sec ao 5 apresentamos
as considerac oes nais do trabalho.
2. Tecnologias para criac ao de VPNs
VPN (Virtual Private Network) e uma forma de interligar computadores criando uma rede
privada atrav es de uma rede p ublica. No nosso caso, estamos interessados em permitir que
um computador externo utilize a Internet (rede p ublica) para se comunicar com sensores
remotos, como se esse computador estivesse dentro da RSSF particular (rede privada).
A soluc ao proposta consiste em criar uma VPN interligando um computador ex-
terno conectado a uma rede IPv4 com a RSSF, de forma que seja possvel a
comunicac ao direta entre aplicac oes que executam nesse computador com a aplicac ao
que executa nos n os sensores, como se todos estivessem na mesma rede. Para isso e
preciso criar um t unel entre o computador externo e um computador que funciona como
porta de entrada para a RSSF. O t unel ca respons avel por despachar as informac oes de
um lado a outro de forma transparente. A Figura 1 ilustra essa proposta.
O t unel pode ser realizado em v arias camadas da pilha de rede, e geralmente o
protocolo do t unel est a na mesma camada ou abaixo do protocolo que est a sendo encap-
sulado. O que ocorre e que as informac oes do procotolo encapsulado passam a ser o
payload do protoloco de transfer encia do t unel. Podemos citar como exemplo pacotes
IPv6 sendo tunelados por uma rede IPv4 (mesma camada), ou pacotes IP sobre IPX
(camada abaixo). Como a transfer encia de dados se dar a atrav es da Internet, temos que
garantir os requisitos mnimos de seguranca na comunicac ao.
X Encontro Anual de Computao - EnAComp 2013
34
Figura 1. VPN com t unel IPv6/IPv4.
Figura 2. T unel IPv6/IPv4 utilizando GRE.
2.1. GRE (Generic Routing Encapsulation)
GRE [Farinacci et al. 2000] permite o encapsulamento de um protocolo em outro. De
forma geral, os dados do protocolo a ser encapsulado torna-se o payload do novo pacote.
O GRE adiciona um cabecalho extra contendo informac oes de controle e nalmente e
adicionado ao pacote o cabecalho do protocolo de transporte dos dados. A Figura 2
mostra o exemplo de um t unel IPv4 transportando pacotes IPv6.
O GRE e utilizado principalmente por sua exibilidade. O cabecalho necessita
apenas de algumas informac oes de controle e o identicador do protocolo que est a sendo
transportado, o que gera um baixo overhead. Al em disso, o GRE e stateless, ou seja,
nenhum dos envolvidos necessita manter informac oes de controle do t unel. No entanto,
uma desvantagem e que n ao h a garantia nenhuma de autenticac ao, integridade ou con-
abilidade da informac ao trafegada, pois o pacote original simplesmente e introduzido
como payload.
2.2. IPSec
IPsec [Kent and Seo 2005] e uma extens ao do protocolo IP que garante seguranca nas
comunicac oes em camada de rede. Foi inicialmente desenvolvido para o padr ao IPv6 e
depois portado para o IPv4.
Ele pode ser utilizado em dois modos: transporte ou t unel Figura 3 (a) e (b),
respectivamente. No modo transporte, apenas os dados do pacote IP original e encriptado
ou autenticado.

E util quando apenas se deseja a seguranca/autenticac ao da informac ao
trafegada e e muito usado para comunicac ao entre duas m aquinas. No modo t unel, todo o
pacote IP original e encapsulado em um novo pacote IP. Ele permite portanto a criac ao de
uma comunicac ao segura rede-a-rede, garantindo seguranca inclusive dos enderecos IPs
originais de remetente e destinat ario.
O IPsec disponibiliza os protocolos Authentication Header (AH) e Encapsulating
Security Payload (ESP) para garantir autenticac ao, integridade e condencialidade dos
dados trafegados. O AH e usado para garantir a integridade da comunicac ao. Ele utiliza
X Encontro Anual de Computao - EnAComp 2013
35
Figura 3. Modo transporte (a) e modo t unel (b) do IPSec.
uma chave secreta para o c alculo de um c odigo de autenticac ao baseado em hash, utili-
zando diversos campos do pacote IP original. Assim, se o pacote for modicado durante o
tr ansito, intencionalmente ou n ao, o receptor ao tentar calcular novamente o c odigo hash,
muito provavelmente encontrar a um c odigo diferente, e ent ao poder a descartar o pacote.
O ESP garante condencialidade dos dados por meio de algoritmos de encriptac ao, e
pode tamb em garantir autenticac ao por meio de t ecnicas de hash, como no protocolo AH.
Diversos algoritmos podem ser utilizados para a criptograa, por em os mais comuns s ao
DES, tripe-DES, AES e Blowsh. H a ainda o algoritmo NULL que n ao encripta os dados,
util para depurac ao.
Para o estabelecimento do canal seguro, o IPSec precisa que os envolvidos tro-
quem um conjunto de par ametros. Assim, o estabelecimento da conex ao (chamada de
Security Assossiation (SA) foi divida em duas fases. Na primeira fase, e realizada a
identicac ao dos dois pontos envolvidos e e criado um canal seguro utilizando, por exem-
plo, uma chave compartilhada entre eles. Esse canal seguro servir a para a fase dois,
quando os envolvidos poder ao ent ao trocar os par ametros para congurar o canal deni-
tivo (geralmente os dados necess arios para o funcionamento do AH e o ESP).
3. Soluc ao com GRE e IPSec
Nossa soluc ao tem como principais requisitos:
Seguranca: como a comunicac ao se dar a pela Internet, e importante que os dados
trafegados sejam condenciais. Al em disso, temos que garantir que somente o
dono do experimento possa ter acesso, necessitando assim de um mecanismo de
autenticac ao.
Transporte por IPv4: apesar do protocolo IPv6 ser mais apropriado para RSSF,
e j a contando com implementac oes no Contiki e TinyOS, muitas instituic oes n ao
disp oem desse tipo de conex ao, recaindo no IPv4. Assim, decidimos focar no
transporte de pacotes IPv6 sobre IPv4.
Nenhum dos protocolos descritos acima, atuando isoladamente, consegue preen-
cher esses requisitos. O IPSec possui mecanismos para garantir o item de seguranca, en-
tretanto, segundo [Kent and Seo 2005], s o e possvel realizar associac ao entre enderecos
IPv4-IPv4 ou IPv6-IPv6, mas n ao IPv4-IPv6 insuciente para a segundo item.
Por outro lado, com GRE e possvel transportar pacotes IPv6 na rede IPv4, mas
n ao h a nenhum suporte para seguranca. A soluc ao adotada neste caso foi a utilizac ao
dos dois protocolos em conjunto. Empregamos o IPSec na base para enviar de maneira
segura pacotes IPv4 para o destino e garantir a autenticac ao na criac ao da VPN. Com o
t unel IPv4 montado, utilizamos ent ao o GRE para encapsular os pacotes IPv6 em IPv4,
que ser ao ent ao enviados via IPSec.
X Encontro Anual de Computao - EnAComp 2013
36
Figura 4. Arquitetura b asica IPv4 para montagem de VPN via IPSec.
A seguir apresentaremos como foi realizada a congurac ao para acesso ` a rede.
Usaremos como teste duas m aquinas com Ubuntu 10.04LTS.
3.1. Congurac ao do IPSec
Na realizac ao de nosso experimento de congurac ao, criamos um cen ario com dois com-
putadores em redes diferentes interligados por um roteador. Como mostrado na Figura 4,
temos uma m aquina com o endereco 192.168.56.1/24 que deseja acessar a RSSF, e a
m aquina que tem acesso ` a RSSF com o endereco 192.168.57.1/24.
Primeiro, precisamos das ferramentas de controle do IPSec. Para isso temos que
instalar os pacotes ipsec-tools e racoon nos dois computadores. Para a congurac ao
da VPN e necess ario modicar tr es arquivos. Apresentaremos a congurac ao para a
m aquina externa (192.168.56.1), e a congurac ao da outra e an aloga, trocando ape-
nas os enderecos IPs.
O primeiro arquivo a ser congurado e o /etc/ipsec-tools.conf, que cria a
poltica de comunicac ao de entrada e sada de pacotes entre as duas m aquinas, dizendo
que essa comunicac ao utilizar a o protocolo ESP (para criptograa dos pacotes) em modo
transporte:
1 spdadd 1 92 . 1 6 8 . 5 6 . 1 1 9 2 . 1 68 . 57. 1 any P out i p s e c
2 esp / t r a n s p o r t / / r e q u i r e ;
3 spdadd 1 92 . 1 6 8 . 5 7 . 1 1 9 2 . 1 68 . 56. 1 any P i n i p s e c
4 esp / t r a n s p o r t / / r e q u i r e ;
Al em de informar que a poltica de comunicac ao ponto-a-ponto entre as m aquinas
e segura, temos que congurar o sistema com os par ametros para efetivamente criar esse
canal seguro. Adicionamos ent ao no arquivo /etc/racoon/raconn.conf a seguinte
congurac ao:
1 pa t h p r e s h a r e d k e y / e t c / r acoon / psk . t x t ;
2 r emot e 1 9 2 . 1 68 . 5 7 . 1 {
3 exchange mode a g g r e s s i v e ;
4 p r o p o s a l {
5 e n c r y p t i o n a l g o r i t h m aes ;
6 h a s h a l g o r i t h m sha1 ;
7 dh gr oup modp1024 ;
8 a u t h e n t i c a t i o n me t h o d p r e s h a r e d k e y ;
9 }
10 }
11 s a i n f o a dd r e s s 1 9 2 . 16 8 . 5 6 . 1 any a ddr e s s 192. 168. 57. 1 any {
12 pf s gr oup modp768 ;
13 e n c r y p t i o n a l g o r i t h m aes ;
14 a u t h e n t i c a t i o n a l g o r i t h m hmac md5 ;
15 c o mp r e s s i o n a l go r i t hm d e f l a t e ;
16 }
X Encontro Anual de Computao - EnAComp 2013
37
Essa congurac ao dene como ser ao realizadas as duas fases de estabelecimento
de conex ao do IPSec. A diretiva remote controla a primeira fase, dizendo que a conex ao
com a m aquina conectada ` a RSSF utiliza criptograa AES, com hash SHA1 e o protocolo
Dife-Hellman (DH) linhas 5, 6 e 7. Oprotocolo DHutiliza chave sim etrica, e a linha 8
informa que essa chave deve ser buscada no arquivo de chaves compartilhadas, denido na
linha 1. Como a mesma congurac ao ser a feita nas duas m aquinas, ambas ter ao a mesma
chave e o protocolo DH funcionar a corretamente. A diretiva sainfo possui os par ametros
para a segunda fase do IPSec entre as duas m aquinas. A linha 12 congura o PFS
1
,
que e uma propriedade de troca de chaves sim etricas usada na conex ao. Temos ent ao a
indicac ao do uso dos algoritmos AES e HMAC-MD5 nas linhas 13 e 14. Finalmente, a
indicac ao de que n ao h a compress ao de dados, descrito na linha 15.
Por m, temos que informar a chave no arquivo /etc/racoon/psk.txt. Essa
chave pode ser indicada como uma sequencia de caracteres ASCII. No nosso caso, gera-
mos um identicador aleat orio e o utilizamos nas duas m aquinas. Perceba que a chave
est a associada com o IP da m aquina remota:
192.168.57.1 512fecfa-064c-43e8-8fda-94d0aba1d4ab
Temos que carregar nossa congurac ao executando os seguintes comandos em um
shell como root eles ir ao reiniciar os daemons respons aveis pela VPN.
# service setkey restart
# service racoon restart
3.2. Congurac ao do GRE
Com a conex ao IPSec congurada, iremos criar um t unel IPv6-IPv4 entre as duas
m aquinas. Novamente, mostraremos a congurac ao de uma das m aquinas, a congurac ao
da outra e an aloga. Assumindo o prexo IPv6 FEC0::/64 para a RSSF.
Primeiramente, temos que carregar o m odulo do kernel chamado ip gre, que e
respons avel pela ger encia do t unel. Em seguida, vamos congurar o t unel, o que d a
origem a uma nova interface virtual de rede no sistema (gretun) e a colocamos ativa.
Finalmente, conguramos um endereco IPv6 que ser a utilizada na comunicac ao com a
RSSF. Os comandos devem ser digitados no shell como root.
# modprobe ip_gre
# ip tunnel add gretun mode gre remote 192.168.57.1
local 192.168.56.1 ttl 64 dev eth0
# ip link set gretun up
# ip -6 addr add 2000::1/64 dev gretun
AFigura 5 mostra a nossa rede virtual IPv6 sobreposta ` a rede IPv4 (n ao mostrada).
A m aquina ligada ` a RSSF servir a como um roteador, repassando os pacotes da RSSF para
a m aquina externa. Nesse caso, e interessante congurar na m aquina externa (somente
nela) a rota para a RSSF via 2000::2:
# ip -6 route add FEC0::/64 via 2000::2
1
Perfect Forward Secrecy: novas chaves sim etricas n ao ser ao derivadas da chave da fase 1.
X Encontro Anual de Computao - EnAComp 2013
38
Figura 5. T unel IPv6/IPv4 com GRE e IPSec para acesso ` a RSSF.
4. Avaliac ao
Para avaliar a nossa soluc ao, criamos um cen ario com tr es computadores (como ilustrado
na Figura 4): um simulando a rede externa, outro com acesso ` a RSSF e o terceiro sendo
usado como roteador. Realizamos toda a congurac ao j a descrita, obtendo a congurac ao
da Figura 5. Todos os computadores executavam Ubuntu 10.04 TLS.
Utilizamos a vers ao 1.0 do BLIP (pilha IPv6 para RSSF) que est a disponvel no
TinyOS 2.1.1. O n o sensor com endereco FEC0::64 funciona como n o sink, e instalamos
nos demais a aplicac ao de demonstrac ao UDPEcho, disponvel no TinyOS. Essa aplicac ao
implementa o servico Echo, que basicamente envia de volta o pacote UDP recebido na
porta 7. Da m aquina externa foi possvel interagir com os n os sensores, enviando pacotes
(contendo strings) com o programa nc (netcat), e recebendo-os de volta.
Em um exemplo mais complexo, utilizamos a aplicac ao apresentada
em [Nascimento et al. 2011], que permite interagir com os sensores por meio de um nave-
gador web. A aplicac ao foi desenvolvida para funcionar como um servidor web limitado,
sendo executado no n o sensor, e permite efetuar a leitura dos sensores ou mesmo acen-
der ou apagar alguns leds atrav es de requisic oes HTTP. Para essa interac ao com os n os
sensores foi utilizando o navegador Firefox, o qual estava sendo executado na m aquina
externa.
5. Considerac oes Finais
A interligac ao das RSSFs com a Internet comeca a virar realidade com a utilizac ao do
protocolo IPv6 por parte dos n os sensores. Por outro lado, n ao temos ainda a adoc ao desse
protocolo emmassa na Internet, impossibilitando o acesso direto ` as RSSFs executando em
IPv6. Devemos ent ao utilizar soluc oes transit orias, por exemplo, o protocolo IPv4 para
transportar IPv6. Al em disso, nem toda RSSF deve ser acessvel publicamente. Assim
como algumas redes coorporativas, que s o liberam o acesso a seus servicos via VPN,
podemos ter cen arios de RSSF privadas (por exemplo, casas inteligentes) onde o acesso
atrav es da Internet seja possvel, mas controlado.
Apresentamos neste trabalho uma soluc ao baseada em IPSec e GRE para acesso
` a RSSF considerada privada. A utilizac ao dos dois protocolos foi necess aria pois ambos,
isoladamente, n ao possuam os requisitos para disponibilizar o acesso remoto. Utilizando
o IPSec foi possvel criar um canal seguro entre a m aquina remota e um computador com
acesso ` a RSSF. Esse canal, al em de manter a comunicac ao criptografada, utiliza uma
chave para estabelimento da conex ao, o que permite controlar quem est a requisitando
acesso. J a o GRE foi empregado para efetuar o transporte de pacotes IPv6 sobre IPv4.
A congurac ao do GRE n ao apresenta grande diculdade, no entanto, o protocolo
IPSec e bem mais complexo. O IPSec e divido nos protocolos AH e ESP, que oferecem
X Encontro Anual de Computao - EnAComp 2013
39
v arias funcionalidades, sendo necess ario diversos par ametros de congurac ao (por exem-
plo, modo de funcionamento, algoritmos de criptograa, compress ao e chaves). A curva
de aprendizado se mostrou muito alta, ainda que, em nossa opini ao, exploramos pouco os
protocolos. Al em disso, a congurac ao sempre se baseia em modicac oes de arquivos de
congurac ao e recarga de daemons. A construc ao de sistemas, seja via web ou desktop,
seria mais simples se houvesse uma forma mais simples de interagir com o SO, ou seja,
uma API de mais alto nvel para a programac ao.
O ponto positivo dessa soluc ao e a utilizac ao de protocolos padronizados, por
outro lado, a congurac ao do IPSec pode se tornar cada vez mais complexa dependendo
do cen ario que ele for empregado. Gostaramos de avaliar, em trabalhos futuros, outras
alternativas como o OpenVPN [OpenVPN Inc. 2012] ou o PPTP [Hamzeh et al. 1999].
6. Agradecimentos
Este trabalho foi desenvolvido como parte do projeto CIA2
2
, nanciado pela Rede Naci-
onal de Ensino e Pesquisa (RNP).
Refer encias
Dunkels, A. (2003). Full TCP/IP for 8-bit architectures. In Proceedings of the 1st Inter-
national Conference on Mobile Systems Applications and Services (MobiSys), pages
8598. ACM Press.
Estrin, D., Culler, D., Pister, K., and Sukhatme, G. (2002). Connecting the phy-
sical world with pervasive networks. Pervasive Computing, IEEE, 1(1):5969.
http://doi.ieeecomputersociety.org/10.1109/MPRV.2002.993145.
Farinacci, D., Li, T., Hanks, S., Meyer, D., and Traina, P. (2000). RFC2784: Generic
routing encapsulation (GRE). http://tools.ietf.org/html/rfc2784.
Hamzeh, K., Pall, G., Verthein, W., Taarud, J., Little, W., and Zorn, G. (1999). RFC-
2637: Point-to-point tunneling protocol (PPTP). http://www.ietf.org/rfc/
rfc2637.txt.
Hui, J. and Culler, D. (2008). IP is dead, long live IP for wireless sensor networks.
In Proceedings of the 6th ACM Conference on Embedded Network Sensor Systems
(SenSys), pages 1528. ACM Press.
Kent, S. and Seo, K. (2005). RFC4301: Security architecture for the internet protocol.
http://tools.ietf.org/html/rfc4301.
Nascimento, M., Silvestre, B., and Zenha, L. (2011). Interligando RSSFs com a Internet
utilizando IPv6. In Encontro Anual de Computac ao.
OpenVPN Inc. (2012). OpenVPN. http://www.openvpn.net.
TinyOS-Blip (2012). Blip Berkeley IP Information. http://smote.cs.
berkeley.edu:8000/tracenv/wiki/blip.
Yick, J., Mukherjee, B., and Ghosal, D. (2008). Wireless sensor network survey. Compu-
ter Networks, 52:22922330.
2
Construindo Cidades Inteligentes: da instrumentac ao dos ambientes ao desenvolvimento de aplicac oes
http://www.nr2.ufpr.br/cia2
X Encontro Anual de Computao - EnAComp 2013
40

O Uso da Tecnologia de Informao em Sala de Aula: Um
Estudo de Caso.
Waleska Miranda Lima
1
, Jos Elenilson Cruz
2

1
Acadmica da especializao em Gesto Pblica Municipal Universidade Estadual do
Gois (UEG) Formosa GO Brazil
2
Orientador do Curso de Ps-graduao lato sensu em Gesto Pblica Municipal
Universidade Estadual do Gois (UEG) Formosa GO Brazil
waleskamlima@gmail.com, elenilsoncruz@hotmail.com
Abstract. Whereas the use of information technologies and of utmost importance to
educators in the classroom, this article aimed to discuss, from the perspective of the
teacher, that way the use of these technologies favor the work carried out in the
classroom, and what are the barriers faced by the educator, to make this a reality.
Classifying them is an exploratory qualitative, this work makes a case study in the
school Education Center 10 of Ceilndia, an institution benefited, in 2012, by program
UCA (one computer per student) of the Federal Government. It was found that among
the benefits provided by the use of information technology in the classroom are the
cognitive development and the formation of knowledge. In addition, students learn how
to conduct research, prepare spreadsheets, calculations and drafting texts, for example.
However, there are factors that make the best use of technology, such as the availability
of machines, technological infrastructure, low internet speed, physical infrastructure,
and lack of knowledge on the part of teachers.
Resumo. Considerando que o uso das tecnologias de informao de suma
importncia aos educadores em sala de aula, este artigo objetivou discutir, na
perspectiva do professor, de que forma o uso dessas tecnologias favorecem os trabalhos
realizados em sala de aula, e quais so as barreiras enfrentadas pelo educador, para
tornar isto uma realidade. Classificando-se exploratrio-qualitativo, este trabalho
realiza um estudo de caso na escola Centro de Ensino 10 da Ceilndia, uma instituio
beneficiada, em 2012, pelo programa UCA (Um computador por aluno) do Governo
Federal. Verificou-se que dentre os benefcios proporcionados pelo uso das tecnologias
de informao em sala de aula se destacam o desenvolvimento cognitivo e a formao
do conhecimento. Ademais, os alunos aprendem a realizar pesquisas, elaborar
planilhas, clculos e redigir textos, por exemplo. Entretanto, h fatores que dificultam o
melhor aproveitamento da tecnologia, como a disponibilidade de mquinas,
infraestrutura tecnolgica, baixa velocidade da internet, infraestrutura fsica e falta de
conhecimento por parte dos professores.


X Encontro Anual de Computao - EnAComp 2013
41

1. Introduo
A evoluo das tecnologias digitais vem favorecendo o crescimento do uso das
ferramentas de comunicao e expresso (blogs, programas de conversas instantneas,
grupos de relacionamentos etc.) em sala de aula, e as consolidando como eficazes
instrumentos pedaggicos. Essas ferramentas, quando bem utilizadas, oferecem a todos
educadores inmeras possibilidades de enriquecer o processo de ensino e aprendizagem.
Com esse pensamento, e com a popularizao da internet, cresce de maneira
positiva a aplicao das tecnologias de informao em projetos educacionais. As
tecnologias de informao so importantes recursos didticos a servio dos professores,
de uma forma geral, porque promove maior interatividade com o estudante, dentro e
fora de classe, enriquecendo, de maneira especial, o processo de ensino e fortalecendo o
contato pedaggico entre aluno e professor.
Nesse sentido, embora sabendo dos benefcios que as tecnologias trazem ao
ambiente escolar, e ciente de que o uso desses instrumentos como estratgias didticas
podem representar um grande desafio para o educador, questiona-se se h e quais so as
dificuldades enfrentadas pelo educador em relao ao uso da tecnologia de informao
no ambiente de sala de aula?
Nessa perspectiva, a justificativa para a realizao deste estudo reside na
importncia de se mostrar os benefcios da tecnologia da informao, para o
aprimoramento da didtica do educador em sala de aula, mas tambm identificar se h
barreiras nesse processo.
Assim, o objetivo geral deste trabalho discutir, na perspectiva do professor, de
que forma o uso das tecnologias favorece os trabalhos realizados em sala de aula, e
quais as barreiras enfrentadas pelo educador, para tornar isto uma realidade. Como
objetivos especficos, o estudo visa discutir sobre o uso das tecnologias de informao
em sala de aula e estimular o educador quanto ao uso da tecnologia em sala de aula.
Este trabalho est dividido em oito partes, sendo: a introduo, que apresenta o
tema, a pergunta de pesquisa, hipteses e objetivos; diferena de informtica educativa
e informtica educacional, o referencial terico, composto pelos aspectos que dizem
respeito informtica educacional, e o uso das tecnologias em sala de aula no Brasil; a
metodologia, que discorre sobre os mtodos de pesquisa aplicados; a discusso e os
resultados, e as consideraes finais, que tecem as principais concluses do trabalho
articulando-as com os objetivos e o problema de pesquisa.
2. Definio de Informtica Educativa e Informtica Educacional
H diferena entre Informtica Educativa e Informtica Educacional, e em alguns
momentos algumas pessoas podem se confundir com as duas expresses. A primeira
est vinculada viso educacional e a segunda a condio pedaggica em que o
computador utilizado.
Na informtica educativa o computador utilizado como um material didtico,
ou seja, como mecanismo de auxlio mnimo no processo de ensino e aprendizagem, no
precisando de planejamento prvio.
X Encontro Anual de Computao - EnAComp 2013
42

Assim, a informtica educacional adota-se a definio de que o computador
um instrumento primordial no processo de ensino e aprendizagem, com a necessidade
de planejamento prvio e a integrao entre as disciplinas, para que se possa utilizar de
maneira eficiente todas as possibilidades oferecidas, entre outros. O educador pode
adaptar os contedos vistos de forma terica em sala de aula para uma prtica integrada
e ativa no laboratrio de informtica, por exemplo.
3. Histrico da Informtica Educacional
No Brasil, a informtica educacional teve seus primeiros avanos no comeo de 1971.
Em 1981 e 1982, ocorreram em solo brasileiro dois seminrios internacionais que
tinham como tema principal a informtica na educao. Os resultados alcanados por
esses seminrios acarretaram no surgimento da ideia de implantao de projetos-pilotos
nas universidades brasileiras.
Aps estes avanos, e apoiado nos resultados obtidos com todas as aes at
ento, o MEC cria o Programa Nacional de Informtica na Educao (PRONINFE) que
visava promover o desenvolvimento da informtica educativa e seu uso em todo o
sistema pblico de ensino. O PRONINFE ajudou a fomentar o surgimento de
infraestrutura de suporte nas escolas, apoiando a criao de centros, subcentros e
laboratrios nas escolas; capacitao contnua e permanente dos professores.
Todos os objetivos e metas do PRONINFE foram formulados em sintonia com a
poltica nacional de cincia e tecnologia da poca. Nesse sentido, o PRONINFE
apresentou os seguintes resultados no perodo de 1980 1995:44 centros de informtica
na educao implantados, a maioria interligada na Internet; 400 subcentros implantados,
a maioria por iniciativas de governos estaduais e municipais, a partir do modelo de
planejamento concebido, inicialmente, pelo Projeto EDUCOM/UFRGS (destes, 87 esto
no Estado do Rio Grande do Sul); 400 laboratrios de informtica educativa em escolas
pblicas, financiados por governos estaduais e municipais; mais de 10.000 profissionais
preparados para trabalhar em informtica educativa no pas, incluindo um nmero
razovel de pesquisadores com cursos de mestrado e doutorado.
Foi a partir deste perodo, que a informtica educativa se firmou nas escolas
pblicas brasileiras. Desde os primeiros projetos que visavam a sua implantao, a
cultura de informatizao foi se consolidando nas escolas. Apesar das dificuldades
oramentrias, o PRONINFE gerou uma cultura nacional de informtica educacional
centrada na realidade das escolas pblicas, constituindo assim o principal referencial das
aes planejadas pelo MEC, correspondendo praticamente a uma fase piloto que durou
mais de uma dcada. Por necessidades burocrticas o programa PRONINFE foi
substitudo pelo PROINFO em abril de 1997, que na prtica era o mesmo PRONINFE,
entretanto, com um nmero muito maior de escolas atendidas. O grande avano foi a
criao de uma estrutura que podia atender os professores que receberam os laboratrios
de informtica, com capacitao pedaggica e tcnica por meio de professores
multiplicadores em um Ncleo de Tecnologia Educacional (NTE). Com este suporte
tcnico e pedaggico para as escolas e para os Ncleos de Tecnologia Educacional
(NTEs), uma equipe de suporte pedaggico e tcnico em cada NTE era responsvel por
um nmero de escolas com laboratrios de informtica dentro da sua abrangncia
geogrfica.
X Encontro Anual de Computao - EnAComp 2013
43

O PROINFO teve maior incentivo financeiro e est sendo, at o momento, o
mais abrangente programa de informtica educativa no territrio nacional entre todos os
projetos, por meio de seus Ncleos de Tecnologia Educacional (NTE). So vrios os
NTE por Estado, que pesquisam, criam projetos educacionais envolvendo as novas
tecnologias da informtica e capacitam professores utilizando como suporte os
computadores distribudos em escolas pblicas.
Assim, infere-se do exposto que as aes voltadas para a insero das
tecnologias como recursos didticos no so recentes e vm se aperfeioando na medida
em que as estruturas e bases educacionais envolvidas com estes processos se
solidificam, a comear pelo entendimento da informtica educativa e/ou informtica
educacional.
4. Uso das Tecnologias em Sala de Aula no Brasil
O Comit Gestor da Internet no Brasil (CGI.br), setor do Ncleo de Informao e
Coordenao do Ponto BR, responsvel por coordenar e integrar as iniciativas e servios
da internet no pas, divulgou neste ano de 2012, a segunda pesquisa realizada e que teve
por objetivo analisar o uso do computador e da internet pelas escolas brasileiras. Foram
analisados 650 estabelecimentos educacionais, sendo 497 escolas pblicas e 153
particulares.
Os resultados trazidos pela pesquisa evidenciaram que na rede pblica de ensino
o uso do computador e da internet ainda considerado como um desafio, mesmo diante
dos investimentos que o Governo tem realizado na rea de tecnologia da informao. A
pesquisa evidenciou que do total de 6.364 alunos entrevistados, 95% j fizeram uso do
computador e 91% j usaram a internet, independentemente do local (NIC. BR, 2011).
Para complementar, a pesquisa demonstrou o local mais frequente em que os
alunos acessam a internet, conforme demonstra a tabela 1 adiante.
Tabela 1: Local em que os alunos mais acessam a internet
Percentual (%)
Em
casa
Escola
Publica
Escola
Privada
Na casa de
outra pessoa3
Local
pblico
de acesso
gratuito
4
Local de
acesso
pago5
Em
outro
local
Total 63 7 2 10 16 1 1
SEXO

Feminino
62 7 2 11 16 1 1

Masculino
63 7 2 10 16 1 1
REGI
O
Norte / Centro-
Oeste
56 10 2 12 18 1 1
Nordeste 51 6 2 14 26 1 0
Sudeste 71 6 2 9 10 1 1
Sul 69 11 1 9 8 1 1
DEPE
NDN
CIA
Pblica
Municipal
47 13 2 14 22 2 0
Pblica 60 5 2 13 18 0 2
X Encontro Anual de Computao - EnAComp 2013
44

ADMI
NISTR
ATIVA
Estadual
Total Pblica 53 10 2 13 20 1 1
Particular 87 2 1 5 5 0 0
SRIE
4 srie / 5 ano
do Ensino
Fundamental
52 14 1 15 16 2 0
8 Srie / 9
ano do Ensino
Fundamental
66 5 1 9 18 1 0
2 ano do
Ensino Mdio
70 3 2 9 14 0 2
Conforme demonstrado na tabela 1, do total de alunos entrevistados apenas 7%
destes afirmaram que acessam a internet na escola, contra 63% que declararam realizar
este acesso em casa. O dado ainda mais espantoso quando visualizado o percentual de
alunos que acessam a internet na rede privada de ensino, representando apenas 2%
destes. A informao pode levar a crer que a rede pblica est mais bem preparada para
inserir e oferecer as tecnologias de informao do que a rede particular.
Apesar de a rede pblica possuir maior disponibilidade de tecnologias de
informao, em comparao rede privada, isso, necessariamente, no significa que as
escolas pblicas detenham maior nvel de qualidade. Falta, por parte dos educadores,
conhecimento em relao a uso da tecnologia, h dificuldades relacionadas
disponibilidade de mquinas para todos os alunos e tambm restries quanto
velocidade da internet.
Desse modo, aspectos relacionados falta de conhecimento por parte dos
professores e ainda limitaes quanto disponibilidade de mquinas e baixa velocidade
da internet so fatores dificultadores que devem ser considerados para a melhoria do
processo de ensino/aprendizagem de informtica educacional em sala de aula.
Diante dos dados e argumentos apresentados, pode-se afirmar que embora a
informao e a comunicao sejam atualmente imprescindveis a alunos e professores,
na rede pblica de ensino o uso do computador e da internet ainda considerado como
um desafio a ser superado, principalmente quando se analisa as dificuldades de interao
entre os usurios e softwares.
5. Metodologia da Pesquisa
Este estudo efetuou a pesquisa exploratria, para mostrar os fatos e fenmenos da
tecnologia em sala de aula e caracterizar o objeto de estudo e definir a amostra, bem
como mencionar os instrumentos de coleta de dados utilizados.
Os dados foram coletados por meio de pesquisa bibliogrfica em artigos,
monografias e teses para a reviso de importantes aspectos tericos e coleta de dados
secundrios sobre o tema.
6. Objeto de Estudo e Instrumentos de Coleta de Dados
O estudo foi realizado no Centro de Ensino 10 da Ceilndia, uma escola pblica de
Ensino Fundamental, situada EQNN 23/25, em Ceilndia Norte, Distrito Federal. Esta
escola possui 514 alunos e 42 professores. Destes docentes, apenas 4 atuam diretamente
X Encontro Anual de Computao - EnAComp 2013
45

com a tecnologia em sala de aula. Sua escolha se deu em razo de possuir laboratrio e
ter sido beneficiada, neste ano, pelo programa UCA (Um computador por aluno) do
Governo Federal.
Como a investigao deste trabalho na perspectiva do professor, as perguntas
formuladas sobre o uso de computadores e internet em sala de aula objetivaram
investigar os problemas enfrentados pelo professor e a sua percepo quanto aos
benefcios trazidos pelo uso de tecnologias da informao como procedimento
pedaggico. Para a efetivao do estudo de caso, os dados primrios foram coletados
por meio de roteiro da entrevista aberta com dois professores do Centro de Ensino 10 da
Ceilndia, o qual respondeu livremente. Cabe ressaltar que a escola possui apenas
quatro professores que atuam com o uso da tecnologia em sala de aula, e um destes
encontra-se atualmente de frias, motivo pelo qual a entrevista no foi realizada tambm
com este profissional.
7. Resultados e Discusso
A escola possui em mdia 470 computadores, dos quais apenas 235 esto em uso. Os
computadores tm baixo uso pelos alunos, apenas uma vez por semana. Um dos grandes
problemas enfrentado pela escola atualmente dispor de um local para guardar os
computadores, uma vez que se trata de laptops fornecidos pelo Governo Federal atravs
do programa Um Computador por Aluno. Embora os computadores estejam em bom
estado de conservao, a ausncia de armrios para guard-los prejudica o uso do
equipamento diariamente, uma vez que o processo de retirada e guarda de tantos
equipamentos em local adverso tem comprometido o horrio das aulas.
Como se observa, mesmo com os investimentos em tecnologias realizadas pelo
Governo, simples problemas de ordem estrutural ainda precisam ser superados.
Conforme argumentado anteriormente, a partir dos dados da pesquisa realizada pelo
Comit Gestor da Internet no Brasil, o uso do computador e da internet ainda
considerado como um desafio nas escolas brasileiras.
Alm deste problema, a internet na escola muito lenta e no suporta o elevado
nmero de acessos que so realizados simultaneamente. Diante dessa dificuldade, os
alunos so orientados a utilizar o computador em forma de rodzio, para permitir que
todos usem o equipamento.
Apesar de tantos problemas enfrentados, os benefcios proporcionados pelo uso
de computadores e internet em sala de aula so muito positivos e perceptveis, uma vez
que os alunos demonstram interesse e aprendem rapidamente. Dentre os principais
benefcios proporcionados pelo uso de tecnologias da informao na escola, se destacam
o desenvolvimento cognitivo e a formao do conhecimento. Os alunos aprendem a
realizar pesquisas, elaborar planilhas, clculos e redigir textos, por exemplo.
Um fator positivo ainda evidenciado foi o avano dos alunos no uso e manuseio
do computador. Os professores admite que atualmente as crianas e jovens so muito
mais avanados no uso da tecnologia do que muitos professores. Nesse sentido, vale a
pena lembrar que na pesquisa realizada pelo CGI.br, 95% dos alunos j fizeram uso do
computador e que 91% j utilizaram a internet, e que o principal local de uso desta
ferramenta a residncia.
X Encontro Anual de Computao - EnAComp 2013
46

Por fim, os professores declararam que atualmente possuam domnios dos
principais programas utilizados como World, Excel e PowerPoint, embora no incio no
soubesse manusear corretamente o computador. Reconhecem que a capacitao
continuada fator determinante para o sucesso das aulas e principalmente para o
favorecimento do processo de ensino e aprendizagem. Os professores concluram sua
declarao refletindo que conhece alguns professores mal sabem ligar um computador.
Assim, conforme mencionado anteriormente, a falta de conhecimento por parte dos
professores e as limitaes tecnolgicas so de fato aspectos que dificultam o processo
de ensino/aprendizagem de informtica educacional em sala de aula.
8. Consideraes Finais
Diante do que foi discutido, concluiu-se que o uso das tecnologias da informao, ou
seja, computador e internet em sala de aula se tornou determinante para o futuro
promissor de crianas e jovens em idade escolar. Na escola pesquisada, sob o ponto de
vista dos professores, o uso das tecnologias contribui para a formao dos alunos,
principalmente no que se refere a formao do conhecimento, desenvolvimento e
aperfeioamento cognitivo, alm de favorecer a organizao de dados, a construo de
tabelas, esquemas e desenhos, a resoluo de clculos e o processamento e tratamento
de textos.
No Brasil, de uma forma geral, o uso dessas tecnologias no tem sido realizado
de maneira eficiente nas escolas, uma vez que os alunos declararam, em pesquisa
realizada pelo Ncleo de Informao e Coordenao do Ponto BR, que fazem uso do
computador com maior frequncia em casa e que aprendem a us-lo tambm neste
ambiente.
Assim, respondendo pergunta de pesquisa, conclui-se que o educador enfrenta
dificuldades em relao ao uso da tecnologia de informao no ambiente de sala de aula.
Dentre as quais esto a indisponibilidade de mquinas para todos os alunos, precria
infraestrutura fsica, com a falta de local adequado para a guarda dos laptops, baixa
velocidade da internet e pouco conhecimento (de alguns professores) quanto ao uso das
tecnologias. Estas dificuldades so fatores que dificultam a interatividade entre alunos e
professores, entre professores e mquinas/softwares, e reduzem a eficincia do processo
de ensino-aprendizagem.
Diante do exposto, alm das providncias quanto soluo dos problemas
relacionados infraestrutura fsica e tecnolgica, preciso que a escola, governo e os
prprios professores busquem a atualizao e o aperfeioamento contnuo do corpo
docente em relao s tecnologias de informao. Apenas esse conjunto de aes podem
maximizar os benefcios da tecnologia para o aprendizado e desenvolvimento dos
alunos.
9. Referncias
ANDRADE, P. F.; Programa Nacional de Informtica Educativa. A utilizao da
Informtica na escola pblica brasileira. (1970-2004); MEC: Secretaria de Educao
a Distncia, 2006.
X Encontro Anual de Computao - EnAComp 2013
47

BORGES, Priscilla. Escolas privadas so menos equipadas que pblicas. Disponvel
em: <http://ultimosegundo.ig.com.br/educacao/2012-05-20/escolas-privadas-sao-
menos-equipadas-que-publicas.html>. Acesso em: 23 nov. 2012
CGI - Comit Gestor da Internet no Brasil. Pesquisa sobre o uso das tecnologias de
informao e comunicao no Brasil: TIC Educao 2011 = Survey on the use of
information and communication Technologies in Brazil: ICT Education 2011.
MORAES, Maria Cndida. Informtica Educativa no Brasil: uma histria vivida,
algumas lies aprendidas. In: Revista Brasileira de Informtica na Educao. N.
01, set 1997. SO PAULO, Secretaria de Estado da Educao.
MOTA, Emilia Ignez. A histria da informtica e a sua importncia para a unidade
escolar. Monografia. Ps-graduao lato sensu em Pedagogia Empresarial.
Universidade Cndico Mendes. Rio de Janeiro, 2004.
NIC.BR - Ncleo de Informao e Coordenao. CGI.br divulga segunda edio da
pesquisa TIC Educao. So Paulo, 19 de junho de 2012.
PROINFO. Histria da Informtica Educativa no Brasil. Disponvel em:
<http://edutec.net/Textos/Alia/PROINFO/edprhist.htm>. Acesso em: 05 nov. 2012.
TEPETINO, Simone Abichara Santos. A autoformao do professor para uso de
tecnologias digitais na educao. Dissertao de Mestrado. Pontifcia Universidade
Catlica de Minas Gerais. Belo Horizonte, 2004.
TUFANO, Thiago. Apesar de dificuldades, 93% das escolas pblicas tm internet.
Disponvel em: http://noticias.terra.com.br/educacao/noticias/0,OI5845803-
EI8266,00-Apesar+de+dificuldades+das+escolas+publicas+tem+internet.html.
Acesso em: 22 nov. 2012.
APNDICE
Roteiro da Entrevista:
1. A escola possui em mdia quantos computadores?
2. Todos esto em uso?
3. Com que frequncia os alunos se utilizam dos computadores na escola?
4. O professor enfrenta algum problema com o uso de computadores e internet em
sala de aula?
5. De que forma os problemas enfrentados so solucionados?
6. Na viso do professor, quais seriam os principais benefcios proporcionados aos
alunos pelo uso de tecnologias da informao nas escolas?
7. O professor apresenta domnio em informtica? Quais os desafios que enfrentou
para se enquadrar nessa nova condio pedaggica?
X Encontro Anual de Computao - EnAComp 2013
48
Monitoramento de Paisagens Urbanas com Redes de Sensores
para Auxlio Deciso em Gesto Participativa
Guilherme P. Gaebler
1
, Vincius S. Patto
1
, Marcelo R. Quinta
1
1
Instituto de Informtica Universidade Federal de Gois (UFG) Bloco IMF-1
Campus Samambaia CEP. 74690-815 Goinia GO Brasil
{guilhermegaebler,viniciussebba,marceloquinta}@inf.ufg.br
Abstract. The ADGEPA project provide a sensor network to collect environ-
mental data and a resonsive web application in which one can make complaints
about socioenvironmental concerns of a scenario. From these data, we look for
new information using Knowledge Discovery in Database techniques. Our rst
data polls will be simulated to validate two project modules. In this paper, we
present the ADGEPA project, its simulation model, and our Arduino prototype
proposal to collect environmental data.
Resumo. O projeto ADGEPA prev uma rede de sensores para captar dados
ambientais e uma aplicao web responsiva para usurios fazerem denncias
acerca de aspectos socioambientais em um cenrio. Dos dados, pesquisamos
por novas informaes com uso de tcnicas de Descoberta de Conhecimento em
Base de Dados. Os nossos primeiros dados sero simuladas para validar dois
mdulos do projeto. Neste trabalho, ns apresentamos o projeto ADGEPA, o
seu modelo de simulao e a nossa proposta de um prottipo para captao de
dados ambientais com uso da plataforma Arduino.
1. Introduo
Muitos dos grandes centros urbanos do mundo apresentam problemas em comum rela-
cionados mobilidade urbana, poluio, violncia, acidentes, sade pblica, falta de in-
fraestrutura adequada para eventos climticos recorrentes, dentre outros. Com tendn-
cias
1
de crescimento constantes, os centros urbanos tm muita carncia de formas mais
ecientes de gesto do seu espao fsico e de seus recursos socioambientais.
Alguns desses problemas so abordados em pesquisas na esfera da computao.
Na equipe de Vikatos [Vikatos et al. 2011] os pesquisadores projetaram um sistema de
monitoramento de dados ambientais com o uso de plataformas de sensores. Eles contaram
com a participao de voluntrios, zeram testes em ambiente urbano de pequena escala
e mediram valores de concentrao dos gases metano e monxido de carbono.
Um exemplo de uso de plataformas de sensores para captar dados ambientais e
auxiliar na resoluo de problemas sociais o trabalho de [Rosi et al. 2010], no qual um
prottipo para monitoramento de reas com risco de desmoronamento foi desenvolvido.
Consideraram a leitura de dados de movimentos de encostas, temperatura, presso e umi-
dade.
1
Pode-se constatar essas tendncias pelos Censos do IBGE, disponveis em
http://www.ibge.gov.br/home/
X Encontro Anual de Computao - EnAComp 2013
49
No trabalho de [Angove et al. 2010], foi desenvolvido um prottipo para a leitura
da concentrao de monxido de carbono e compostos orgnicos volteis (COVs) em
ambientes residenciais e comerciais em uma tentativa de associao de problemas de
sade com a exposio a gases. Ward e Wall, por suas vezes, apresentam um sistema de
gerenciamento de ambientes internos que, por meio de leituras de sensores e participao
dos usurios, auxilia a manuteno de prdios mais sustentveis, confortveis e ecientes
[Wall and Ward 2009].
Nos trabalhos supracitados, os autores apresentaram propostas de sistemas basea-
dos em sensores para captao, armazenamento e anlise de dados ambientais. Eles
atacaram problemas bem delimitados e com dados bem denidos. Embora essas con-
tribuies foram muito importantes, acreditamos que seja possvel aumentar considera-
velmente a amplitude do uso de sensores para um sistema inteligente de gesto de ambi-
entes urbanos de grandes propores que lidam com diversas variveis, sejam elas classi-
cveis pelo senso comum do homem (e.g. existe despejo de esgoto em corpo de gua),
ou aquelas que exigem equipamentos especcos (e.g. temperatura). Em nosso projeto,
identicamos possveis padres e relaes entre essas variveis de cunho socioambiential
e pesquisamos formas de auxiliar planejamentos e gestes de espaos urbanos.
Apresentamos na Seo 2 uma viso geral sobre o projeto, as motivaes, obje-
tivos e metodologias utilizadas. Em seguida, abordamos a simulao no projeto Assis-
tente Digital para Gesto Pblica Participativa (doravante, ADGEPA). Posteriormente, na
Seo 4, descrevemos em detalhes o nosso modelo de captao de dados ambientais com
uso de sensores. Na Seo 5, apresentamos os trabalhos atuais no projeto e as atividades
futuras. Por ltimo, apresentamos nossas consideraes nais na Seo 6.
2. O Assistente Digital para Gesto Pblica Participativa
Observamos que existe um campo pouco explorado no que diz respeito coleta e anlise
de dados referentes a aspectos socioambientais em cenrios urbanos de mdio e grande
porte. Sistemas capazes de captar e processar esses tipos de dados e identicar relaes
e padres relevantes (a partir desses dados) podem trazer melhores solues de gesto de
recursos socioambientais.
2.1. Motivao
Uma das principais motivaes do projeto a investigao de gesto participativa pela
considerao de problemas socioambientais denunciados pela populao. A identicao
de associaes e correlaes entre esses problemas pode ser um fator fundamental na es-
colha de estratgias ecientes para resoluo dos principais anseios da populao. Um
aspecto positivo no processo o vis participativo e a possibilidade de ser mais e-
ciente que prticas convencionais de gesto pblica (alguns trabalhos j mostraram isso
[Adamatti 2007], [Sebba Patto 2010]). Porm, nem todos os fatores socioambientais po-
dem ser percebidos ou so percebidos e classicados de forma imprecisa ou ambgua.
Para alguns desses fatores, como luminosidade e umidade relativa do ar, possvel fazer
a aferio de valores de forma precisa pelo uso de sensores.
2.2. Objetivos
O projeto ADGEPA prope uma forma de fazer leituras das percepes de cidados so-
bre de determinados problemas socioambientais. A partir dessas percepes, espera-se
X Encontro Anual de Computao - EnAComp 2013
50
auxiliar o poder pblico na escolha de estratgias que possam minimizar ou eliminar os
problemas socioambientais mais relevantes determinada populao.
Com o intuito de coletar dados, pretendemos implementar (i) uma aplicao web
responsiva para que usurios faam denncias sobre problemas socioambientais em cartas
geogrcas e (ii) um conjunto de miniestaes para coleta e envio de dados ambientais.
Pelo uso de tcnicas de KDD (Knowledge Discovery in Database, em portugus: Des-
coberta de Conhecimento em Base de Dados) esperamos descobrir informaes novas a
partir de padres e associaes entre os dados [Fayyad et al. 1996]. A partir das novas in-
formaes, pretendemos dar suporte a deciso para escolha de problemas socioambientais
a serem atacados.
2.3. Metodologia
Pretendemos fazer coleta de dados socioambientais a partir de duas fontes coletoras: um
aplicativo web responsivo e miniestaes para coleta de dados ambientais. O aplicativo
considera 29 indicadores ambientais e 30 sociais. A plataforma de sensores baseada em
Arduino
2
considera 4 variveis ambientais (detalhes na Seo 4).
Aps a coleta de dados, buscamos padres e associaes entre dados para que
possamos compreender melhor possveis relaes entre dados da nossa pesquisa. Em
nosso projeto, dispomos do apoio de dois especialistas do domnio que nos ajudam na
compreenso dos dados, tanto com relao granularidade quanto questo da repre-
sentatividade de dados. Esses fatores so considerados importantes para a realizao de
KDD [Silva 2004].
Para tratar as novas informaes (descobertas com KDD), modelamos um agente
computacional (a ser implementado) que faz uso de tcnicas de anlise multicritrio. Aps
a escolha de um mtodo de anlise multicritrio (ainda em estudo), pretendemos apresen-
tar estratgias mais ecientes para resolver os problemas de maior anseio por parte da
populao (que faz denncias no aplicativo web responsivo). O gestor articial ter trs
pers e, de acordo com o perl escolhido, apresentar sugesto para atacar problemas
mais relevantes para a populao de uma determinada comunidade.
3. Simulao do ADGEPA
3.1. Justicativa
A recolta de dados por parte da aplicao web responsiva e dos prottipos Arduino com
sensores ambientais toma muito tempo para que se tenha quantidade de dados satisfatria
para buscar novos conhecimentos com KDD. Alm disso, seria preciso quantidade ele-
vada de sensores para que eles fossem espalhados em uma cidade. Face a esse grande
obstculo, decidimos simular os dados com uso de sistemas multiagentes. A justica-
tiva para a escolha desta tcnica se deve facilidade de se modelar sistemas orientados
a agentes; possibilidade de se desenvolver modelos que simulem dados coerentes com
a realidade; e, alm disso, agentes inteligentes possuem caractersticas desejveis para
nossa aplicao, e.g.: proatividade, reatividade, cooperao, autonomia e capacidade de
operar em ambientes dinmicos [Wooldridge and Jennings 1995].
2
Arduino uma plataforma open-source para prototipao de dispositivos eletrnicos baseada em hard-
ware e software exveis e fceis de usar. Disponvel em: http://www.arduino.cc/
X Encontro Anual de Computao - EnAComp 2013
51
3.2. Os agentes
O projeto ADGEPA prev desenvolvimento de quatro tipos de agentes computacionais.
O primeiro agente denominado de Agente Ambiente porque ele tem o objetivo
de representar ambientes virtuais para Agentes Usurios. A simulao de dados acerca de
temperatura, umidade relativa do ar, luminosidade e quantidade de monxido de carbono
dever ser feita pelo Agente Ambiente.
Os Agentes Usurios so responsveis pela simulao de atividades humanas em
um cenrio. Eles faro denncias de acordo com a percepo do ambiente.
Agentes Mineradores so responsveis pelo agrupamento temporal e espacial de
dados. A partir desses agrupamentos, eles faro busca por associaes entre aspectos
socioambientais e entre esses aspectos e tempo.
O ltimo agente denominado Agente Gestor e tem objetivo de auxiliar gestores
pblicos a encontrar estratgias para reduzir ou eliminar problemas socioambientais mais
denunciados pelos usurios do sistema.
3.3. A simulao
Mesmo que o tempo para coletar dados socioambientais via aplicativo web responsivo e
via sensores impraticvel, decidimos seguir com o desenvolvimento experimental dos
dois artefatos. Porm os dados sero simulados a princpio. Pela simulao multiagentes,
acreditamos simular dados coerentes com a realidade, por exemplo, simular poluio de
gua em um rio ou em um lago (muitos trabalhos de simulao multiagentes apresentaram
resultados muito satisfatrios, inclusive para simular humanos, e.g. [Ishida et al. 2007]).
A simulao um grande desao, haja vista que preciso (a) representar um
ambiente com dezenas de elementos cartogrcos; (b) simular centenas ou milhares de
usurios do sistema; (c) garantir que as aes simuladas (pelos Agentes Usurios) sejam
coerentes; e (d) garantir que Agentes Usurios se comuniquem como Agente Ambiente
de forma que sejam capazes de perceber um trecho de uma carta urbana.
Alguns elementos de cidades so: escolas, igrejas, bares, restaurantes, cinemas,
teatros, feiras, supermercados e locais de trabalho. Os Agentes Usurios percebem o
mapa pela comunicao com o Agente Ambiente.
Cada simulao representa um intervalo temporal que pode durar meses ou anos;
possui um nmero de Agentes Usurios; e uma representao de um cenrio urbano, feita
pelo Agente Ambiente.
Findada a simulao da coleta de dados, os Agentes Mineradores so invocados
para fazer agrupamentos por regies (uma regio da cidade pode ser dividida em 1000
mircoregies, por exemplo) e momentos (cada uma das microregies pode ser agrupada
por dias, semanas ou meses). Em seguida, so feitas buscas por associaes.
Ao encontrar as associaes, entra em cena o Agente Gestor. Este agente faz a
seleo das variveis (denncias ou leituras de aspectos socioambientais mais relevantes)
e procura, de acordo com o seu perl, quais variveis devem ser atacadas para minimizar
o mximo possvel de problemas mais relevantes, segundo as denncias.
X Encontro Anual de Computao - EnAComp 2013
52
Atualmente, usamos o framework JADE
3
por se tratar de uma ferramenta bem
aceita por comunidades cientcas sobre simulao multiagentes. Alm disso, JADE
segue os padres de desenvolvimentos estabelecidos pela FIPA
4
[Bellifemine et al. 2007].
Na Figura 1, apresentamos gracamente a arquitetura de simulao para o
ADGEPA.
Figure 1. Arquitetura geral da simulao
4. Modelo de captao de dados ambientais
Para a captao de dados ambientais que no so percebidos ou so percebidos e classi-
cados de forma imprecisa ou ambgua por seres humanos, desenvolvemos um mecanismo
simples e de baixo custo pelo uso da plataforma de prototipagem eletrnica Arduino.
Em nosso prottipo preliminar usamos uma placa Arduino Uno com processador AT-
mega328P, sensores de umidade, de temperatura, de luminosidade e de concentrao de
Monxido de Carbono (CO) no ar, com uma placa Ethernet para a comunicao com o
servidor de dados. Experimentalmente, utilizamos como fonte de energia um cabo USB
ligado porta serial do Arduino e uma placa Ethernet para a comunicao. Na Figura 2
apresentamos um esquema do prottipo com o auxlio de uma placa base de prototipao
eletrnica (protoboard).
Implementamos um programa em Arduino (linguagem de programao da
plataforma homnima). Ele responsvel pela captura e converso de sinais eltricos
dos sensores em informaes ambientais. O objetivo desta parte do software receber e
enviar dados pela internet a um servidor web Java, que recebe os dados e os armazena em
um banco de dados.
Na verso atual, nosso prottipo afere as seguintes variveis: temperatura, umi-
dade relativa do ar, luminosidade e concentrao de monxido de carbono. As leituras
3
JADE - Java Agent Development Framework. Disponvel em http://jade.tilab.com/
4
FIPA - Foundation for Intelligent Physical Agents. Disponvel em http://www.pa.org/
X Encontro Anual de Computao - EnAComp 2013
53
Figure 2. Esquema do prottipo
so feitas em intervalos de tempo pr-denidos. Inicialmente, nosso programa foi ajus-
tado para fazer leituras a cada 10 minutos (esse tempo pode ser facilmente modicado
de acordo com a modelagem). A cada leitura, o prottipo verica se h necessidade de
envio de dados ao servidor. Atualmente, descartamos envio de dados quando ocorrem
mudanas na ordem de at: dois graus Celsius, cinco porcento da umidade relativa do ar,
cinco porcento no valor de luminosidade e cinco porcento no valor da concentrao de
monxido de carbono. Os valores desprezados para temperatura e umidade foram esco-
lhidos com base na margem de erro apresentada na especicao do fabricante.
5
Isto ,
se o componente para aferir temperatura atmosfrica registra mudana de 1 grau na tem-
peratura (para cima ou para baixo), no feito novo envio de dados ao servidor. Para os
demais componentes, no encontramos informaes acerca da margem de erros de aferi-
es nas especicaes do fabricante. Assim, propomos desprezar mudanas na ordem
de at 5 porcento.
Em nosso modelo, pequenas variaes nos valores no causam envio dos dados.
Essa deciso proporciona economia de energia (que pode ser umponto crtico no prottipo
de sensores) e a reduo de trfego de dados desnecessrios (que pode ser umponto crtico
por se tratar de conexo em redes com capacidade de trfego limitado).
5. Trabalho atual e prospecto de atividades
O nosso projeto bastante abrangente e envolve simulao multiagentes; captao de
dados socioambientais via aplicativo e via rede de sensores; descoberta de conhecimento;
e suporte a deciso. A maior parte dos agentes se encontram em fase de modelagem
5
Disponvel em http://www.micro4you.com/les/sensor/DHT11.pdf
X Encontro Anual de Computao - EnAComp 2013
54
(agente usurio, agentes mineradores e agente gestor). O agente ambiente est em fase
de codicao. Com relao plataforma de sensores, estamos em fase de estudo para
viabilizar o uso do prottipo; para isso, preciso que (i) o fornecimento de alimentao
eltrica ao prottipo seja mais duradouro e (ii) que a forma de envio de dados no dependa
de uma rede Ethernet e possa ser realizada atravs de rede sem o.
6. Concluso
Neste artigo, apresentamos o projeto ADGEPA e demos nfase em uma das suas formas
para captao de dados: uso de dispositivos sensoriais para leitura de dados ambientais.
Tendo em vista a necessidade de grande lapso temporal para coleta de dados pela apli-
cao web responsiva e pelos sensores de captao de variveis ambientais, o projeto
prope a simulao de dados com o uso de Sistema Multiagentes. O projeto ainda re-
cente e no possui todos os seus mdulos desenvolvidos. Ainda ser necessrio fazer a
integrao das partes, testes e avaliaes ao nal deste processo.
Pelo uso da plataforma Arduino para captao de dados ambientais, percebemos
grande exibilidade em relao a mudanas. Isso nos possibilita, por exemplo, alterar os
tipos de sensores (para captar outras variveis) ou a forma de comunicao como servidor,
que poderia ser substituda por outras tecnologias como Bluetooth e UMTS (3G). As
mudanas podem ser feitas facilmente, com baixo custo e no apresentam impactos ou
inconsistncias no funcionamento do restante do sistema. Dessa forma, o mdulo de
captao de dados tambm exvel e representa boas oportunidades para estudos futuros,
alm de proporcionar a captura de dados que seres humanos tm diculdade de percepo
precisa, como temperatura, umidade e presso do ar.
Sabemos que a simulao multiagentes no representar elmente ambientes e/ou
dados gerados por usurios humanos ou captados por sensores. Todavia, acreditamos
que, aps a integrao dos mdulos do projeto ADGEPA, os mdulos para descoberta de
conhecimento e para suporte a deciso independero do cenrio. Isso, ao nosso entender,
os tornam muito promissores. Crticas e dados de projetos similares ou relacionados so
bem-vindos.
7. Agradecimentos
Agradecemos aos professores Ivanilton Jos de Oliveira e Patrcia de Arajo Romo; ao
aluno de mestrado Leonardo Afonso Amorim; e aos alunos de graduao Alex Pereira
Maranho, Mirelle Cristina Lima Silva e Carlos Henrique Barros Costa por suas valiosas
contribuies nas atividades desenvolvidas no projeto. Atualmente, o projeto nanciado
pela FAPEG.
References
Adamatti, D. F. (2007). Insertion of virtual players in role-playing games group decision
support systems: An experiment in the natural resources management domain. PhD
thesis, Escola Politcnica da Universidade de So Paulo.
Angove, P., OFlynn, B., Hayes, J., Diamond, D., OGrady, M. J., and OHare, G. M.
(2010). Air-quality monitoring for pervasive health. IEEE pervasive computing.
X Encontro Anual de Computao - EnAComp 2013
55
Bellifemine, F., Caire, G., and Greenwood, D. (2007). Developing Multi-Agent Systems
with JADE. Wiley, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ,
England.
Fayyad, U., Piatetsky-Shapiro, G., and Smyth, P. (1996). From data mining to knowledge
discovery in databases. AI Magazine.
Ishida, T., Nakajima, Y., Murakami, Y., and Nakanishi, H. (2007). Augmented experi-
ment: Participatory design with multiagent simulation. In International Joint Confer-
ence on Articial Intelligence (IJCAI07).
Rosi, A., Bicocchi, N., Castelli, G., Corsini, A., Mamei, M., Zambonelli, F., and Berti,
M. (2010). Landslide monitoring in the emilia romagna apennines. IEEE pervasive
computing.
Sebba Patto, V. (2010). The use of assistant agents for the analysis and decision making
in participatory management. PhD thesis, UFR dInformatique, Universit Pierre et
Marie Curie.
Silva, M. P. D. S. (2004). Minerao de dados - conceitos, aplicaes e experimentos com
weka. Sociedade Brasileira de Computao.
Vikatos, P., Theodoridis, E., Mylonas, G., and Tsakalidis, A. (2011). Patrassense- partic-
ipatory monitoring of environmental conditions in urban areas using sensor networks
and smartphones. In Panhellenic Conference on Informatics.
Wall, J. and Ward, J. (2009). Optimal distributed control for sustainable buildings. IEEE
pervasive computing.
Wooldridge, M. and Jennings, N. R. (1995). Intelligent agents: Theory and practice. The
Knowledge Engineering Review.
X Encontro Anual de Computao - EnAComp 2013
56
Simulac ao baseada em aut omatos celulares para a evacuac ao
emergencial de pedestres em ambientes com geometria
complexa
Andr e P. de Castro
1
, Danielli A. Lima
1
1
Instituto Federal do Tri angulo Mineiro (IFTM) Campus Avancado Patrocnio
Av. Lria Terezinha Lassi Capuano n 255 38.740-000 Patrocnio MG Brazil
Abstract. The security in buildings environments is an important aspect, espe-
cially in areas where permanence and movement of individuals are intense. If a
host fails to escape in time to a place of risk, by choosing a wrong way or a bad
way out, there is always the imminence of injury and even death. Computer-
based simulations are important in determining the reliability and safety of a
structural model. The use of cellular automata has proven useful in computer
simulation, especially by the parallelism inherent in them. The main objective
of the research was to propose a simulation model for emergency evacuation
based on the theory of cellular automata adapted from a precursor model.
Resumo. A seguranca em ambientes de edicac oes e um aspecto importante,
principalmente em areas em que a perman encia e a circulac ao de indivduos
s ao intensas. Caso uma multid ao falhe ao escapar em tempo de um local de
risco, pela escolha de um caminho errado ou de uma sada ruim, h a sempre a
imin encia de les oes e at e mesmo de morte. Simulac oes geradas por computador
s ao importantes para a determinac ao da conabilidade e seguranca de um mod-
elo estrutural. O uso de aut omatos celulares tem se mostrado util na simulac ao
computacional, principalmente pelo paralelismo inerente dos mesmos. O prin-
cipal objetivo da pesquisa foi a proposic ao de um modelo de simulac ao da
evacuac ao emergencial baseada na teoria de aut omatos celulares adaptado de
um modelo precursor.
1. Introduc ao
A natureza humana manifesta a caracterstica de interagir em sociedade, formando
aglomerac oes para prop ositos gerais. Rotinas de seguranca devem garantir a integridade
fsica de cada indivduo dentro de estruturas prediais, onde a formac ao de multid oes pode
ocorrer devido a fatores desencadeadores de p anico como, por exemplo, inc endios, con-
itos e at e mesmo atentados terroristas.
Simulac oes de evacuac oes emergenciais, baseadas em sistemas computacionais,
inuenciam na execuc ao de um plano de seguranca predial [Burstedde et al. 2001]. As
simulac oes s ao estruturadas a partir de abstrac oes de realidades descritas e o estudo delas
geram resultados que, quando comparados, delimitam medidas que servem como base
para o nivelamento de seguranca de uma estrutura [Perez et al. 2002]. A evacuac ao sob
condic oes fsicas e temporais e relevante, visto que, se um indivduo ou multid ao come-
tem falhas ao tentar escapar em uma situac ao de p anico, seja por encontrarem obst aculos
em sua trajet oria, sadas mal elaboradas ou caminhos incorretos; tendem ao envolvimento
X Encontro Anual de Computao - EnAComp 2013
57
de risco a morte. Em caso de empecilhos na sada predial, les oes podem ocorrer, resul-
tantes de conitos, pisoteamentos e em casos mais graves a morte de pessoas.
Uma ferramenta util na elaborac ao de simulac oes gerenciadas por computador s ao
estabelecidas por modelos matem aticos conhecidos como Aut omatos Celulares (ACs).
Existem diversas aplicac oes no uso de aut omatos celulares, dentre elas, podemos citar a
modelagem de fen omenos naturais, fsicos ou biol ogicos, que seriam muito difceis de
serem modelados pelas equac oes diferenciais, sendo estas as mais utilizadas nesse tipo de
tarefa. Al em disso, os ACs possuem alto nvel de paralelismo, quando implementados em
um hardware paralelo [Oliveira 2003].
2. Objetivo
Este trabalho tem por objetivo a proposic ao de um modelo de evacuac ao com alterac oes
l ogicas de implementac ao do c alculo de movimentac ao de pedestres utilizando-se
aut omatos celulares bidimensionais. As caractersticas principais do modelo bidimen-
sional proposto por [Varas et al. 2007] ser ao preservadas. A m de avaliar o modelo sug-
erido, testes em diferentes situac oes foram realizados. As simulac oes fornecem o tempo
de evacuac ao total de uma quantidade de pessoas e a partir de v arias simulac oes e possvel
obter a m edia geral do tempo de evacuac ao.
3. Fundamentac ao te orica e trabalhos relacionados
3.1. Aut omatos celulares
Um AC e composto por um reticulado com uma dimens ao d dividido em c elulas ou
unidades processadoras, sendo que, cada c elula C e representada por um estado. As
c elulas modicam seus estados a cada passo de iterac ao de acordo com uma regra de
transic ao. Podemos aplicar a regra de transic ao por T passos de tempo para obter a
evoluc ao espaco-temporal do reticulado do AC. A regra estabelecida por uma func ao de
transic ao indica o novo smbolo a ser escrito na c elula do reticulado de acordo com seu
estado atual e dos estados de suas vizinhas (regra local). Em sua denic ao mais usual, a
atualizac ao dos estados se d a de forma sncrona e utiliza uma regra determinstica, isto
e, a cada passo de tempo todas as N c elulas do reticulado s ao atualizadas. No modelo
proposto neste trabalho, o sistema de regras e probabilstico, ou seja, e possvel alterar o
estado de uma c elula a partir de uma func ao de probabilidade, isso signica que as regras
de atualizac ao s ao probabilsticas e, portanto, o estado de uma c elula em um determinado
instante depende probabilisticamente dos estados de suas c elulas vizinhas no passo de
tempo imediatamente anterior [Lima 2010].
A estruturac ao de um AC unidimensional (1D) e a forma mais estudada. A
mudanca de estado de uma c elula depende de m vizinhas expressas por m = (2r + 1),
sendo r o raio do AC [Oliveira 2003]. Para ilustrar um AC unidimensional considere
a Figura 1 (a), que aborda uma modelagem conhecida como regra 30 [Wolfram 2002],
contendo um reticulado de 6 c elulas sendo que o estado inicial de cada c elula e apresen-
tado em t = 0. Uma regra bin aria de raio 1 e aplicada, sendo que a vizinhanca de cada
c elula e formada por tr es elementos: a pr opria c elula e suas duas vizinhas adjacentes (` a
esquerda e ` a direita). Como esse AC e bin ario (2 estados possveis), existem 8 diferentes
vizinhancas, da 000 a 111. A regra em si e dada pelos 8 bits de sada associados a cada
vizinhanca possvel: 01111000. Na Figura 1 (b) vemos a atualizac ao do reticulado de
N = 6 por 2 passos de tempo a partir de sua congurac ao inicial 101110 em t = 0. A
X Encontro Anual de Computao - EnAComp 2013
58
cada passo, cada c elula do reticulado e atualizada identicando-se sua vizinhanca e seu
novo estado e dado pelo bit de sada correspondente na regra de transic ao. Observe como
exemplo, a c elula de smbolo 1, destacada em t = 0, seu pr oximo estado ser a 0 em t = 1.
O reticulado e submetido a condic oes peri odicas de contorno, sendo que a primeira c elula
e vizinha imediata da ultima, e vice-versa. Aplicando-se esse procedimento para todas as
c elulas do reticulado de forma sncrona, tem-se a nova congurac ao do reticulado a cada
passo de tempo.
Os ACs fundamentados em duas dimens oes (2D) s ao amplamente conhecidos na
literatura. ACs bidimensionais tamb em s ao muito usados para a representac ao de padr oes
gr acos, j a que sua execuc ao assemelha-se a uma imagem pixelizada. Essa dimens ao
contempla variadas formas para a considerac ao da vizinhanca de uma c elula, sendo que
as duas principais est ao apresentadas na Figura 1 (c) e (d), tal que o smbolo representa
a c elula alvo e o smbolo identica a c elula vizinha. Dentre as aplicac oes de ACs bidi-
mensionais, o modelo mais conhecido e o jogo matem atico proposto por [Conway 1970]
denominado Game of Life.
Figura 1. (a) Regra de transic ao de raio 1. (b) Evoluc ao do AC por T=2 passos de
tempo. (b) Vizinhanc a de Von Neumann. (d) Vizinhanc a de Moore.
3.2. Modelos para evacuac ao baseados em ACs
Diversos autores apresentaram abordagens de como utilizar ACs para simular ambientes
de evacuac ao de multid oes, descrevendo modos de controle do tr ansito dos indivduos
e como fatores externos afetam a evacuac ao. O modelo proposto neste trabalho e forte-
mente baseado no modelo proposto em [Varas et al. 2007] e [Carneiro 2012]. Os modelos
consistem de duas etapas: a primeira etapa, um campo de piso (malha) e demarcado para
representar a planta de uma estrutura. A segunda etapa apresenta um conjunto de re-
gras de transic ao que permitem o deslocamento dos pedestres sobre essa malha. Para
isso [Varas et al. 2007] elaborou um modelo de AC bidimensional para simular o pro-
cesso de evacuac ao dos pedestres em uma estrutura cujos obst aculos s ao xos e est ao
bem visveis para os indivduos que ali se encontram. O campo de piso de uma es-
trutura e formatado seguindo o conceito de que a partir de qualquer c elula e possvel
seguir o menor caminho at e a sada mais pr oxima. Para simular o comportamento dos
pedestres durante a evacuac ao, em ambos os modelos um fator de p anico foi introduzido,
respons avel por evitar a movimentac ao de uma porcentagem de pedestres no ambiente.
Segundo [Varas et al. 2007], quando um pedestre deseja se movimentar para uma c elula
j a ocupada, um conito deve ser resolvido, conforme exemplicado na Figura 2. Por
outro lado, em [Carneiro 2012] os pedestres podem seguir rotas alternativas caso uma
determinada c elula esteja ocupada.
X Encontro Anual de Computao - EnAComp 2013
59
Figura 2. Movimentos possveis para os pedestres no modelo de
[Varas et al. 2007]. O n umeros correspondem ao valor do campo de piso em
uma c elula, os arcos representam as intenc oes de movimento, e os smbolos
representam os pedestres em v arias situac oes. Crculo preenchido: o pedestre
movimenta-se para uma c elula adjacente para minimizar o seu campo de piso.
Crculos abertos: dois pedestres tentam se movimentar para a mesma c elula;
um n umero rand omico decide quem se movimenta. Tri angulo preenchido: duas
c elulas adjacentes com o mesmo campo de piso, os pedestres decidem ran-
domicamente para onde mover. Tri angulo aberto: pedestres em p anico, n ao se
movimentam.
4. Modelo proposto
O modelo proposto e fortemente baseado nos modelos de [Varas et al. 2007] e
[Carneiro 2012] e consiste de duas etapas: a primeira etapa e a criac ao de um campo
de piso, onde cada c elula desse piso consiste de um valor inteiro e positivo que guia a
escolha do pedestre no momento de fuga. A segunda etapa baseia-se utilizac ao de regras
que permitem a movimentac ao dos pedestres de forma segura.
4.1. Campo de piso
Inicialmente, a representac ao da estrutura predial 3D e transformada para uma estrutura
2D, conforme e observado na Figura 3 (a). Posteriormente, e realizada uma atribuic ao
com valores inteiros em cada c elula de piso da estrutura que ser a simulada. A atribuic ao
dos pesos das c elulas do reticulado segue o algoritmo proposto por [Varas et al. 2007],
com a adic ao do valor da c elula adjacente +1.0 para horizontal ou vertical e +1.5 para as
c elulas na diagonal. Um exemplo do campo de piso adotado no modelo e apresentado na
Figura 3 (c) e (d).
Figura 3. (a) Estrutura predial 3D. (b) Transformac ao da estrutura 3D para campo
de piso 2D e pontos verdes representam os pedestres. (c) Campo de piso com
18 14 c elulas utilizado no modelo [Varas et al. 2007]. A porta de sada est a do
lado esquerdo (c elulas com valores igual a 1); as c elulas correspondentes ` as
paredes s ao atribudos valores de 500. (d) Campo de piso de 18 14 c elulas e
um obst aculo na parte central.
X Encontro Anual de Computao - EnAComp 2013
60
4.2. Movimentac ao de pedestres
Posteriormente uma nova grade com pedestres alocados e considerada no modelo, con-
forme e mostrado na Figura 3 (b). A alocac ao inicial desses pedestres n ao pode so-
brepor os obst aculos. Por m, uma regra que guia a movimentac ao dos indivduos na
estrutura deve ser elaborada. A regra de movimentac ao dos pedestres e o principal as-
pecto que distingue o modelo proposto dos modelos precursores em [Varas et al. 2007] e
[Carneiro 2012]. A t ecnica considerada neste trabalho e descrita a seguir:
A cada passo de tempo os indivduos no reticulado de pedestres escolhem seu
caminho e avancam em direc ao a sadas. Para a escolha de rota o pedestre sempre tenta
ir em direc ao a porta mais pr oxima, tendo como alvo a c elula adjacente com menor valor
de piso.
1. Para o c alculo da rota, um indivduo do reticulado observa se sua c elula alvo est a
desocupada, caso esteja ele opta por esperar que ela seja desocupada ou avanca
para a c elula adjacente a da c elula alvo. Comisso, o caminho de todos os pedestres
e calculado.
2. Tentativas para que os pedestres possam avancar sobre o reticulado s ao realizadas.
Todas as c elulas s ao observadas e seu endereco e comparado com as rotas calcu-
ladas.
(a) Se uma rota corresponde ao valor da c elula em observac ao, verica-se a
vizinhanca para a constatac ao de novos candidatos.
(b) Se n ao h a mais candidatos o pedestre e movido.
(c) Caso o n umero de candidatos, a ocupar a c elula alvo, seja maior que 1; a
disputa e decidida lancando-se um n umero aleat orio, e o candidato vence-
dor tem direito de mover-se para a c elula pretendida e o perdedor recalcula
sua rota.
3. Se um indivduo alcanca a porta, ele e eliminado para n ao impedir os demais de
evacuarem.
4. Os passos (1), (2) e (3) s ao refeitos at e que todos os pedestres sejam movidos.
As principais diferencas dos modelos e denida a seguir: no modelo de
[Varas et al. 2007] o pedestre que n ao se movimentou s o prosseguiria no pr oximo passo
de tempo Figura 4 (a). No modelo em [Carneiro 2012] o pedestre obrigatoriamente se
moveria para a c elula com menor valor adjacente da c elula anteriormente escolhida Figura
4 (b). Considerando-se a fus ao das t ecnicas propostas nesses dois modelos, o delinea-
mento do modelo apresentado nesse trabalho, estabelece que o pedestre poder a aguardar
que sua c elula desejada seja liberada com a movimentac ao do pedestre que a ocupa, ou
escolher outra c elula para a realizac ao do movimento Figura 4 (c).
Figura 4. Movimentac ao de dois pedestres em caso de conito (a) Modelo de
[Varas et al. 2007] (b) Modelo de [Carneiro 2012] (c) Modelo proposto.
X Encontro Anual de Computao - EnAComp 2013
61
5. Resultados experimentais
Inicialmente foram realizados alguns testes para a vericac ao de formac ao de padr oes
durante a evacuac ao que ocorrem no modelo proposto. O principal comportamento ob-
servado, e que distingue o modelo apresentado dos demais j a relatados na literatura de
ACs, e a tend encia da formac ao de las, resultante das adaptac oes l ogicas do modelo pre-
cursor, ou seja, os grupos de indivduos tendem a deslocar-se ordenadamente em direc ao
` as sadas.
A t ecnica proposta tamb em foi testada em uma estrutura complexa (com
obst aculos) similar a uma estrutura real. O novo experimento levou em considerac ao,
locais aleat orios para a inserc ao dos pedestres. Para os pedestres, 130 c elulas foram reser-
vadas para cada simulac ao. A planta da area estudada pode ser vista na Figura 5.
Figura 5. Estrutura complexa simulada a partir de 130 indivduos gerados aleato-
riamente.
O histograma da Figura 6 aponta os dados obtidos com a simulac ao da planta
da Figura 5 a partir de 100 execuc oes. As classes de intervalos no gr aco representam
as quantidades de iterac oes necess arias para que todos os pedestres pudessem evacuar da
estrutura complexa. Dessa forma, pode-se perceber que o modelo de movimentac ao e bas-
tante eciente no que diz respeito ` a distribuic ao de quantidades de passos de evacuac ao,
uma vez que, o histograma apresenta uma distribuic ao pr oxima ` a normal. Isso signica
que os valores obtidos n ao sofreram grande variac ao em relac ao ` a m edia (

X = 150 pas-
sos). Assim, os resultados gerados pelo modelo foram convergentes para um valor xo.
Considerando-se o tempo de passo 0, 4s proposto em [Varas et al. 2007], ent ao o tempo
de evacuac ao m edio foi cerca de 60 segundos. Esse tempo e perfeitamente aceit avel, em-
bora o local mais distante da estrutura esteja localizado cerca de 20m da sada todos os
corredores s ao tracados com angulos retos e as barreiras s ao ortogonais, diminuindo o
tempo de evacuac ao.
Posteriormente, mais experimentos a m de denir a posic ao estrat egica das
portas de sada foram realizados. Para isso, foram adotadas as mesmas caractersticas
de ambiente testadas por [Varas et al. 2007]. Para facilitar a an alise, apenas as estruturas
complexas foram utilizadas, como a exibida na Figura 7 (a), ocupada por 50 indivduos.
Al em disso, as portas foram inicialmente rotuladas e foram alternadas a cada bloco de
testes. Nesse caso, as portas s ao consideradas separadamente e somente um indivduo
pode retirar-se da sala em um determinado passo de tempo, ou seja, a sada s o e permitida
por uma unica pessoa. Para a an alise do local mais indicado para as sadas e observado o
r otulo de sada que possui a menor quantidade de iterac oes. No total, 10 simulac oes s ao
realizadas, para cada uma das 30 posic oes diferentes das sadas indicadas Figura 7(a).
Os resultados observados em [Varas et al. 2007] resultou em m edias que variam de 98 a
X Encontro Anual de Computao - EnAComp 2013
62
Figura 6. Histograma que representa as frequ encias de dados obtidas para cada
classe (quantidade de passos necess arios para a evacuac ao).
106 passos de tempo para cada porta alternada na mesma estrutura, conforme o gr aco da
Figura 8(a). Realizando os testes em estruturas complexas, algumas diferencas surgiram
entre os dois modelos. Nesse caso, notou-se que a evacuac ao e realizada mais rapida-
mente e as m edias variam de 52, 1 a 95 passos de tempo para cada porta modicada, por
outro lado, a melhor rota de fuga est a pr oximo ` a sada 30, conforme tamb em foi obser-
vado no modelo de [Varas et al. 2007]. O tempo de evacuac ao no modelo proposto est a
abaixo dos valores obtidos por [Varas et al. 2007] e pode ser explicado devido ao fato de
que no modelo precursor, apenas um pedestre se movia em caso de conito de c elulas e
o outro cava paralisado. No modelo aqui descrito, esse pedestre pode escolher uma rota
alternativa, al em disso, o caso de p anico n ao foi considerado neste trabalho.
Figura 7. Estrutura: (a) [Varas et al. 2007], (b) geometria aplicada ao modelo pro-
posto e em (c) modelo proposto ap os 15 iterac oes.
Figura 8. (a) Modelo em [Varas et al. 2007] m edia das iterac oes(T) em func ao
da localizac ao da porta na estrutura. (b) Resultados dos testes obtidos com o
modelo proposto considerando apenas as estruturas complexas, ou seja, salas
com obst aculos.
6. Conclus oes e trabalhos futuros
Neste trabalho foi investigado um modelo de aut omatos celulares bidimensionais funda-
mentado em modelos precursores aplicados a simulac ao de evacuac ao emergencial para
X Encontro Anual de Computao - EnAComp 2013
63
ambientes complexos. Para a modelagem do AC detalhado no trabalho, considerou-se
a implementac ao descrita por [Varas et al. 2007] e as complementac oes idealizadas por
[Carneiro 2012]. Todas as adaptac oes l ogicas foram concebidas com a an alise desses
modelos precursores. Al emdisso, uma an alise das caractersticas do modelo desenvolvido
foi abordada.
Com a execuc ao do modelo descrito foi possvel gerar dados visuais, onde os
comportamentos de padr oes sociais inseridos durante a evacuac ao puderam ser observa-
dos. Al em disso, dados estatsticos foram obtidos relacionando a m edia das iterac oes
com a quantidade de indivduos alocados em uma estrutura. A grande vantagem de se
usar o modelo desenvolvido, na simulac ao de evacuac ao emergencial, encontra-se no fato
de que ocorre uma padronizac ao das rotas de pedestres. Entretanto, n ao podemos garantir
que apenas os comportamentos inseridos por si s o j a comprovam a seguranca da estrutura
predial gerada pelo modelo. Mas, elas iniciam uma an alise que pode ser aprofundada em
um trabalho de pesquisa posterior.
Como continuidade desse trabalho, seria interessante a adaptac ao do modelo 2D
para um modelo 3D, no qual as alturas dos obst aculos poderiam ser avaliadas. Para
alcancar o paralelismo do modelo poderia ser utilizada uma implementac ao em hardware
paralelo, uma vez que toda a motivac ao para o emprego de ACs na simulac ao reside na
possibilidade de implementac ao eciente. Al em disso, acredita-se que, o fato do modelo
ser gerenciado por regras simples na func ao de transic ao, e possvel a adic ao de novos
par ametros para que diferentes comportamentos sociais possam ser observados no decor-
rer de uma mesma simulac ao. Essa inserc ao visa o objetivo do alcance de uma maior
delidade se comparado com uma situac ao real.
Refer encias
Burstedde, C., Klauck, K., Schadschneider, A., and Zittartz, J. (2001). Simulation of
pedestrian dynamics using a two-dimensional cellular automaton., pages 507 525.
Carneiro, L. O. (2012). Simulac ao de evacuac ao de multid ao por aut omato celular - estudo
de caso em um est adio de futebol. Masters thesis, Universidade Federal do Cear a.
Conway, J. H. (1970). Jogo da vida. Scientic American. Jogos matematicos.
Lima, D. A. (2010). Modelos de criptograa baseados no c alculo de pr e-imagem de
aut omatos celulares. Trabalho de Conclus ao de Curso em Ci encia da Computac ao -
Universidade Federal de Uberl andia, pages 20 21.
Oliveira, G. M. B. (2003). Automatos celulares: aspectos din amicos e computacionais.
III Jornada de Mini-cursos em Intelig encia Articial (MCIA) - Sociedade Brasileira
de Computac ao, 8:297 345.
Perez, G., Tapang, G., Lim, M., and Saloma, C. (2002). Streaming, disruptive interference
and power-lawbehavior in the exit dynamics of conned pedestrians., pages 609 618.
Varas, A., Cornejo, M., Mainemer, D., Toledo, B., Rogan, J., Munoz, V., and Valdivia, J.
(2007). Cellular automaton model for evacuation process with obstacles. Physica A:
Statistical Mechanics and its Applications, 382(2):631 642.
Wolfram, S. (2002). A New Kind of Science. Wolfram Media - (1st edition): 1197 -
2006-09-19T07:35:05.000+0200.
X Encontro Anual de Computao - EnAComp 2013
64
Uma abordagem de c odigo unico para aplicac oes
independentes de provedor de bases de dados relacionais
Willian Eduardo de Moura Casante
1
1
Fundac ao CPqD Centro de Pesquisa e Desenvolvimento em Telecomunicac oes
Rod. SP-340 km 118,5 CEP 13.086-902 Campinas SP Brasil
wcasante@cpqd.com.br
Abstract. Relational databases uses specic SQL extensions for their product
functions, which makes the development of complex applications unfeasible
mainly because compatibility with more than one relational database would re-
quire specic codes for each database. This paper describes the development
of multi-database applications based on a methodology of creation of the ins-
tallation artifacts for the database and a technique to develop multi-database
sources codes.
Resumo. Os bancos de dados relacionais fornecem funcionalidades especcas
de produtos atrav es de extens oes da linguagem SQL, inviabilizando o desenvol-
vimento de aplicac oes complexas e compatveis com mais de um banco de da-
dos relacional sem que essas aplicac oes tenham c odigo especco para cada um
deles. Este artigo aborda o desenvolvimento de aplicac oes totalmente indepen-
dentes de banco de dados atrav es de uma metodologia de criac ao de artefatos
de instalac ao da estrutura de dados e de uma t ecnica de desenvolvimento de
c odigo-fonte independentemente de produto.
1. Introduc ao
A linguagem SQL (Structured Query Language) [Chamberlin et al. 1981] e uma lingua-
gem de pesquisa e denic ao de estrutura de dados, inicialmente criada para SGBDs (Sis-
temas Gerenciadores de Banco de Dados), fortemente inspirada na algebra relacional
[Elmasri et al. 2005].
Necessidades n ao mapeadas no padr ao SQL desenvolvido e aceito pela ind ustria
exigiram dos fabricantes de SGBDs a denic ao de construc oes SQL especcas para seus
produtos e a criac ao de extens oes da linguagem que possibilitam o acesso das suas funci-
onalidades propriet arias.
Essas diferencas entre as diversas implementac oes da linguagem SQL prejudicam
o desenvolvimento de um sistema computacional compatvel com dois ou mais SGBDs
pois, para cada SGBD atendido, um conjunto de arquivos especcos para aquele dever a
ser mantido, tanto para a instalac ao do sistema quanto para o funcionamento correto de
seu c odigo-fonte.
2. An alise da incompatibilidade entre SGBDs
Um sistema computacional que realiza o armazenamento de suas informac oes em SGBDs
possui seus arquivos de instalac ao organizados em DDLs (Data Denition Language) e
DMLs (Data Manipulation Language).
X Encontro Anual de Computao - EnAComp 2013
65
DDL e um arquivo de metadados, que dene a estrutura das tabelas de um banco
de dados, composto por comandos SQL como, por exemplo, CREATE, ALTER e DROP.
Os arquivos do tipo DDL s ao os primeiros a serem executados durante a instalac ao de um
sistema computacional, visto que criam o arcabouco do sistema no SGBD.
DML e um arquivo de dados, cuja estrutura respeita elmente a estrutura denida
em seu respectivo arquivo DDL. Durante o desenvolvimento de um sistema pode, se ne-
cess ario, inicializar o banco de dados; essa inicializac ao e colocada em arquivos do tipo
DML. Os arquivos DML possuem comandos de INSERT, UPDATE, DELETE e SELECT,
tamb em utilizados de forma embutida dentro do c odigo-fonte do sistema.
2.1. A estrutura dos dados em um SGBD
Durante a an alise de um sistema, uma das tarefas e a denic ao de seu modelo de banco
de dados. Essa denic ao normalmente envolve a construc ao de entidades b asicas do
sistema, em uma linguagem visual de alto nvel, como, por exemplo, o modelo de
entidades e relacionamentos [Barbieri 1994] ou a UML (Unied Modeling Language)
[Jacobson et al. 1996]. Um exemplo simples de modelo UML pode ser observado na
Figura 1. Atrav es desse modelo inicial, os analistas de sistemas realizam um aprofunda-
mento na modelagem, atrav es da denic ao de todas as entidades e de seus relacionamen-
tos, para que o sistema possa ser construdo sobre esse modelo proposto. Conforme o
sistema e desenvolvido, novas entidades e relacionamentos s ao includos e estes, detalha-
dos e ent ao o sistema evoludo para os contemplar.
Figura 1. Exemplo de modelagem via UML
A partir da denic ao gr aca das entidades do modelo de banco de dados, um espe-
cialista dever a gerar um ou mais arquivos DDL, contendo os comandos SQL equivalentes
X Encontro Anual de Computao - EnAComp 2013
66
para a criac ao daquele modelo em um SGBD especco. Existem ferramentas que ge-
ram automaticamente esses arquivos a partir dos diagramas propostos, que est ao fora do
escopo deste artigo.
Umsistema que se prop oe a ser instalado emmais de umSGBDapresenta algumas
estrat egias que podem ser adotadas, para a criac ao de seus arquivos DDL:
Criac ao de um ou mais arquivos DDL por SGBD exige a replicac ao de artefatos
de trabalho (arquivos DDL) para cada um dos SGBDs; adiciona risco de erro na
convers ao, caso realizada de forma manual, como o risco da falta de sincronia en-
tre as atualizac oes dos artefatos. Como exemplo, um prossional obt em uma DDL
para o SGBD Oracle e deve convert e-la para funcionar no SGBD PostgreSQL e
causa um erro ao n ao trocar NUMBER(20) por NUMERIC(20);
Criac ao de um unico arquivo DDL para um SGBD e utilizac ao de uma ferra-
menta de convers ao para os outros SGBDs a convers ao por ferramenta mitiga
os possveis erros por em adiciona um passo ` a gerac ao do pacote de instalac ao do
sistema: a convers ao dos arquivos DDL. A exist encia de uma ferramenta que rea-
lize essa convers ao, bem como sua aquisic ao, caso seja comercial, e um requisito
prim ario, que pode ser substitudo pelo desenvolvimento da pr opria ferramenta,
como realizado no desenvolvimento da ferramenta JExodus [Neto and Passos ];
Gerac ao autom atica de modelo atrav es de c odigo-fonte alguns arcaboucos de
programac ao (por exemplo a especicac ao EJB (Entity JavaBean) do Java EE
[Patel et al. 2006]) permitem a denic ao de entidades program aticas e a gerac ao
do modelo de banco de dados de forma transparente. Esse formato n ao e apro-
veit avel em sistemas que necessitam controlar com precis ao seus modelos de
banco de dados ou realizar atualizac oes pois a instalac ao e a denic ao do mo-
delo cam a encargo do arcabouco. Pode haver conito no que diz respeito ` a
seguranca, onde a instalac ao da estrutura do banco de dados car a cargo de um
administrador do SGBD, ou durante a execuc ao, se o sistema obtiver uma conex ao
na qual apenas controla a atualizac ao dos dados neste SGBD.
2.2. A manutenc ao dos dados em um SGBD
A denic ao da estrutura, ou modelo, de um sistema em um SGBD, conforme descrito
na Subsec ao 2.1, dever a permitir a inserc ao, alterac ao, exclus ao e consulta dos dados
presentes nessa estrutura. Para realizar essas operac oes existem os comandos DML.
A instalac ao de um sistema pode necessitar de dados iniciais, inseridos durante a
pr opria instalac ao ou congurados por uma equipe de implantac ao, dados estes presentes
em scripts DML e tamb em, durante a utilizac ao do sistema, realiza esses comandos no
SGBD para que os dados sejam manipulados na citada estrutura.
Portanto, podemos listar dois cen arios a serem tratados:
A criac ao dos dados iniciais em uma estrutura, durante a instalac ao de um sis-
tema, cujos comandos DML dever ao ser compatveis com diversos SGBDs ou
convertidos conforme necessidade;
O ciclo de produc ao do sistema, p os-instalac ao, no qual o sistema emitir a co-
mandos DML para a manipulac ao dos dados presentes na estrutura instalada. Es-
ses comandos dever ao ser gen ericos ou estruturados de forma que o sistema n ao
X Encontro Anual de Computao - EnAComp 2013
67
conheca as diferencas entre os diversos SGBDs e suas peculiaridades, permitindo
que o c odigo-fonte, geralmente em linguagem de alto nvel (como o Java), seja
unico e independente de SGBD.
2.3. Linguagens especcas
Cada SGBD pode prover uma ou mais linguagens de programac ao especcas, conheci-
das como linguagem de script, nas quais e possvel adicionar l ogica de programac ao al em
dos comandos DDL e DML. Essas linguagens (por exemplo, o PL/SQL do SGBD Ora-
cle [Feuerstein 2002]) possuem sintaxe propriet aria e muitas vezes de difcil convers ao
autom atica entre os diversos SGBDs.
Podem ser denidas func oes (Stored Procedures), diretamente no SGBD,
utilizando-se essas linguagens de programac ao e realizar a chamada dessas func oes di-
retamente do c odigo-fonte do sistema.
3. Arquiteturas passveis de utilizac ao
Enumeram-se algumas possveis arquiteturas de acesso e manutenc ao dos dados de
m ultiplos SGBDs, para um sistema de software:
Desenvolvimento tradicional com projeto de banco de dados, gerac ao de ar-
quivos DDL e DML, controle manual das alterac oes e controle de arquivos por
SGBD;
Arcabouco de desenvolvimento, como o Ruby on Rails [St.Laurent et al. 2012] ou
o Java Persistence API [Patel et al. 2006], nos quais o pr oprio arcabouco trata a
criac ao e a evoluc ao do banco de dados;
Metodologia proposta neste artigo, que unica os itens citados anteriormente na
manutenc ao de uma unica base de artefatos relativos ` a base de dados.
4. Adotando uma metodologia unica
A metodologia, proposta na Figura 2, une o desenvolvimento tradicional aos arcaboucos
de desenvolvimento, aproveitando o seu melhor sem limitar-se ` as fronteiras impostas pe-
los arcaboucos, facilitando assim o uso em sistemas de grande porte, que exigem a mode-
lagem de bases de dados extremamente complexas.
A premissa para o desenvolvimento do sistema e a capacidade de este ser execu-
tado em dois ou mais SGBDs. Se essa necessidade n ao existir, o desenvolvimento tradi-
cional poder a ser adotado. Do mesmo modo, se a complexidade da estrutura de dados for
baixa, independentemente do tamanho do sistema, ser a possvel utilizar por completo e
com todas as vantagens, um dos arcaboucos de desenvolvimento agil (como, por exemplo,
o Ruby on Rails).
4.1. Denic ao de um SGBD base
Antes de iniciar o desenvolvimento, para determinar o SGBD base, no qual os arqui-
vos DML e DDL ser ao escritos, dever ao ser realizados uma pesquisa e um estudo das
ferramentas disponveis para convers ao de cada SGBD suportado pelo sistema. Muitas
ferramentas requerem de licenca de uso, o que deve ser levado em conta na an alise e na
tomada de decis ao. Pode-se chegar ` a conclus ao de que n ao h a ferramenta compatvel com
os requisitos impostos, e, nesse caso, ser a utilizada a convers ao manual.

E recomend avel
adicionar ao projeto o risco de defeitos causados pela convers ao manual dos artefatos.
X Encontro Anual de Computao - EnAComp 2013
68
Figura 2. Metodologia sugerida para o desenvolvimento do sistema
4.2. Denic ao dos arcaboucos de programac ao
Uma vez conhecida a linguagem de programac ao na qual o sistema ser a desenvolvido,
aconselha-se escolher tamb em um arcabouco de abstrac ao de acesso aos dados. Esses
arcaboucos abstraem detalhes dos diversos SGBDs suportados, padronizam o c odigo-
fonte, e facilitam o desenvolvimento do acesso aos dados, pois normalmente oferecem
facilidades para tal.
Deve ser feito um estudo de uso, conforme feito por Viana e Borba
[Viana and Borba 1999], a partir de arcaboucos atuais da linguagem de programac ao
escolhida (por exemplo, para o Java, o Hibernate [Bauer and King 2005] ou a
especicac ao Java Persistence API [Patel et al. 2006]), para determinar o melhor con-
junto de arcaboucos. Caso os SGBDs escolhidos suportem a orientac ao ` a objetos
[Boscarioli et al. 2006], deve-se observar se os arcaboucos de programac ao escolhidos
possuem o suporte necess ario para as funcionalidades que ser ao utilizadas.
X Encontro Anual de Computao - EnAComp 2013
69
4.3. Ciclo de vida do sistema
Denidos o SGBD base e a ferramenta de convers ao para os outros SGBDs (se for o
caso), s ao gerados os scripts DML e DDL e realizadas as convers oes necess arias, con-
forme o sistema e desenvolvido. Eventuais scripts de atualizac ao de vers ao do sistema
precisar ao ser escritos para cada SGBD, pois muitas vezes envolvem migrac ao de dados.
O uso de func oes SQL diretamente em banco de dados deve ser evitado, pois
aumenta a complexidade da soluc ao, exigindo sua manutenc ao para cada SGBD, bem
como a coer encia entre as diferentes codicac oes, inerentes a cada SGBD.

E importante que todos os envolvidos no desenvolvimento do sistema sigam o


processo a partir das soluc oes adotadas, tanto para a convers ao entre os diversos SGBDs
quanto para o desenvolvimento do pr oprio sistema na sua linguagem de programac ao.
Esse cuidado garante que todos trabalhem para que a aplicac ao continue compatvel com
cada SGBD escolhido.
O teste sist emico dever a ser realizado com o sistema instalado em cada SGBD,
garantindo assim que esteja compatvel com todos.

E importante entender que, quanto maior o nvel de abstrac ao oferecido pelo


arcabouco escolhido e de automac ao na convers ao entre os SGBDs menor o risco de
incompatibilidade entre eles. Para um sistema totalmente abstrado em relac ao ao seu
modelo relacional, o teste sist emico poder a ser realizado por amostragem, sendo que
os casos de teste s ao executados parcialmente em um SGBD e parcialmente em outro,
evitando que seja necess ario realizar todos os casos de teste em todos os SGBDs, com
expressivo ganho de tempo durante seu desenvolvimento.
5. Prova de conceito
Para a realizac ao da prova de conceito foi considerado um sistema inicialmente construdo
para o SGBD Oracle, que deveria ser compatvel tamb em com o SGBD PostgreSQL.
O requisito de portabilidade entre ambos SGBDs, durante a vida do sistema e suas
evoluc oes, possibilitou a aplicac ao da metodologia denida na Sec ao 4, garantindo a qua-
lidade dos artefatos gerados e a aus encia de impacto nos prazos de entrega, eliminando
tamb em o risco produzido por convers oes manuais realizadas pelos desenvolvedores.
A estrutura adotada, para os artefatos gerados para o projeto e apresentada na
Figura 3.
Conforme apresentado na Sec ao 2, existem arquivos DDL, de instalac ao da estru-
tura de tabelas do sistema e arquivos DML, que realizam a populac ao dos dados iniciais
necess arios para o funcionamento do sistema, bem como os comandos DML presentes
em c odigo-fonte, no caso, escrito em Java.
Os comandos DDL, originalmente em Oracle, foram convertidos utilizando-se a
ferramenta Ora2Pg [Ora2Pg 2012]. Esses arquivos precisam inicialmente ser instalados
em um SGBD Oracle para que a ferramenta consiga extrair as DDLs no formato Post-
greSQL. Da mesma forma que as DDLs, as DMLs de carga do sistema foram instaladas
no banco de dados Oracle e extradas com a mesma ferramenta para o formato Post-
greSQL.
Os arquivos DDL e DML gerados para o PostgreSQL s ao colocados em controle
X Encontro Anual de Computao - EnAComp 2013
70
Figura 3. Estrutura do projeto da prova de conceito
de vers ao, sendo disponibilizados para a instalac ao, juntamente com o produto. Dessa
forma o instalador poder a optar por fazer a instalac ao em um SGBD Oracle ou Post-
greSQL, utilizando para isso um unico pacote de instalac ao.
Func oes SQL podem ser criadas diretamente em banco de dados e poder ao ser
utilizadas, a partir do c odigo-fonte Java, atrav es do padr ao de projeto DAO (Data Access
Object) [Alur et al. 2003]. Essas func oes devem ser criadas com uma mesma assinatura
de chamada, mesmo que para diferentes SGBDs, para que a chamada possa ser unica e a
construc ao do DAO independente do SGBD, bem como devem ser construdas para todos
os SGBDs denidos.
O sistema foi construdo totalmente sobre o arcabouco Java EE EJB e todas as en-
tidades de banco de dados foram mapeadas utilizando-se as funcionalidades de abstrac ao
fornecidas por esse arcabouco. Todas as consultas a essas entidades foram construdas
utilizando-se a linguagem de consulta JPQL (Java Persistence Query Language), que
abstrai a linguagem SQL, garantindo que o c odigo-fonte Java seja unico e independente
do SGBD adotado.
O resultado da prova de conceito e um sistema capaz de trabalhar tanto no SGBD
Oracle quanto no SGBD PostgreSQL, com um unico pacote de instalac ao e um unico
c odigo-fonte, sendo que os processos de convers ao entre esses SGBDs s ao completamente
automatizados, validando a metodologia proposta.
6. Conclus ao
Propor uma soluc ao para a abstrac ao de acesso aos dados de um SGBD, bem como cen-
tralizar e automatizar a gerac ao de comandos de denic ao do modelo relacional, garante
a longevidade do sistema desenvolvido. O sistema torna-se independente de SGBD, per-
mitindo a reduc ao dos custos de implantac ao pela adoc ao de soluc oes de software livre
X Encontro Anual de Computao - EnAComp 2013
71
sem adaptac oes do c odigo-fonte original ou mesmo troca estrat egica do SGBD. O co-
nhecimento dos desenvolvedores envolvidos na produc ao do sistema pode ser nivelado,
pois n ao s ao mais necess arios especialistas para cada SGBD, os riscos s ao mitigados e os
pontos passveis de erro reduzidos.
Por m, a automac ao da gerac ao e do controle dos artefatos de cada SGBD evita
erros relacionados ` a migrac ao de c odigo-fonte especco de determinado SGBD, que s ao
maiores no caso de migrac ao manual, bem como reduz o custo do desenvolvimento por
eliminar as horas necess arias para a convers ao.
Refer encias
Alur, D., Crupi, J., and Malks, D. (2003). Core J2EE patterns: best practices and design
strategies. Prentice Hall.
Barbieri, C. (1994). Modelagem de Dados. IBPI Press Rio de Janeiro.
Bauer, C. and King, G. (2005). Hibernate in action. Manning.
Boscarioli, C., Bezerra, A., Benedicto, M., and Delmiro, G. (2006). Uma reex ao sobre
banco de dados orientados a objetos. IV CONGED.
Chamberlin, D., Astrahan, M., Blasgen, M., Gray, J., King, W., Lindsay, B., Lorie, R.,
Mehl, J., Price, T., Putzolu, F., et al. (1981). A history and evaluation of system r.
Communications of the ACM, 24(10):632646.
Elmasri, R., Navathe, S., Pinheiro, M., Canhette, C., Melo, G., Amadeu, C., and de Oli-
veira Morais, R. (2005). Sistemas de banco de dados. Pearson Addison Wesley.
Feuerstein, S. (2002). Oracle pl/sql Programming. OReilly.
Jacobson, I., Booch, G., and Rumbaugh, J. (1996). The Unied Modeling Language.
University Video Communications.
Neto, J. and Passos, E. Jexodus: uma ferramenta para migracao de dados independente
de sgbd.
Ora2Pg (2012). Ora2pg software. http://ora2pg.darold.net/.
Patel, R., Brose, G., and Silverman, M. (2006). Mastering Enterprise JavaBeans 3.0.
Wiley Pub.
St.Laurent, S., Dumbill, E., and Gruber, E. (2012). Learning Rails 3. OReilly.
Viana, E. and Borba, P. (1999). Integrando java com bancos de dados relacionais. III
Simp osio Brasileiro de Linguagens de Programac ao, Porto Alegre Brasil, 5.
X Encontro Anual de Computao - EnAComp 2013
72

Metodologia de anlise para migrao de sistemas de
mdio e grande portes para a nuvem no modelo SaaS
Cludia Morgado
1,2
, Andr Temple de Antonio
1
, Rodrigo Lima Verde Leal
1
,
Regina Lcia de Oliveira Moraes
2

1
Fundao CPqD Centro de Pesquisa e Desenvolvimento em Telecomunicaes
R. Dr. Ricardo Benetton Martins, s/n Parque II do Polo de Alta Tecnologia CEP
13.086-902 Campinas SP Brasil
2
Faculdade de Tecnologia
Universidade Estadual de Campinas Unicamp Limeira SP Brasil
{cmorgado, andret, rodleal}@cpqd.com.br, regina@ft.unicamp.br
Abstract. Even thought cloud computing provides on-demand access to easily
activated and practically unlimited IT resources on a pay-as-you-use model,
there are still hindering factors that should be considered before migrating a
system to the cloud. Each system has its own particularities that must be
individually analyzed in order to assess the impacts of putting a system in the
cloud. This paper proposes a methodology to analyze the characteristics of
large systems that must be considered in the migration to the cloud.
Resumo. Apesar de a computao em nuvem fornecer acesso a recursos de
tecnologia da informao sob demanda, praticamente ilimitados, facilmente
ativados e com modelo de pagamento baseado no uso, existem diversos
fatores restritivos que devem ser analisados antes de se optar pela projeo
ou migrao de um sistema para a nuvem. Desse modo, as particularidades de
cada sistema devem ser analisadas individualmente, a fim de avaliar o
impacto e a viabilidade de se disponibilizar o sistema na nuvem. Este artigo
prope uma metodologia para avaliao das caractersticas de sistemas de
grande porte que devem ser consideradas no processo de migrao para a
nuvem no modelo SaaS.
1. Introduo
O modelo da computao tradicional possui uma necessidade de infraestrutura de TI
complexa. necessrio que a empresa disponha de um ambiente computacional com
servidores e computadores, de locais especiais de armazenamento com climatizao
adequada e de uma equipe de especialistas sempre prontos para realizar eventuais
manutenes, o que eleva consideravelmente os custos. Para agravar ainda mais esse
cenrio, com o passar do tempo, esses servidores se tornam obsoletos, sendo necessria
sua substituio por mquinas mais robustas, o que tambm gera altos custos.
No conceito de computao em nuvem (CN), no mais necessrio que uma
empresa possua um servidor e diversas mquinas de alto desempenho dentro do
ambiente de trabalho. Basta apenas que a empresa contrate um provedor de servios de
CN para ter acesso a infraestrutura, plataforma ou software, de uma forma simples e a
X Encontro Anual de Computao - EnAComp 2013
73

partir de qualquer local, por meio da Internet, sem que seja necessrio instalar,
configurar ou atualizar os sistemas de software.
Segundo o NIST (National Institute of Standards and Technology),
"Computao em nuvem um modelo que possibilita acesso, de modo conveniente e
sob demanda, a um conjunto de recursos computacionais configurveis que podem ser
rapidamente adquiridos e liberados com mnimo esforo gerencial ou interao com o
provedor de servios" [NIST 2012 apud Hogan et al. 2011].
Reduo de gastos, maior agilidade e flexibilidade so fatores que levam as
empresas a disponibilizarem seus sistemas na nuvem. Algumas estimativas apontam
que, em dois ou trs anos, pelo menos 80% das empresas de software tero adotado ou
estaro em processo de adoo desse modelo [Taurion 2009]. Contudo, a migrao de
sistemas atuais para um ambiente de computao em nuvem traz uma srie de desafios
que tendem a dificultar a adoo desse novo paradigma por muitos usurios e
organizaes.
Neste artigo apresentamos uma metodologia de apoio aos tomadores de deciso
que os ajudar a compreender as caractersticas da nuvem e identificar se um software
desenvolvido na computao tradicional tem potencial para ser disponibilizado como
servio. A disponibilizao de um software como servio conhecida como o modelo
de servio na CN SaaS. No modelo SaaS, o usurio no administra ou controla a
infraestrutura subjacente, que inclui rede, servidores, sistema operacional,
armazenamento, ou mesmo as caractersticas individuais da aplicao, exceto as
configuraes especficas [Sousa, Moreira, Machado 2010].
Essa metodologia surgiu em decorrncia da necessidade de avaliao da
viabilidade da migrao de sistemas para a nuvem.
2. Impactos na evoluo de um sistema de software para a nuvem
As vendas no modelo SaaS so baseadas no servio sob demanda, ou seja, o cliente
paga apenas o que utilizar e isso, na prtica, impacta as reas de marketing e vendas de
uma empresa, que devem estar preparadas para medir o uso do sistema [Taurion 2009].
O sistema tambm deve estar preparado para atender s necessidades do cliente
medida que elas surgem, como, por exemplo, tempo de uso do sistema e
armazenamento de dados, sem requerer interao humana com o cliente [Sousa,
Moreira, Machado 2010].
O software pode ser acessado via Web com interface de acesso que no obrigue
os usurios a mudarem suas condies e seu ambiente de trabalho. As modificaes
devem ser apresentadas de forma transparente [Jansen e Grance 2011].
Como a proposta do modelo SaaS ter uma nica aplicao que atenda a
mltiplos clientes (empresas), chamados tenants ou inquilinos, a arquitetura essencial de
um ambiente na nuvem do tipo multi-inquilino, uma vez que permite que mltiplos
inquilinos compartilhem os mesmos recursos fsicos e permaneam logicamente
isolados [Cambiucci 2009].
3. Metodologia para avaliao de software
O controle de um sistema disponibilizado na nuvem extremamente complexo se
comparado ao sistema tradicional e impacta reas distintas da empresa. Por essa razo,
X Encontro Anual de Computao - EnAComp 2013
74

se faz necessria uma metodologia para auxiliar no processo de deciso estratgica da
empresa que identifique os pontos da aplicao que podem ter maior impacto durante
uma migrao para a nuvem. Desse modo, a empresa pode avaliar se a aplicao ser
totalmente migrada para a nuvem, se apenas parte do sistema deve ser migrada ou,
ainda, se a migrao uma nova oportunidade de negcio para a empresa. [Taurion
2009].
A metodologia prope a aplicao de um questionrio composto de 26 perguntas
que abrangem quatro modalidades do sistema a ser migrado. Questes sobre a prpria
aplicao a ser migrada, anlise das regras de negcio em que a aplicao est inserida,
tecnologia usada no desenvolvimento e caractersticas de nuvem.
Cada questo recebe uma pontuao que indica o impacto durante a migrao,
sendo que quanto maior a pontuao, maior o risco de uma migrao para a nuvem.
O questionrio deve ser respondido por um profissional que conhea os aspectos
de marketing do produto e a arquitetura do sistema. As questes esto baseadas nas
caractersticas de nuvem levantadas pelo NIST [NIST 2012 apud Mell e Grace 2011],
em relatos de experincia com migrao de sistema para nuvem [Chauhan e Babar
2011], e procura esclarecer os pontos em que o sistema escolhido para anlise de
viabilidade j trabalha no conceito de nuvem e os pontos em que a migrao traria um
maior impacto.
A ferramenta de apoio deciso na adoo para nuvem proposta pela
Universidade de St. Andrews prope a aplicao de um checklist para a anlise
tecnolgica de um sistema [Hosseini et al 2012]. Mediante a utilizao desse checklist
em nossos produtos, foi verificada a necessidade de incluir novas questes e diferenciar
o peso das questes com base no impacto que cada uma delas traz ao processo de
migrao.
A Tabela 1 mostra as questes elaboradas com o objetivo de se obter um melhor
entendimento da aplicao, como, por exemplo, nicho de mercado e caractersticas do
software que podem dificultar a migrao para nuvem.
Tabela 1. Anlise da aplicao a ser migrada
Questionrio Justificativa
Pontuao
Sim No
1. uma soluo para um nicho
especfico de clientes?
Analisar se a soluo da aplicao foi feita
especificamente para um nico cliente ou se ela pode
atender a um nicho de mercado com problemas e
necessidades vem definidos..
0 5
2. Esta aplicao retm seus
usurios?
Avaliar se a aplicao pode ser facilmente substituda
por outra.
0 5
3. Esta aplicao de software
conecta o negcio do contratante
com seus fornecedores,
empregados, investidores e clientes?
Analisar se o software suporta a integrao com outros
mdulos, como, por exemplo, faturamento, transferncia
de fundos, gesto de inventrio e CRM.
5 0
4. Esta aplicao ajuda equipes a
trabalharem em conjunto, dentro
ou entre organizaes?
Analisar se o software utilizado de maneira
compartilhada, como, por exemplo, sistemas de
calendrio, e-mail, compartilhamento de telas, autoria
compartilhada de contedo, gesto de conferncia, jogo
on-line. Caractersticas de aplicaes na nuvem.
0 5
5. Esta aplicao voltada ao
ambiente de escritrio?
Processadores de texto, planilhas de clculo, programas
de apresentao ou banco de dados. Essas aplicaes
possuem caractersticas nativas para nuvem.
0 5
6. Esta aplicao resolve Ferramentas de converso de formato de arquivo,
0 5
X Encontro Anual de Computao - EnAComp 2013
75

problemas de segurana ou
compatibilidade e suporta
desenvolvimento de novo software?

digitalizao e anlise de segurana, verificao de
regras e desenvolvimento. Essas aplicaes possuem
caractersticas nativas para nuvem.
7. Esta aplicao requer tempo
de execuo de tarefas definido?
No suporta tempo de espera ou atrasos de entrega.
5 0
8. Esta aplicao requer
transferncia de grande volume de
dados originados no assinante?
Possui integrao com outras aplicaes com grandes
transferncias de dados entre elas.

5 0
9. um sistema de misso
crtica?
Uma falha desta aplicao (erro de execuo ou
lentido) pode causar perda significativa de dados?
5 0
10. Esta aplicao trabalha com
altas taxas de refresh na tela do
assinante?
A tela atualizada continuamente.
5 0
A adoo do modelo SaaS uma deciso estratgica que afeta o modelo de
negcio da empresa [Taurion 2009] e, por esse motivo, a Tabela 2 apresenta questes
para um melhor entendimento do contexto do negcio em que a aplicao est inserida.
As questes das tabelas a seguir recebem uma pontuao (de 0 a 5), considerando que
quanto maior a pontuao, maior o impacto durante a migrao.
Tabela 2. Anlise de negcio
Questionrio Justificativa
11. Esta aplicao j possui um modelo de negcio
para sua venda como servio sob demanda, baseado
em assinatura (pay-as-you-go)?
Analisar como feita a venda do software escolhido para
evoluir para nuvem, verificar se o produto j cobrado
conforme o uso do sistema e qual seria o grau de impacto
de uma possvel alterao.
12. Esta aplicao pode ser considerada uma
soluo em potencial para o mercado de pequenas e
mdias empresas?
Analisar se ocorreria um crescimento significativo de
clientes aps a evoluo para o modelo SaaS, verificar se
o sistema de software passaria a atender a um maior nicho
de mercado, incluindo pequenas e mdias empresas como
clientes do software.
13. Esta aplicao tem uma demanda capilarizada,
com grande nmero de clientes potenciais?
Analisar se a aplicao possui uma quantidade expressiva
de clientes que sustentem a disponibilizao dos servios
na nuvem.
14. Esta aplicao j possui um modelo contratual
de prestao de servio baseado em SLA (Service
Level Agreement)?
O produto padronizado a todos os clientes e existe um
acordo-padro, firmado entre a rea de TI e o cliente, que
descreve o servio de TI, suas metas, papis e as
responsabilidades das partes envolvidas.
15. O retorno financeiro desta aplicao pode ser
quantificado?
Verificar se existe algum aplicativo que mostre ao cliente a
anlise de retorno sobre o investimento (ROI),
comparando-a com a da soluo tradicional.
16. Existe alguma infraestrutura para hospedagem
do software ou alguma parceria a esse respeito?
Avaliar se a empresa j possui infraestrutura ou mantm
parceria para hospedar o sistema na nuvem, a partir de
um dos modelos possveis (privada, pblica, comunidade
ou hbrida).
A Tabela 3 representa a parte do questionrio que tem por objetivo fazer uma
anlise das caractersticas essenciais da CN. Essas caractersticas so relacionadas s
vantagens que a CN oferece [Sousa, Moreira, Machado 2010].


X Encontro Anual de Computao - EnAComp 2013
76

Tabela 3: Caractersticas de nuvem
Questionrio Justificativa
17. A aplicao possui o conceito de
self-servicesob demanda?
O sistema tambm deve estar preparado para atender s
necessidades do cliente medida que elas surgem, como, por
exemplo, tempo de uso de servidor, armazenamento na rede, sem
requerer interao humana com o prestador do servio.
18. O acesso aplicao pode ser feito
por meio da Internet?

Os recursos esto disponveis na rede e so acessados por meio de
mecanismos padronizados que promovem o uso com plataformas do
tipo thin clients heterogneas (ex.: celulares, tablets, laptops e
estaes de trabalho).
19. A aplicao permite que mltiplos
clientes compartilhem os mesmos
recursos, mas permaneam logicamente
isolados?
Na CN os recursos computacionais do prestador de servio so
agrupados (pooling) para servir mltiplos consumidores por meio
do modelo multi-inquilino (multi-tenant), como, por exemplo,
diferentes recursos fsicos e virtuais alocados e realocados
dinamicamente, de acordo com a demanda do consumidor. H um
senso de independncia da localizao, no sentido de que o
consumidor geralmente no tem controle ou conhecimento sobre a
localizao exata dos recursos do prestador de servio, mas
consegue especificar a localizao em um nvel mais alto de
abstrao (ex.: pas, estado, etc).
20. Os recursos podem ser
provisionados e liberados rpida e
elasticamente (em alguns casos,
automaticamente), para escalar
rapidamente dentro e fora de acordo
com a demanda?
Para o consumidor, os recursos disponveis para provisionamento
geralmente do a sensao de ser ilimitados e passveis de
contratao em qualquer quantidade e a qualquer instante.
21. O uso de recursos pode ser
monitorado, controlado e reportado,
dando transparncia tanto para o
prestador de servio quanto para o
consumidor do servio utilizado?
O uso dos recursos otimizado e controlado automaticamente por
meio de capacidades de medio em um nvel de abstrao
apropriado para o tipo de servio prestado (ex.: armazenamento,
processamento, banda e contas de usurio ativas).
A Tabela 4 representa a parte do questionrio que tem por objetivo fazer uma
anlise das caractersticas tecnolgicas do sistema, tais como: arquitetura, interface e
segurana.
Tabela 4. Caractersticas tecnolgicas
Questionrio Justificativa
22. Esta aplicao possui arquitetura
orientada a servios (Service-Oriented
Architecture SOA)?

SOA uma arquitetura conceitual de negcios que visa maximizar a
reutilizao de servios existentes e a integrao com novos servios
para aumentar a eficincia e a produtividade de uma empresa. A
aplicao foi desenvolvida com essa metodologia.
23. Esta aplicao capaz de
suportar modelos pr-configurados?
Trata-se de um desdobramento da questo anterior. Todas as
alteraes devem atender a todos os clientes, permitindo no mximo
alguma customizao especfica de cliente em modelos pr-
configurados. No modelo SaaS, deve-se evitar diferentes verses de
software para cada cliente.
24. Esta aplicao possui bom
desempenho em termos de tempo de
resposta?
Todas as funcionalidades possuem respostas imediatas solicitao do
usurio.
25. Esta aplicao oferece alta
disponibilidade?
A aplicao fica disponvel 24 horas por dia, 7 dias por semana.
26. Esta aplicao possui requisitos
de segurana?
A aplicao possui controle de acesso, criptografias, perfil de usurio.
X Encontro Anual de Computao - EnAComp 2013
77

4. Estudo de caso
Os analistas de marketing do produto e arquitetura do software do sistema CPqD Billing
responderam o questionrio proposto pela metodologia.
A Tabela 5 mostra as respostas da anlise de um sistema de billing
desenvolvido pela Fundao CPqD Centro de Pesquisa e Desenvolvimento em
Telecomunicaes, que atende empresas operadoras de telecomunicaes e integra em
uma nica soluo os processos de faturamento, arrecadao, cobrana e atendimento
ao cliente.
Tabela 5. Anlise do software de billing com o uso da metodologia aplicada
Anlise da aplicao Sim No
1. uma soluo vertical, que fornece uma soluo especfica para um problema ou uma
soluo para um nicho especfico de clientes?
X
2. Esta aplicao retm seus usurios? X
3. Esta aplicao de software conecta o negcio do contratante com seus fornecedores,
empregados, investidores e clientes?
X
4. Esta aplicao ajuda equipes a trabalharem em conjunto, dentro ou entre organizaes? X
5. Esta aplicao voltada ao ambiente de escritrio? X
6. Esta aplicao resolve problemas de segurana ou compatibilidade e suporta
desenvolvimento de novo software?
X
7. Esta aplicao requer tempo de execuo de tarefas definido? X
8. Esta aplicao requer transferncia de grande volume de dados originados no assinante? X
9. Uma falha desta aplicao (erro de execuo ou lentido) pode causar perda significativa de
dados?
X
10. Esta aplicao trabalha com altas taxas de refresh na tela do assinante? X
Anlise de negcio 0 1 2 3 4 5
11. Esta aplicao j possui um modelo de negcio para sua venda como
servio sob demanda, baseado em assinatura (pay-as-you-go)?

X
12. Esta aplicao pode ser considerada uma soluo em potencial para o
mercado de pequenas e mdias empresas?

X
13. Esta aplicao tem uma demanda capilarizada, com grande nmero de
clientes potenciais?

X
14. Esta aplicao j possui um modelo contratual de prestao de servio
baseado em SLA (Service Level Agreement)?

X
15. O retorno financeiro desta aplicao pode ser quantificado?

X
16. Existe alguma infraestrutura para hospedagem do software ou alguma
parceria a esse respeito?

X
Anlise das caractersticas de nuvem 0 1 2 3 4 5
17. A aplicao possui o conceito de self-service sob demanda? X
18. O acesso aplicao pode ser feito por meio da Internet? X
19. A aplicao permite que mltiplos clientes compartilhem os mesmos
recursos, mas permaneam logicamente isolados?
X
20. Os recursos podem ser provisionados e liberados rpida e elasticamente
(em alguns casos, automaticamente), para escalar rapidamente dentro e fora
de acordo com a demanda?
X
21. O uso de recursos pode ser monitorado, controlado e reportado, dando
transparncia tanto para o prestador de servio quanto para o consumidor do
servio utilizado?
X
Anlise das caractersticas tecnolgicas 0 1 2 3 4 5
X Encontro Anual de Computao - EnAComp 2013
78

22. Esta aplicao possui arquitetura orientada a servios (Service-Oriented
Architecture SOA)?
X
23. Esta aplicao capaz de suportar modelos pr-configurados? X
24. Esta aplicao possui bom desempenho em termos de tempo de
resposta?
X
25. Esta aplicao oferece alta disponibilidade? X
26. Esta aplicao possui requisitos de segurana? X
As respostas foram pontuadas de acordo com a metodologia. As pontuaes
foram somadas por etapa, considerando-se fortemente desfavorvel a uma migrao o
valor mximo possvel para soma e fortemente favorvel para migrao para a nuvem a
menor pontuao possvel. Na Figura 1 os marcadores em negrito representam a
somatria da pontuao de cada uma das questes do sistema avaliado, separados por
rea de anlise.









Figura 1. Anlise da viabilidade de migrao dos sistemas de billing
Aps a anlise da metodologia, possvel notar que o sistema de billing
analisado no possui caractersticas nativas de nuvem e customizado para cada cliente,
os recursos no so provisionados e liberados de acordo com a demanda e grandes
mudanas em sua arquitetura so necessrias para manter o desempenho e a segurana
em um ambiente de computao na nuvem. Consequentemente, a evoluo do sistema
para a nuvem foi considerada invivel, uma vez que haveria grande impacto em sua
arquitetura, e nenhum ganho significativo de expanso de clientes em potencial.
5. Concluso
Disponibilizar o software como servio e reduzir custos para os clientes so
necessidades do mercado e justificam a popularidade do paradigma da computao na
nuvem. O processo de migrao de um sistema de software para a nuvem deve ser
conduzido com muita cautela, sendo que antes de se optar pela migrao necessrio
identificar e compreender o negcio e alguns fatores tcnicos que podero viabilizar ou
no a migrao. Foi apresentada, neste artigo, uma metodologia que auxilia no processo
de deciso da empresa quanto evoluo de um sistema de software para a nuvem.
A metodologia visa apresentar caractersticas da aplicao bem como os
aspectos de negcio e tecnolgicos, vinculados a modelos SaaS, que devem ser
CN
Geral
50

25

30

25

130

Aplicao
Negcio
Tecnologia
0
Fortemente
Favorvel
15
Favorvel
25
Neutro
35
Desfavorvel
0
Fortemente
Favorvel
10
Favorvel
15
Neutro
20
Desfavorvel
0
Fortemente
Favorvel
10
Favorvel
15
Neutro
25
Desfavorvel
0
Fortemente
Favorvel
5
Favorvel
15
Neutro
20
Desfavorvel
0
Fortemente
Favorvel
40
Favorvel
70
Neutro
100
Desfavorvel
18

19

17

89

Fortemente
Desfavorvel

Fortemente
Desfavorvel

Fortemente
Desfavorvel

Fortemente
Desfavorvel

Fortemente
Desfavorvel

X Encontro Anual de Computao - EnAComp 2013
79

considerados na anlise da viabilidade de migrao do software para a nuvem. Essa
metodologia foi aplicada a um sistema de billing, desenvolvido pelo CPqD para
empresas operadoras de telecomunicaes, o que proporcionou uma anlise das
caractersticas tipicamente ofensoras da migrao para um modelo SaaS.
Como trabalhos futuros, seria importante validar os mdulos do sistema
isoladamente para analisar se algum mdulo pode ser evoludo para a nuvem sem
grande impacto.
Referncias
Cambiucci, W. (2009) "Uma introduo ao Software + Servios + SaaS e SOA".
Disponvel em: http://msdn.microsoft.com/pt-br/library/dd875466.aspx. Maio.
Chauhan, A. M.; Babar, A. M. (2011) Migrating Service-Oriented System to Cloud
Computing: An Experience Report. In: 2011 IEEE 4th International Conference
on Cloud Computing (CLOUD '11). IEEE Computer Society, Washington, DC,
USA. Proceedings 404-411.
Hogan, M. et al. (2011) NIST Cloud Computing Standards Roadmap. Disponvel em:
http://www.nist.gov/itl/cloud/upload/NIST_SP-500-291_Jul5A.pdf. Acesso em:
nov. 2011.
Hosseini, A. K. et al. (2012) The Cloud Adoption Toolkit: supporting cloud adoption
decisions in the enterprise. Software: Practice and Experience, 42: 447465, 2011.
Jansen, W. e Grance, T. (2011) Institute of Standards and Technology. "Guidelines on
Security and Privacy in Public Cloud Computing", Special Publication 800-144.
Disponvel em: http://csrc.nist.gov/publications/nistpubs/800-144/SP800-144.pdf.
Acesso em: dez. 2011.
Mell, P.; Grace, T. (2011) The NIST Definition of Cloud Computing:
Recommendations of the National Institute of Standards and Technology.
Disponvel em: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf.
Acesso em: nov. 2011.
NIST (2012) Disponvel em: www.nist.gov. Acesso em: fev. 2012.
Sousa, F. R. C.; Moreira, L. O.; Machado, J. C. (2010) "Computao em Nuvem:
Conceitos, Tecnologias, Aplicaes e Desafios". Universidade Federal do Cear
(UFC). Publicado no SWIB.
Taurion, C. (2009) "Computao em Nuvem. Transformando o mundo da Tecnologia
da Informao", Editado por Sergio Martins de Oliveira, Brasport.
X Encontro Anual de Computao - EnAComp 2013
80
Utilizao de dispositivos mveis para o monitoramento e
controle de transdutores inteligentes aplicados na automao
residencial
Rogria Oliani
1
, Alexandre Csar R. da Silva
1
, Trcio Alberto dos Santos Filho
2

1
Departamento de Engenharia Eltrica Universidade Estadual Paulista (UNESP)
Ilha Solteira SP Brasil
2
Departamento de Cincia da Computao - Universidade Federal de Gois (UFG)
Catalo GO - Brasil
rooliani@gmail.com, acrsilva@dee.feis.unesp.br, tercioas@gmail.com
Abstract. Devices such as smartphones, tablets and PCs are already part of
the reality of millions of people. The use of many devices with wireless
network access enables them to communicate between themselves, thus
increasing the comfort and mobility of those who use them. In this paper
presents a system capable of controlling and monitoring transducers, such as:
light, movement sensor, electric gate motor and others devices connected in
wall socket, using tablets/smartphones from wherever the user is having
access to Internet.
Resumo. Aparelhos como smartphones, tablets e microcomputadores j fazem
parte da realidade de milhes de pessoas. O uso de diversos aparelhos com
acesso rede sem fio possibilita que estes se comuniquem entre si,
aumentando assim, o conforto e a mobilidade de quem os utilizam. Neste
trabalho apresenta-se um sistema capaz de controlar e monitorar
transdutores, como: lmpada, sensor de movimento, motor de porto
eletrnico, bem como aqueles conectados s tomadas, utilizando
tablets/smartphones, de qualquer lugar em que o usurio esteja com acesso
Internet.
1. Introduo
A tecnologia faz parte cada vez mais do dia a dia das pessoas, proporcionando-lhes
conforto, segurana e mobilidade. Atualmente os dispositivos mveis (celular, PDAs,
tablets, iPhones) no so mais utilizados apenas para efetuar ligaes, mas tambm para
realizar diversas tarefas, tais como: controlar a agenda de compromissos, acessar
Internet, ler e-mail, efetuar filmagens.
Semelhantes ao modo de funcionamento dos microcomputadores, os
smartphones e tablets possuem sistemas operacionais, no qual realizam o
interfaceamento homem mquina, facilitando ao usurio a manipulao de seus dados.
Um exemplo de sistema operacional o Android [Mass 2012].
O Android uma plataforma open-source criada pela Google para o
desenvolvimento de aplicaes para dispositivos mveis. Inclui um sistema operacional
baseado em Linux e diversas aplicaes, interface grfica, navegador web, suporte a
X Encontro Anual de Computao - EnAComp 2013
81
multimdia, GPS (Global Positioning System), banco de dados integrado, jogos em 3D e
muito mais [Lecheta 2010].
Baseado nas caractersticas dos dispositivos mveis, este trabalho foi
desenvolvido com o propsito de ampliar o conforto, a segurana e a mobilidade dentro
e fora das residncias, proporcionando aos seus usurios controlar a iluminao, as
tomadas, os sensores de movimento e os portes automticos de garagem de suas
residncias de qualquer lugar em que estejam com acesso Internet, fazendo uso de
smartphones ou tablets com SO (Sistema Operacional) Android. Para tanto, foi
desenvolvido o software denominado SAR (Software de Automao Residencial), o
qual possui dois mdulos SARC (Software de Automao Residencial Cliente),
desenvolvido para tables/smarthphones, e SARS (Software de Automao Residencial
Servidor) que foi instalado em uma placa Arduino Mega 2560. Ao termino do sistema,
foram realizados testes de comunicao entre o mdulo do cliente e o servidor.
Na Seo 2 apresenta-se uma abordagem sobre Casas Inteligentes demonstrando
algumas de suas caractersticas.
2. Casas Inteligentes
Na rea de automao residencial vrios trabalhos vm sendo desenvolvidos
envolvendo a rede eltrica e hidrulica de casas, equipamentos eletrnicos, bem como o
mobilirio destas.
Segundo [Alves & Mota 2003], casas inteligentes so aquelas que possuem
caratersticas capazes de tornar a vida, de quem nelas habita, mais simples; envolvendo
aspectos, como: segurana, economia, conforto, ecologia e integrao. A importncia
desses aspectos tem um valor distinto para cada indivduo, em cada momento.
A gesto dos espaos internos e externos com o controle integrado de
iluminao, irrigao, som ambiente, cortinas e de diversos outros equipamentos, seja
local ou remoto, com o uso da Internet, tem conquistado cada vez mais clientes no
mercado imobilirio e atendem pessoas da classe A, B e C [Loyola 2011].
Alm de comodidade, a tecnologia empregada nas Casas Inteligentes pode
auxiliar para a segurana de crianas e idosos, bem como ajudar pessoas com
deficincia a ter maior independncia [Daquino 2012].
Outras funcionalidades que podem ser aplicadas s casas inteligentes o
controle do consumo energtico, possibilitando uma energia mais verde e casas mais
eficientes, com o controle exato de como e quando gasta a energia. No caso de um
veculo eltrico, por exemplo, poderia calcular a parcela exata de consumo alocada ao
seu abastecimento [Inovcity 2010].
3. Ferramentas utilizadas no desenvolvimento do sistema
Nesta seo apresentam-se os procedimentos utilizados para o desenvolvimento do
sistema e as ferramentas utilizadas. importante destacar que o sistema foi dividido em
duas fases de desenvolvimento, sendo: programao dos dispositivos embarcados
tablets/smartphones e a programao da placa Arduino Mega 2560 e do Shield
1

Ethernet W5100 para o controle efetivo dos transdutores utilizando Internet.

1
Shield placas de circuito contendo outros dispositivos.
X Encontro Anual de Computao - EnAComp 2013
82
Na Seo 3.1, apresentam-se as caractersticas dos hardwares utilizados para o
desenvolvimento do mdulo servidor e na Seo 3.2 apresentam-se as linguagens de
programao utilizadas no desenvolvimento do software para os dispositivos
embarcados, bem como para o desenvolvido para a placa Arduino.
3.1. Hardwares
Para o desenvolvimento do mdulo de servidor foram utilizadas trs placas: Arduino
Mega 2560, Shield Ethernet W5100 e um Shield de Automao e Alarme Residencial
V2.
A placa Arduino Mega 2560, a qual possui um microcontrolador baseado no
ATmega2560, possui 54 pinos de entradas/sadas digitais, 16 entradas analgicas, 4
UARTs (portas seriais de hardware), um oscilador de cristal de 16 MHz, uma conexo
USB, uma entrada de alimentao, uma conexo ICSP (In-Circuit Serial
Programming), um boto de reset e 256 KB de memria flash.
O Shield Ethernet W5100 possibilita placa Arduino se comunicar com outros
hosts atravs da Internet, ou at ter um servidor web embarcado, o qual viabiliza aos
usurios acessarem pginas dentro do Arduino. Este shield fornece acesso rede IP
(Internet Protocol) atravs dos protocolos TCP (Transmission Control Protocol) ou
UDP (User Datagram Protocol), bem como possui um slot para carto SD que pode ser
usado para armazenar arquivos [Quines 2008].
A placa de automao residencial um circuito de condicionamento de sinal que
recebe sinais eltricos de comando da placa Arduino e realiza o controle ou o
monitoramento do ambiente em que esteja implementado.
Na Figura 1 apresenta-se o encaixe das placas para automao residencial;
sendo, primeiramente, conectado o Shield Ethernet placa Arduino Mega 2560 e,
posteriormente, estas ao Shield de Automao e Alarme Residencial V2.
Para o desenvolvimento deste trabalho, bem como para efetuar os devidos testes,
alm da placa Arduino Mega 2560, Shield Ethernet W5100 e Shield de Automao e
Alarme Residencial V2 foram utilizados os seguintes equipamentos: um roteador; um
modem; duas lmpadas; uma tomada; um sensor de movimento; um controle de porto
Figura 1 - Encaixe das placas para automao residencial.
Arduino Mega 2560
Shield Ethernet
Shield Automao Residencial
e
n
c
a
i
x
e

1

e
n
c
a
i
x
e

2

Fonte: Elaborada pelo autor.
X Encontro Anual de Computao - EnAComp 2013
83
eletrnico; um tablet com Sistema Operacional Android; um smartphone com Sistema
Operacional Android.
3.2. Linguagens de programao
Foram utilizadas no desenvolvimento deste trabalho as linguagens de programao
Arduino e Java. A linguagem Arduino foi utilizada na programao da placa Arduino e
a linguagem Java, em conjunto com o Android SDK (Software Development Kit), no
desenvolvimento do sistema manipulado pelo usurio no tablet/smartphone.
A linguagem Arduino baseada em linguagem C, e utiliza um software livre,
Arduino v 1.0.1, para a escrita dos cdigos do sistema criado para a placa Arduino, bem
como para efetuar o upload na placa deste. A linguagem C uma linguagem genrica
que, apesar de ser de alto nvel, compartilha recursos tanto de alto nvel, quanto de
baixo, pois permite acesso e programao direta de microprocessadores [Dornelles
1997].
O Android SDK possui uma biblioteca API e uma ferramenta para desenvolver,
testar e debugar aplicativos para Androids utilizando a linguagem Java. Uma das
grandes vantagens a diversidades de aparelhos encontrados no mercado utilizando o
sistema operacional Android. Atualmente so vrias as empresas que desenvolvem
referidos aparelhos, como, por exemplo: Motorola, LG, Samsung, HTC e outros. Outra
caracterstica relevante que o mesmo possui o cdigo aberto, e permite uma
programao personalizada, sendo possvel customizar os aparelhos baseados em sua
caracterstica.
4. Desenvolvimento do Sistema de Automao Residencial (SAR)
O Sistema de Automao Residencial desenvolvido foi denominado de SAR foi
dividido em dois mdulos:
1. SARS (Software de Automao Residencial Servidor) - desenvolvido para a
placa Arduino;
2. SARC (Software de Automao Residencial Cliente) - desenvolvido para
tablet/smartphone com SO Android.
Conforme apresentado na Figura 2, o SARC enviar a requisio solicitada pelo
usurio atravs da Internet. Por intermdio do modem, do roteador e do Shield Ethernet,
esta requisio chegar placa Arduino na qual o SARS a interpretar e
ativar/desativar o rel localizado no Shield de Automao Residencial, conforme
solicitado.
Na placa de Automao Residencial esto sendo utilizados quatro rels. Na
Figura 2, visualizando da direita para a esquerda, no primeiro rel est conectado o
controle de porto eletrnico, no segundo a lmpada, no terceiro a tomada e no quarto o
sensor de movimento.
Os rels funcionam como interruptores que permitem ou no que a tenso da
rede eltrica da residncia chegue at os transdutores, permitindo que se acenda/apague
a lmpada, ligue/desligue o sensor de movimento, a tomada e o controle do porto
eletrnico.
X Encontro Anual de Computao - EnAComp 2013
84
Para a requisio realizada pelo usurio atravs do tablet/smartphone trafegue
pela Internet e chegue ao seu destino, necessrio que este seja identificado atravs de
seu IP. O IP identifica um dispositivo tanto na rede local, quanto na rede mundial de
computadores. O Shield Ethernet utilizado neste trabalho identificado na rede local
por um IP, o qual foi determinado no software e programado na placa Arduino. Assim,
quando receber um dado da rede externa o roteador consegue localiz-lo na rede local,
realizando um NAT (Name Address Translate), pois, a Internet e a rede local so redes
distintas e possuem IPs dedicado a sua rede.
Neste trabalho os testes foram realizados atravs de uma conexo utilizando IP
dinmico. Para tanto, foi necessrio que o destino das requisies realizadas atravs do
tablet/smartphone, por IP, fosse realizada atravs do uso de DNS (Domain Name
System).
Os Servios Dinmicos DNS - como o do No-IP, o qual foi utilizado neste
trabalho, possibilitam que um dispositivo seja localizado na Internet, mesmo com a
mudana de seu IP (IP Dinmico), pois estes sistemas, atravs de seus aplicativos,
informam de tempos em tempos o IP atual, efetuando automaticamente a atualizao do
redirecionamento.
4.1. SARS - Software Desenvolvido para a placa Arduino (servidor)
Como sua prpria denominao especifica, o SARS atua como um Servidor Web
recebendo as requisies que so enviadas pelo cliente (SARC), executando processos,
conforme as requisies recebidas, e enviando respostas aos clientes, com ou sem
dados.
O trabalho foi desenvolvido para efetuar o controle de quatro rels, os quais
sero ativados ou desativados conforme as requisies enviadas pelo software cliente,
Figura 2 - Esquemtico do sistema implementado.
Internet
Tablet
Smartphone
Modem
Roteador
Neutro
Fase
NA (Normalmente Aberto)
C (Comum)
NF (Normalmente Fechado)
Retorno
Fonte: Elaborada pelo autor.
Controle do
porto eletrnico
12V
X Encontro Anual de Computao - EnAComp 2013
85
bem como informar o status (ativado/desativado) de trs destes rels (rels que
controlam o sensor, lmpada e tomada). O rel que ativa o controle remoto do porto
eletrnico no fornece seu status, em virtude do mesmo ser desativado 200 ms
(milissegundos) aps a sua ativao.
Por questo de segurana, as requisies feitas pelos clientes so autenticadas
(usurio e senha) e enviadas utilizando-se o mtodo POST atravs do uso do protocolo
de transferncia HTTP (HyperText Transfer Protocol).
4.2. SARC - Software desenvolvido para Tablet/Smartphone (cliente)
O SARC foi desenvolvido para o Sistema Operacional Android (Tablet/Smartphone), o
qual utilizado pelo usurio para efetuar o controle dos transdutores conectados a placa
de Automao Residencial, e atua como um cliente, em uma relao cliente/servidor,
com o software desenvolvido para a placa Arduino (SARS).
Na Figura 3 apresenta-se a Interface do SARC, na qual possvel identificar
sete botes: Tomada ativa ou desativa a tomada; Lmpada acende ou apaga a
lmpada; Sensor liga ou desliga o sensor; Garagem aciona o controle do porto
eletrnico da garagem por 20 ms; Internet ativa ou desativa o uso da Internet pelo
sistema; Atualizar habilita ou desabita a atualizao do status do SARS a cada 1
segundo; Sair encerra a aplicao.
Ao lado dos botes Internet e Atualizar so exibidas as seguintes informaes:
Tempo de Resposta tempo decorrido entre o envio da requisio e o retorno de
sua resposta, em segundos;
Tempo Mdio tempo mdio de resposta;
Atualizaes nmero de atualizaes realizadas.

Fonte: Elaborada pelo autor.
Figura 3 - Interface do SARC.
X Encontro Anual de Computao - EnAComp 2013
86
5. Resultados
Com o objetivo de verificar a viabilidade do Sistema de Automao Residencial (SAR)
no envio e recebimento de dados, foram efetuados testes utilizando rede local, Internet
Banda Larga Vivo Speedy (plano de 1 Mb/s) e Internet Mvel 3G Vivo.
O Tempo Mdio de Resposta (TMR) mnimo obtido foi 91 ms (rede local) e o
mximo 569 ms (Internet Mvel 3G Vivo). Apesar da expressiva diferena entre o
mnimo e o mximo alcanado nos diferentes tipos de conexes utilizados, o sistema
apresentou um tempo de resposta vivel. No tempo de resposta mais lento, o usurio
aguardou 0,56 segundo para obter uma resposta, o que representa mais da metade do
tempo que o sistema leva para efetuar a atualizao automtica, que foi determinada
para ocorrer a cada segundo.
Para a realizao das anlises foram realizadas dez medies do Tempo Mdio
de Resposta, obtido atravs de cem atualizaes cada, totalizando mil atualizaes
(repostas obtidas), para cada tipo de conexo (Local, Internet Vivo Speedy e 3G Vivo).
O Shield Ethernet conectado a placa Arduino permaneceu em todos os testes
comunicando-se com a Internet por meio da conexo Vivo Speedy, exceto quando da
realizao dos testes utilizando-se conexo local. Independente do tipo de conexo, as
requisies foram realizadas e tiveram um retorno de cem por cento dos dados.
No Grfico 1 apresenta-se os resultados dos testes realizados para obteno do
TMR do SAR, no qual se pode observar a oscilao tida com a conexo 3G Vivo, bem
como os resultados obtidos com a conexo Local e Speedy, as quais apresentaram
pouqussimas variaes, com um TMR mnimo de 91 e 102 ms, e um mximo de 99 e
108 ms, respectivamente.










6. Concluso e Trabalhos Futuros
O trabalho desenvolvido resultou em um sistema denominado SAR, no qual foram
efetuados testes que demonstraram a sua viabilidade no tocante ao envio e recebimento
de dados.
O controle e monitoramento de sensor, lmpada, tomada e controle de porto
eletrnico apresentaram-se eficazes, ao ponto que todas as requisies recebidas pelo
SARS foram executadas de maneira satisfatria.
Grfico 1 - Resultado dos testes realizados para obteno do TMR do SAR.
Fonte: Elaborada pelo autor.
X Encontro Anual de Computao - EnAComp 2013
87
Assim, com base nos testes realizados, o SAR demonstrou ser um sistema
vivel, e que pode ser expandido com a agregao de outros transdutores e funes, com
foco nas pessoas e no meio ambiente, propiciando mais conforto a aquelas, e respeito a
este, com a utilizao responsvel da energia e das guas.
Como possveis trabalhos futuros pode-se apontar a implementao de um
Banco de Dados utilizando uma estrutura de dados JSON (JavaScript Object Notation),
a ser armazenado em um carto micro SD (Shield Ethernet), contendo os dados dos
usurios, tipos de requisies, data/hora dos acessos a fim de se manter um histrico
destes, bem como os tipos de usurios, controlando, assim, o nvel de acesso ao sistema.
Agradecimentos
Os autores agradecem ao Conselho Nacional de Desenvolvimento Cientfico e
Tecnolgico (Processo: 307255/2009-3) e a Universidade de Jales UNIJALES.
Referncias
Alves, Jos Augusto, e Jos Mota. Casas Inteligentes. 2003.
http://www.centroatl.pt/titulos/solucoes/casasinteligentes.php3 (acesso em 11 de 11
de 2012).
Daquino, Fernando. Casas inteligentes sero realidade em 10 anos, afirmam cientistas.
31 de maro de 2012. http://www.tecmundo.com.br/casas/21501-casas-inteligentes-
serao-realidade-em-10-anos-afirmam-cientistas.htm (acesso em 11 de novembro de
2012).
Dornelles, Adalberto A. Fundamentos de Linguagem C. Departamento de
Engenharia de Computao e Automao - UFRN. 1997.
http://www.dca.ufrn.br/~xamd/dca0800/apostila_C.pdf (acesso em 09 de novembro
de 2012).
Inovcity. Casas mais Inteligentes. 2010. http://www.inovcity.pt/pt/Pages/casas-
inteligentes.aspx (acesso em 11 de novembroq de 2012).
Lecheta, Ricardo R. Google Android Aprenda a criar aplicaes para dipositivos
mveis com o Android SDK. So Paulo: Novatec, 2010.
Loyola, Darshany. 'Casas inteligentes' atraem cada vez mais clientes no mercado
capixaba. 16 de setembro de 2011. http://g1.globo.com/espirito-santo/mercado-
imobiliario/noticia/2011/09/casas-inteligentes-atraem-cada-vez-mais-clientes-no-
mercado-capixaba.html (acesso em 11 de novembro de 2012).
Mass, FRAMINGHAM. Android Marks Fourth Anniversary Since Launch with 75.0%
Market Share in Third Quarter, According to IDC. 1 de novembro de 2012.
https://www.idc.com/getdoc.jsp?containerId=prUS23771812 (acesso em 2012 de
novembro de 15).
Quines, Rafael. EthernetShield Oficial do Arduino. 8 de novembro de 2008.
http://www.arduinors.net/blog/tag/ethernet-shield-arduino-internet-servidor-web/
(acesso em 10 de outubro de 2012).

X Encontro Anual de Computao - EnAComp 2013
88

Desempenho do Uso de Vises nas Consultas em Diferentes
Servidores de Banco de Dados Relacionais
Walter Jos da Silva
1
, Hiago de Assis Silva
1
, Flvio Ferreira Borges
2

1
Universidade Federal de Gois Campus Jata
BR 364, Km 193, n 3800, CEP: 75801-615 Jata GO Brasil
2
Departamento de Cincias da Computao
Universidade Federal de Gois Campus Jata Jata, GO Brasil
{sillva.walter, hiagoassis, flavio.ufg.jatai}@gmail.com
Abstract. This paper presents a research on the performance of queries using
view in the database, to identify whether the use of this feature can bring
benefits to alleviate the overload of requests for database servers, reducing the
response time. And also which will show the performance gain from using this
feature for different database management systems in order to know if there is
a performance difference and see which of the servers tested support better the
feature of view.
Resumo. Este artigo apresenta um trabalho de investigao do desempenho
do uso de viso em consultas ao banco de dados, visando identificar se o uso
desse recurso pode trazer benefcios para amenizar a sobrecarga de
requisies em servidores de banco de dados, diminuindo o tempo de resposta.
E tambm mostrar qual ser o ganho de desempenho do uso desse recurso
para diferentes sistemas gerenciadores de banco de dados, a fim de saber se
h uma diferena de desempenho e verificar qual dos servidores testados
suporta melhor o recurso de viso.
1. Introduo
A evoluo das organizaes e o aumento no volume de dados manipulados
ocasionaram o surgimento de uma srie de sistemas especficos para tratar as vrias
necessidades de um banco de dados. Dentre essas necessidades destacam-se o controle
do acesso aos dados, o aperfeioamento do desempenho e a garantia da integridade. Para
facilitar esta administrao surgiu o Sistema Gerenciador de Banco de Dados (SGBD)
[Silberchatz et al. 2006].
O SGBD considerado como uma coleo de programas que permite aos
usurios a criao e manuteno de um banco de dados, portanto, um sistema de
software de propsito geral que facilita os processos de definio, construo,
manipulao e compartilhamento de um conjunto de dados entre vrios usurios e
aplicaes [Elmasri et al. 2005].
O meio de acesso s informaes mantidas por esse SGBD conhecida por
query, que simplesmente uma forma de requisitar informaes ou puramente dados ao
banco. Essa forma de requisitar informaes possvel graas a um padro criado no
X Encontro Anual de Computao - EnAComp 2013
89

incio da dcada de 70, chamado de SQL (Structured Query Language) [Date 2003]. A
SQL uma linguagem para lidar com bancos de dados relacionais, e que abrange
instrues para definio de dados, consultas e atualizaes, dentre outras
funcionalidades [Date 2003], [Elmasri et al. 2005], [Ramakrishnan et al. 2008].
Porm, essas requisies consomem certo tempo de processamento, e em
sistemas de grande porte, onde o nmero de requisies simultneas elevado, o
servidor de banco de dados pode encontrar dificuldades em enviar as repostas aos
processos chamadores (clientes) em um tempo hbil. E para amenizar a sobrecarga dos
servidores no processamento dessas requisies sugere-se o uso de viso em consultas
ao banco de dados.
Em banco de dados, viso um recurso avanado onde algumas de suas funes
so fornecer um meio de abreviao ou de macro, permitir que vrios conjuntos de
dados (tabelas) sejam vistos por usurios em um novo conjunto, fornecer segurana
automtica para dados ocultos e independncia de dados lgica [Date 2003]. E que
segundo Date (2003), Elmasri (2005) e Halevy (2001), trazem um ganho significativo
no tempo de resposta da consulta.
Contudo, o objetivo deste trabalho verificar o desempenho em tempo de
resposta das consultas com o uso do recurso de viso e compar-lo ao desempenho de
consultas sem o uso desse recurso, para comprovar de fato a sua eficincia. E tambm
comparar o desempenho de vises em diferentes SGBDs, a fim de mostrar se h uma
diferena relevante no tempo de resposta entre eles.
Para avaliar o desempenho das consultas com o recurso de viso de SGBDs
usado tcnica de benchmark. E conforme Ciferri (1995) essa tcnica baseada em um
modelo de anlise, composta por um conjunto de testes j previamente definidos e que
poder ser aplicado a vrios sistemas distintos, que possuam funcionalidades
semelhantes. O objetivo manter toda a avaliao de desempenho dentro das mesmas
caractersticas. O JMeter ferramenta usada neste trabalho, e possui essas tcnicas
mencionadas.
O Apache JMeter uma aplicao desktop, projetada para testar e medir o
comportamento do desempenho funcional de aplicaes cliente/servidor, como
aplicaes web, banco de dados ou aplicativos de FTP (File Transfer Protocol). uma
das ferramentas (open-source) amplamente utilizada em testes de sistema, oferecendo
aplicao de testes em rede livremente distribuda. puramente baseado em Java e
altamente extensvel atravs de uma API (Application Programming Interface)
fornecida pela Apache [Halili 2008], [Santos et al. 2008].
Todavia, autores como Pires et al. (2006), Silva (2006) e Aquino (2007)
mostram a importncia de avaliar recursos ou certas funcionalidades em sistemas
computacionais, que nesse caso especfico so servidores de banco de dados. O motivo
verificar se h diferenas de desempenho em funcionalidades de sistemas, visando
encontrar a ferramenta certa para uma aplicao especfica.
Enfim, tem-se visto que essa investigao ser importante para obteno de
mtodos que diminuiro um problema to comum em dias atuais, onde a gerao de
informao armazenada cresce demasiadamente, e a busca por essas informaes chega
a ser frentica. Tcnicas para amenizar a sobrecarga de servidores de dados so
X Encontro Anual de Computao - EnAComp 2013
90

importantes, e o recurso de viso pode ser mais uma dentre outras vrias tcnicas
existentes a realizar essa tarefa.
2. Trabalhos Relacionados
O objetivo que se tem com esses trabalhos apresentar as discusses e problemas
relacionados ao uso de viso em consultas ao banco de dados, e encontrar formas e
mtodos de se fazer uma avaliao de desempenho entre softwares distintos. De forma
que essa avaliao seja realizada em um alto nvel de imparcialidade, buscando o
embasamento necessrio para mostrar a relevncia de se fazer essa anlise.
Comeando com o trabalho de Mitra (2001) onde apresentado um algoritmo
que permite que um sistema que manipula uma quantidade muito grande de informaes
possa reescrever consultas de forma eficiente utilizando viso. Com isso, reduzir o
tempo de resposta aos usurios, melhorar a escalabilidade e tornar o sistema capaz de
lidar com um grande nmero de fontes de informao
1
.
Nos trabalhos de Halevy (2001) e Felea et al. (2007) mostrado a importncia
de usar viso em consultas ao banco de dados. dito que viso uma funcionalidade
que ajuda a resolver uma srie de problemas de gerenciamento de dados. A otimizao
da consulta, a manuteno da independncia fsica dos dados, a integrao de dados e o
projeto de design de armazenamento de dados so os problemas citados por Halevy
(2001), que podem ser resolvidos por meio do uso de viso.
Halevy (2001) ainda ressalta que as muitas aplicaes da viso usadas para
responder consultas estimularam uma onda de pesquisa, que foram desde os
fundamentos tericos at o projeto do algoritmo e a sua implementao em vrios
sistemas comerciais. E Felea et al. (2007) reuni pontos de vista de vrios autores para
falar sobre os problemas que foram solucionados com o uso de viso.
O problema em servidores de banco de dados sobrecarregados um problema
abordado por Kyoung-Don et al. (2007), ele fala principalmente em aplicaes de tempo
real onde o tempo de resposta para uma requisio um fator crtico. Com base em
estudos apresentados por autores j citados, o uso de viso em consultas ao chamado
RTDB (Real-Time Database), poderia ser uma soluo para amenizar a sobrecarga,
porm no mencionada pelo autor, que aborda um outro tipo de tecnologia chamada de
Chronos. O trabalho de Kyoung-Don et al. (2007) foi encarado aqui simplesmente como
um exemplo de que existe o problema de sobrecarga em servidores de banco de dados e
preciso realizar trabalhos que ajudem a diminuir esse problema.
Com relao avaliao de desempenho de sistemas, o trabalho de Pires et al.
(2006) tem a proposta de apresentar um estudo comparativo de desempenho entre os
servidores de banco de dados MySQL e PostgreSQL, com a utilizao da ferramenta
Open Source Database Benchmark (OSDB), em uma plataforma GNU/Linux. O
trabalho consiste em analisar os SGBDs sob as mtricas geradas pelo OSDB e fomentar
possveis melhorias em suas funcionalidades.

1
Informaes de pesquisas recorrentes de usurios [Mitra 2001].
X Encontro Anual de Computao - EnAComp 2013
91

De outra forma, o trabalho de Silva (2006) tem o objetivo de avaliar o
desempenho dos principais mtodos de armazenamento de objetos multimdia, com uso
de benchmark. E usa como estudo de caso para avalio o SGBD PostgreSQL.
Devemos tambm ressaltar o trabalho de Aquino (2007), que apresenta o sistema
VEPersonal (Personalized Virtual Environment), uma infraestrutura para gerenciamento
de componentes de realidade virtual, o qual permite adaptar ambientes virtuais em
funo do nvel de conhecimento ou das necessidades do usurio. E teve o objetivo de
propor, construir e validar uma infraestrutura para fazer o gerenciamento de
componentes de ambientes virtuais adaptativos.
No entanto, um dos problemas principais do trabalho a construo de mundos
virtuais utilizando objetos 3D armazenados em um SGBD. Contudo, o armazenamento
e a recuperao de objetos em um SGBD podem ser realizados por linguagens de
consulta com suporte a XML. E partir disso, surge necessidade de comparar SGBDs
com XML nativo com SGBDs com suporte a XML [Aquino 2007].
Enfim, notvel a relevncia da investigao aqui proposta, j que viso um
recurso que possui uma capacidade de diminuir um problema muito comum em
servidores de grande porte, que a sobrecarga. E conforme mostrado em trabalhos
anteriores, existe uma necessidade de analisar e comparar tecnologias diferentes sob
certos aspectos funcionais. E que essas anlises sejam feitas de forma automatizada e
metodolgica, para que haja uma relevncia e coerncia na deciso de escolha do
software apropriado para cada caso.
3. Metodologia
A metodologia usada na avaliao dos SGBDs foi a GQM (Goal - Question - Metric).
No qual a ideia bsica derivar mtricas de software a partir de questes que queremos
responder e objetivos que queremos alcanar [Guarizzo 2008]. Com o intuito de mostrar
quais das mtricas fornecidas pela ferramenta JMeter vo ser utilizadas neste trabalho.
A seguir so especificados os pontos GQM dessa metodologia:
Objetivo (Goal): o objetivo desse trabalho descobrir se as consultas com
recurso de viso podem trazer um ganho de desempenho em tempo de resposta
para servidores de banco de dados. E tambm investigar se consultas com viso
podem ter desempenhos diferentes em SGBDs distintos.
Questes (Question): Consultas com viso so melhores que consultas sem esse
recurso? Consultas com viso podem trazer um ganho significativo para
servidores de banco de dados sobrecarregados?
Mtricas (Metric): Com base nos objetivos e nas questes levantadas, percebe-se
que as mtricas mdia e srie 90%
2
, fornecidas pelo JMeter, so suficientes
para gerar o conhecimento necessrio para atingir os objetivos. Essas medidas
sero usadas para compor as frmulas abaixo.

2
Essa mtrica mostra que 90% das amostras atingiram um determinado tempo.
X Encontro Anual de Computao - EnAComp 2013
92

Mdia Harmnica: serve para achar o throughput por unidade de tempo de cada
requisio. Ela definida pela frmula mostrada logo a seguir, onde n o nmero de
requisies, e t o tempo de resposta para cada requisio [Silberchatz et al. 2006].
Throughput = n / ((1 / t
1
) + (1 / t
2
) +...+ (1 / t
n
))
Speedup: ajuda a mostrar o ganho da diferena de desempenho entre as
consultas, ou seja, quanto maior o Speedup, maior ser o ganho de desempenho. E
dado pela frmula a seguir:
Speedup = oldRequestTime / newRequestTime
4.1. Descrio dos Testes
Todos os testes foram realizados em um notebook DELL Inspiron 1545, com as
seguintes configuraes: processador Intel Pentium Dual-Core CPU T4200 @
2.00GHz, 2000Mhz, 2 ncleos, 2 processadores lgicos, com 512KB de cache, RAM de
3GB e disco SATA de 150 GB e 5300 rpm.
A etapa inicial compreende na instalao dos servidores de banco de dados
MySQL 5.5.29 e o PostgreSQL 8.3. Os dois servidores foram instalados no sistema
operacional Windows, e como o sistema operacional no influencia no resultado dos
testes, esse foi escolhido meramente por proporcionar comodidade ao pesquisador.
A escolha dos SGBDs se deve ao fato de serem os mais utilizados pelos
usurios, o que refletido nas vrias pesquisas feitas sobre eles, mostradas inclusive nos
trabalhos relacionados. E tambm por termos permisso para realizar testes e divulg-
los, o que no seria possvel em servidores de banco de dados proprietrios, em que por
questes de marketing, no permitem a divulgao dos resultados [Pires et al. 2006].
Para realizar os testes foi usada uma base de dados de gerenciamento escolar, j
igualmente predefinida para os dois SGBDs, que contm 103 tabelas e 97
relacionamentos, e com um tamanho de aproximadamente 135MB. Em seguida foram
construdas 4 consultas para os dois servidores, com 5, 10, 15 e 20 relacionamentos
cada.
4.2. Carga de Trabalho
Pretende-se com as cargas de trabalho, esforar ao mximo o servidor, tentando simular
uma condio de uso real e observar o seu comportamento. Elas foram impostas aos
dois SGBDs testados em 4 fases, como seguem abaixo:
1 Fase: Foram executadas as 4 consultas sem o recurso de viso (CTs) com 4, 8,
16, 32, 64, 128 usurios simultneos de cada vez, no MySQL;
2 Fase: No PostgreSQL foram executadas as 4 (CTs) com a mesma quantidade
de usurios simultneos por vez;
3 Fase: Depois, foram executadas no MySQL as 4 consultas com o recurso de
viso (CVs) tambm com 4, 8, 16, 32, 64, 128 usurios simultneos;
4 Fase: E por fim, executamos no PostgreSQL as 4 (CVs), tambm com a
mesma quantidade de usurios simultneos descrita acima.
X Encontro Anual de Computao - EnAComp 2013
93

importante enfatizar que tanto as (CTs) e as (CVs) construdas nos dois
SGBDs, no usam o recurso de ndices. Os ndices so usados pelos servidores de banco
de dados para obter um acesso aleatrio rpido s tuplas do banco, onde cada ndice est
associado a uma determinada chave de busca [Silberchatz et al. 2006].
4. Resultados Obtidos
Para realizar os testes, alguns cuidados foram tomados para que no fossem
considerados certos dados que no seguem um padro em relao aos demais. Para isso
foi usado mtrica srie 90% (fornecida pelo JMeter), e comparou-se com a mdia dos
tempos de resposta das requisies. S foram validadas as mdias que ficaram entre um
intervalo de 10% (para mais ou para menos), do resultado gerado pela srie 90%. Ento
se afirma que no mnimo 80% dos tempos de resposta estavam bem prximos mdia.
Aps isso, j com todos os resultados em mos, foi utilizado a Mdia Harmnica
para encontrar o throughput para cada tempo de resposta retornado. E para saber qual
servidor de banco de dados teve um maior desempenho nas consultas com viso usada
frmula de Speedup. Com ela possvel quantificar quanto de ganho se obteve em
relao aos dois tipos de consulta.


Figura 1. Comparao de Speedup das consultas nos SGBDs.
Na Figura 1 mostrado um comparativo do Speedup entre o MySQL e o
PostgreSQL, onde foi feita uma mdia do ganho das consultas com os diferentes
relacionamentos. possvel notar que o PostgreSQL se mostrou com um resultado
melhor que seu concorrente.
Por fim, mostrada na Figura 2 a diferena total de ganho entre os dois SGBDs.
O MySQL obteve um ganho de aproximadamente 70%, e o PostgreSQL obteve um
ganho de 130%. Portanto, conclui-se que o PostgreSQL suporta melhor o recurso de
viso, e tem uma diferena significativa de desempenho comparado com o MySQL.
X Encontro Anual de Computao - EnAComp 2013
94


Figura 2. Desempenho das vises nos SGBDs.
5. Concluso e Trabalhos Futuros
A sobrecarga de consultas em banco de dados um problema que tende a se agravar
com o passar do tempo. A enorme quantidade de informaes requisitadas por dia pode
ultrapassar a casa dos trilhes
3
. Desta forma, necessrio o uso de tcnicas que
minimizem esse intervalo de tempo, entre requisio e resposta, e alivie o meio de
comunicao utilizado.
Baseado nisso, tem-se visto que o recurso de viso conseguiu retornar valores
expressivos para reduo de tempo de resposta, e podendo assim, contribuir com uma
diminuio significativa da sobrecarga de servidores de dados. Alm disso, foi possvel
observar que existem diferenas de desempenho de funcionalidades especificas entre
SGBDs distintos, e a investigao ser de grande ajuda para quem est em busca de uma
ferramenta para um tipo de aplicao que se preocupa na maioria do tempo a responder
requisies.
Como trabalhos futuros, pretendido realizar esses mesmos testes sob consultas
em diferentes SGBDs, mas agora usando vises materializadas, onde guardado o
resultado da consulta em vez do resultado do gerador de cdigo, no qual pode-se
observar se elas possuem diferenas de desempenho das consultas com recurso de viso
virtual, a qual foi abordada neste trabalho. E verificar tambm como seria o seu
comportamento em meio s atualizaes em tempo real.
Tambm desejvel, aprofundar mais nas atividades exercidas pelo SGBD para
responder a uma requisio, principalmente investigar o funcionamento do otimizador
da consulta, e ver qual a dificuldade de se chegar a um caminho timo em um tempo
razovel, com o objetivo de verificar qual seria o motivo de diferentes SGBDs terem um
tempo de resposta varivel para consultas idnticas.

3
http://www.realtimestatistics.org/
X Encontro Anual de Computao - EnAComp 2013
95

References
Aquino, Marcus S. (2007) VEPersonal - Uma Infra-Estrutura para Gerao e
Manuteno de Ambientes Virtuais Adaptativos. Tese de Doutorado, Universidade
Federal de Pernambuco, Recife, PE.
Ciferri, Ricardo R. (1995) Um Benchmark Voltado Anlise de Desempenho de
Sistemas de Informaes Geogrficas. Dissertao de Mestrado, Universidade
Estadual de Campinas, Campinas, SP.
Date, C. J. (2003), Introduo a Sistemas de Banco de Dados, Editora Elsevier, 4
edio.
Elmasri, Ramez; Navathe, Shamakant B. (2005), Sistemas de Banco de Dados, Editora
Pearson Addison Wesley, 4 edio.
Felea, Victor; Balta, Marian. (2007) On Equivalence Of Queries Using Views, In:
International Symposium on Symbolic and Numeric Algorithms for Scientific
Computing, IEEE Conference Publications.
Guarizzo, Karina. (2008) Mtricas de Software. Monografia de Graduao, Faculdade
de Jaguarina, Jaguarina, SP.
Halevy, A. Y. (2001) Answering Queries Using Views: A Survey, In: Department of
Computer Science and Engineering, University of Washington.
Halili, Emily H. (2008), Apache JMeter: A Practical Beginner's Guide to Automated
Testing and performance measurement for your websites. Editora Packt Publishing,
1 edio.
Kyoung-Don, K.; Sin, P. H.; Jisu, O.; Son, S. H. (2007) A Real-Time Database Testbed
and Performance Evaluation, In: 3th IEEE International Conference, Embedded and
Real-Time Computing Systems and Applications.
Mitra, Prasenjit. (2001) An Algorithm for Answering Queries Efficiently Using
Views, In: 12th Australasian Database Conference, IEEE Conference Publications.
Pires, Carlos E. S.; Nascimento, Rilson O.; Salgado, Ana C. (2006) Comparativo de
Desempenho entre Bancos de Dados de Cdigo Aberto, In: Escola Regional de
Banco de Dados, Anais da ERBD06, Porto Alegre.
Ramakrishnan, Raghu; Gehrke, Johannes. (2008), Sistemas de Gerenciamento de Banco
de Dados. Editora McGraw-Hill, 3 edio.
Santos, Ismaley S.; Neto, Pedro A. S. (2008) Automao de Testes de Desempenho e
Estresse com o JMeter, In: II ERCEMAPI - Escola Regional de Computao, So
Luiz.
Silberchatz, Abraham; Korth, Henry F.; Sudarshan, S. (2006), Sistemas de Banco de
Dados. Editora Elsevier, 5 edio.
Silva, Ricardo C. (2006) Benchmark em Banco de Dados Multimdia: Anlise de
Desempenho em Recuperao de Objetos Multimdia. Dissertao de Mestrado,
Universidade Federal do Paran, Curitiba.
X Encontro Anual de Computao - EnAComp 2013
96
Ambiente Virtual de de Cenrio Urbano para Simulao
Multiagentes - Experincia do Projeto ADGEPA
Mirelle Cristina Lima Silva
1
, Erika Morais Martins Coelho
1
, Vincius Sebba Patto
1
1
Instituto de Informtica Universidade Federal de Gois (UFG) Bloco IMF-1
Campus Samambaia CEP. 74690-815 Goinia GO Brasil
mirellycristina.si@gmail.com, {erikamorais, viniciussebba}@inf.ufg.br
Abstract. One of the ADGEPA project artifacts is a responsive web applica-
tion in which one can make complaints about socioenvironmental concerns and
can store these complaints in a data base. From these data, we look for useful
knowledge, using data mining techniques. Since experiments to gather data take
too long, we propose the use of multiagents systems to simulate our application
users. In this paper, we present the ADGEPA project, its simulation model, and
our virtual environment proposal for this simulation.
Resumo. Um dos artefatos do projeto ADGEPA uma aplicao web respon-
siva em que usurios podem fazer denncias sobre problemas socioambientais
e as armazenar em uma base de dados. A partir dos dados, ns buscamos
conhecimento til, por meio de tcnicas de minerao de dados. Haja vista
que experimentos para captar dados tomam muito tempo, propomos o uso de
sistemas multiagentes para simular usurios da nossa aplicao. Neste artigo,
ns apresentamos o projeto ADGEPA, o seu modelo de simulao e a nossa
proposta de um ambiente virtual para a nossa simulao.
1. Introduo
medida que cidades crescem, aumenta-se a necessidade de recursos naturais e servios
para manter suas populaes. O abastecimento de recursos bsicos e o fornecimento de
servios (e.g. coleta de esgoto) se tornam mais difceis. Consequentemente, problemas
sociais e ambientais so evidenciados.
Faz certo tempo que pesquisadores propem formas de identicar e classi-
car reas de risco socioambiental, apoiar processos de tomada de deciso, permitir
anlise conjunta de dados socioambientais, etc. Podemos citar alguns exemplos: (i)
em [Alves 2006], o objetivo da pesquisa foi de operacionalizar a categoria vulnerabi-
lidade social pelo mapeamento de pontos crticos de fragilidades socioambientais; (ii)
[Barcellos et al. 2005] propuseram, por meio de tcnicas de geoprocessamento, localizar
casos de dengue e identicar fatores socioambientais que caracterizam locais com casos
frequentes; e (iii) [Poch et al. 2004], no qual autores descrevem a construo de sistemas
de apoio a deciso voltados para escolha de sistemas de tratamento de esgoto.
Trabalhos recentes continuaram a propor avaliaes de riscos socioambientais,
formas de apoiar aes para minimizar problemas socioambientais, etc. Muitos so
pautados apenas em mtodos cientcos e matemticos para atingir seus objetivos, e.g.:
[Katukiza et al. 2010] e [Malekpour et al. 2013]. Outros consideram tambm a partici-
pao pblica em processos de gesto, e.g.: [Sebba Patto 2010] e [Lay et al. 2013].
X Encontro Anual de Computao - EnAComp 2013
97
Percebemos grandes contribuies desses trabalhos. Porm, alguns poderiam ser
melhorados em aspectos como a incluso de comunidades interessadas no processo; ou-
tros, em aspectos como o aumento da complexidade do cenrio. Nem sempre con-
veniente desprezar o conhecimento da populao. No seu trabalho, [Lay et al. 2013]
mostram que cidados comuns podem ter percepes parecidas quelas de cientistas. Em
[Sebba Patto 2010], o autor mostra que aes participativas podem auxiliar gestes pela
educao e aumento do conhecimento sobre o domnio, por parte de cidados envolvidos.
Neste artigo, apresentamos uma proposta de um agente computacional para si-
mular um ambiente urbano virtual. Este trabalho foi desenvolvido no seio do projeto
Assistente Digital para Gesto Pblica Participativa (doravante ADGEPA). Um dos prin-
cipais objetivos deste agente ambiente suportar simulao dos dados de modo que os
dados gerados tenham coerncia com o cenrio representado.
Primeiramente, apresentamos as motivaes, os objetivos e o projeto ADGEPA.
Na Seo 3, discutimos simulao multiagentes no projeto, seus objetivos e seu ciclo.
Posteriormente, apresentamos a arquitetura preliminar da simulao. Na Seo 4, expli-
camos nossa proposta do Agente Ambiente - assunto principal deste trabalho. Antes de
concluirmos, apresentamos o estado atual do trabalho e o prospecto das atividades.
2. O projeto ADGEPA
2.1. Motivao
Uma das principais motivaes do projeto investigar a possibilidade de auxiliar a admi-
nistrao pblica com uso de tecnologias web e participao de cidados. Alm disso,
acreditamos que problemas socioambientais possam ter associaes uns com os outros,
seja pelo favorecimento ao crescimento ou ao surgimento de problemas. Assim, pretende-
mos desenvolver um assistente digital para auxiliar em tomadas de deciso em gesto
pblica. Alm de participativo, este processo pode ser mais eciente que prticas conven-
cionais de gesto pblica.
2.2. Objetivos
De maneira mais abstrata, podemos dizer que o objetivo geral do projeto ADGEPA
dar oportunidade aos membros de comunidades para fazer denncias sobre determinados
problemas socioambientais, de forma que contribuam na escolha de aspectos que possam
ser resolvidos pelo poder pblico. O processo de deciso deve ser baseado na perspectiva
da populao acerca dos problemas socioambientais mais relevantes.
Para isso, pretendemos disponibilizar um aplicativo web responsivo e um m-
dulo para captao de dados ambientais com uso de redes de sensores (o ltimo no ser
abordado neste artigo). Alm de armazenar e compartilhar informaes, o ADGEPA
prope que seja feito renamento dos dados em busca de conhecimento til. Este pro-
cesso de busca por informaes teis conhecido como KDD (Knowledge Discovery in
Database, que em portugus signica Descoberta de Conhecimento em Base de Dados)
[Cios et al. 2010]. Apartir da descoberta de conhecimento emnossos dados, pretendemos
dar suporte a deciso a partir de tcnicas que considerem diversos aspectos (socioambi-
entais), e.g. anlise multicritrio.
X Encontro Anual de Computao - EnAComp 2013
98
2.3. Metodologia
Nosso trabalho est dividido em 4 etapas, cada uma descrita em um dos prximos quatro
pargrafos. A segunda etapa, enfatizada neste artigo, consiste na simulao da primeira
etapa. Na Seo 3, apresentamos detalhes da simulao, da arquitetura e explicamos o
relacionamento das etapas 2, 3 e 4 (representados gracamente pela Figura 2).
A princpio, pretendemos fazer coleta de dados acerca de problemas socioambi-
entais em paisagens urbanas por meio de um aplicativo web responsivo e por rede de sen-
sores. Existem 29 indicadores ambientais, 30 sociais e 4 variveis ambientais coletadas
por sensores. Alm do aspecto socioambiental, o sistema registra quem faz a denncia,
onde e quando o fato denunciado percebido.
Haja vista que o tempo para coleta de dados muito grande, preciso simular
o aplicativo web e seus usurios. Para isso, propomos um modelo de simulao com
um agente computacional para representar um ambiente urbano e agentes usurios para
representar diferentes usurios da aplicao. Pela simulao, esperamos disponibilizar
dados para os agentes mineradores e gestor. importante destacar que no encontramos
nenhum trabalho com dados capazes de representar todos os aspectos socioambientais
tratados no nosso trabalho e nem parte deles em quantidade e diversidade suciente para
fazermos nossos experimentos. Detalhes acerca dos agentes e da simulao na Seo 3.
Pelo uso de KDD, buscamos padres para promover melhor compreenso dos
dados envolvidos na pesquisa. Neste projeto, contamos com a colaborao de dois espe-
cialistas do domnio que nos ajudam na compreenso da representatividade e na granulari-
dade dos dados; fatores fundamentais emKDD, segundo [Pereira Dos Santos Silva 2004].
Para identicao de padres, buscamos agrupamentos e associaes para descobrir poss-
veis correlaes entre aspectos socioambientais e existncia de sries temporais. Assim,
usamos a minerao (parte do trabalho de KDD) para ajudar na descoberta de padres
[Cios et al. 2010] e consequentemente, na descoberta de conhecimento.
Para tratar as informaes descobertas, modelamos um agente computacional de
suporte a deciso. Esse agente representa um gestor articial que pode ter diferentes pers
(menos ou mais tendenciosos a aspectos sociais ou ambientais). Para sugerir aspectos a
serem atacados, o agente elenca os aspectos socioambientais mais associados a outros
aspectos. A partir dos mais associados (identicados na fase de minerao), aplicamos
mtodos matemticos de anlise multicritrio para identicar aspectos mais relevantes
para a populao de uma determinada comunidade. Por razes prticas, no apresentamos
detalhes do agente gestor e da sua metodologia de suporte a deciso neste artigo.
3. Simulao multiagentes no ADGEPA
3.1. Justicativa
A princpio, os dados do projeto deveriam ser providos de usurios do aplicativo web e
de redes de sensores. Pelo sistema, os usurios podem fazer ou visualizar denncias de
problemas socioambientais em paisagens urbanas com auxlio de mapas. Porm, percebe-
mos que seria necessrio muito tempo para coletar dados e obter volume satisfatrio para
os ns da pesquisa. Alm disso, no encontramos e no dispomos de nenhum trabalho
ou base de dados capaz de atender a nossa demanda. Para no prejudicar o andamento
das atividades de descoberta de conhecimento e de suporte a deciso, decidimos simular
X Encontro Anual de Computao - EnAComp 2013
99
os dados. Para esta etapa, escolhemos sistemas multiagentes (SMA) porque esta tcnica
facilita a modelagem dos nossos cenrios (cidades). Alm disso, SMA permite auto-
matizar tarefas humanas [Russell and Norvig 2009]. Dentre as principais caractersticas
de agentes inteligentes, segundo [de Freitas 2002] e [Wooldridge 2009], destacamos: au-
tonomia (caracterstica de usurios humanos simulados por Agentes Usurios), coope-
rao (caracterstica desejvel entre Agentes Mineradores e Agente Gestor), capacidade
de operar em ambientes dinmicos (embora mapas sejam estticos, os agentes mode-
lados devem ser capazes de agir em diferentes ambientes), proatividade (caractersticas
de usurios humanos, simulados pelos Agentes Usurios) e reatividade (caracterstica do
ambiente, representado pelo Agente Ambiente).
3.2. Os agentes
No projeto ADGEPA, est previsto a implementao de quatro tipos de agentes computa-
cionais. Dos quatros agentes, apenas dois tipos esto envolvidos na simulao de dados:
agentes Usurios e Ambiente.
O Agente Gestor (denominado AG) tem como objetivo dar suporte a escolha de
estratgias para mitigar ou eliminar problemas socioambientais. Para isso, o AG percebe
sadas geradas por Agentes Mineradores. Em seguida, o AG identica elementos mais
relevantes para atenuar ou eliminar os problemas socioambientais mais denunciados.
Os Agentes Mineradores (denominado AM) tmcomo objetivo (a) agrupar denn-
cias de acordo com localidades e momentos e (b) buscar associaes entre denncias e
associaes entre denncias e momentos (identicao de sries temporais).
Os Agentes Usurios (denominados AUs) simulamusurios humanos da aplicao
e so responsveis por denncias, feitas de acordo com as caractersticas de cada AU e a
percepo do ambiente.
O Agente Ambiente (denominado AA) representa ambientes virtuais para os AUs.
O AA informa os AUs acerca do ambiente (uma cidade) sempre que for consultado. Mais
detalhes sobre o AA na seo 4. Neste trabalho no apresentamos detalhes dos outros
agentes (que ainda esto em fase de modelagem ou implementao).
3.3. A simulao
Para o nosso modelo, algumas caractersticas precisam ser denidas em tempo de exe-
cuo: o intervalo de tempo (expresso em dias) e a quantidade de AUs que populam o
cenrio. Outras so pr-denidas: a paisagem urbana e elementos do cenrio urbano
(escolas, hospitais, feiras, teatros, bares, cinemas, locais de trabalho, etc). A percenta-
gem de AUs que frequentam alguns ambientes (e.g. escolas) foi estabelecida de acordo
com dados obtidos do Senso IBGE; outras foram estimadas (e.g. feiras, 1 vez por se-
mana). A Figura 1 representa um cenrio urbano escolhido para congurar o AA. Neste
caso, parte do mapa de Goinia denido pelas coordenadas expressas em graus deci-
mais: (-49.272211, -16.693656), (-49.228052, -16.693656), (-49.272211, -16.671375) e
(-49.228052, -16.671375). Para cada tipo de elemento (e.g. escolas) denido um vetor
onde h uma coordenada para cada elemento daquele tipo. Aps executarmos a simula-
o, esperamos popular uma base de dados com denncias sobre problemas socioambi-
entais, momentos que problemas foram percebidos ou denunciados, locais que problemas
foram percebidos e responsveis por denncias.
X Encontro Anual de Computao - EnAComp 2013
100
Figure 1. Trecho da cidade de Goinia
3.4. O ciclo da simulao
A simulao ocorre em ciclos que representam dias. Durante cada ciclo, AUs percorrem
rotas (de suas casas ao local de estudo, de trabalho, de entretenimento, etc), percebem
o ambiente pela troca de mensagens com o AA e podem fazer marcaes (denncias
de problemas socioambientais que ocorrem em determinados locais e momentos). As
rotas dos AUs podem variar de acordo com o dia da semana. Por questo de otimizao
de recursos computacionais, as rotas foram denidas como segmentos de reta entre dois
pontos. Embora essa forma de deslocamento no represente elmente a forma humana
convencional de se deslocar, ela no interfere na percepo do ambiente. Os agentes
repetem este ciclo (dia) at completar o total de dias da simulao.
Ao trmino da simulao, os AMs entram em ao. Eles fazem agrupamentos
nos dados de acordo com localidades e momentos para buscar associaes com intuito de
descobrir possveis correlaes entre denncias e denncias e momentos.
Por ltimo, o AG faz anlise das descobertas feitas pelos AMs e, com base em
tcnicas matemticas de anlise multicritrio, sugere problemas a serem atacados pela
administrao pblica para que se possa resolver ou mitigar a maior parte dos problemas
mais relevantes a sociedade.
3.5. A arquitetura preliminar da simulao
Dentre alguns frameworks para construo de sistemas multiagentes podemos citar: Jason
[Hbner et al. 2004], Cormas [Le Page et al. 2012] e JADE [Gomes et al. 2003]. Ado-
tamos JADE porque o framework atende satisfatoriamente nossas necessidades, possui
bastante documentao e bem aceito em comunidades cientcas sobre simulao mul-
tiagentes. Alm disso, segue padres de desenvolvimentos estabelecidos pela FIPA
1
.
Na Figura 2, representamos a nossa arquitetura de simulao: instncias de AUs
percebem o ambiente, fazem denncias e as armazenam na base de dados. Ao concluir
o ciclo de simulao, os AMs fazem busca de padres por agrupamentos e associaes.
Com base na sada dos AMs, o AG identica aspectos que podem ser atacados para mini-
mizar ou resolver os problemas socioambientais mais relevantes populao.
1
FIPA - Foundation for Intelligent Physical Agents. Disponvel em <http://www.fipa.org/>
X Encontro Anual de Computao - EnAComp 2013
101
Figure 2. Arquitetura geral da simulao
4. O Agente Ambiente
O AA proposto reativo, no possui desejos, objetivos e intenes. Sua principal funo
representar cenrios urbanos de forma que AUs possam compreender os elementos e
fazer marcaes coerentes com o cenrio que eles percorrem.
No incio da simulao, o AA informado sobre a quantidade de dias que a si-
mulao durar e a quantidade de agentes que popularo o cenrio. Os elementos do
mapa (e.g. feiras e cinemas) tm suas quantidades e coordenadas pr-denidas. Ao serem
criados, os AUs conhecem os elementos das suas rotas, mas no sabem onde eles se en-
contram. No incio da simulao, os AUs so informados pelo AA onde se encontram os
elementos. Ao se deslocarem, os AUs no sabem o que h abaixo deles, logo precisam
perceber o ambiente para que possam fazer denncias.
Representados em Java, os principais mtodos da classe Agente Ambiente so:
public void informaElementos( ): informa coordenadas dos elementos da simu-
lao (a princpio, os AUs no sabem onde cam os elementos de suas rotas).
public Coordenada getCoordenada(String): retorna a coordenada geogrca do
elemento passado como parmetro. Este mtodo permite que AUs possam alterar
dinamicamente suas rotas (e.g. mudar de supermercado).
public String oQueE(Coordenada): o AA informa qual o elemento que est em
uma determinada coordenada (x, y).
Vale lembrar que em JADE, as mensagens entre agentes no funcionam da mesma
forma que em linguagens orientadas a objetos (pela chamada de mtodos). Em JADE,
cada mensagem tem remetente, lista de destinatrios, performativa, contedo, linguagem,
ontologia, entre outros; detalhes em [Bellifemine et al. 2007].
5. Trabalho atual e prospecto de atividades
Os agentes AUs, AMs e AG se encontram em fase de modelagem. Dos trs, o AG se
encontra mais adiantado. J simulamos a aplicao de uma tcnica matemtica de anlise
multicritrio, os resultados foram bastante satisfatrios. Porm, faremos mais estudos
X Encontro Anual de Computao - EnAComp 2013
102
com outras tcnicas antes de publicarmos sobre este agente. O AA est em fase de codi-
cao. Haja vista que os agentes so desenvolvidos por diferentes membros da equipe,
ser preciso integr-los futuramente e fazer experimentos para ajustar o modelo.
Ainda necessrio fazer melhorias no AA, haja vista que a API do GoogleMaps
(atualmente utilizada) no sabe distinguir todos elementos. Experimentalmente, imple-
mentamos mtodos para identicar elementos desconhecidos da API, e.g.: bosques e rios.
Para isso, marcamos as coordenadas e criamos polgonos para representar bosques e seg-
mentos de retas para representar rios e crregos. Experimentalmente, usamos margem
de erro de 5 metros (muito comum em GPS) para decidir se pontos muito prximos a
rios e bosques fazem parte ou no deles. Pretendemos tornar o ambiente dinmico (i.e.
modicar caractersticas do cenrio em tempo de execuo, e.g. condies de trnsito).
6. Concluso
O objetivo do projeto ADGEPA consiste em disponibilizar uma ferramenta web respon-
siva para registrar denncias sobre problemas socioambientais em base de dados; a partir
de dados, pretendemos descobrir informaes; e das informaes, indicamos aspectos que
so maiores causadores ou facilitadores do surgimento ou aumento de problemas.
Simulao multiagentes foi escolhida para simular usurios do sistema porque
experimentos tomam muito tempo para coletar dados em quantidade satisfatria para mi-
nerao de dados. Para simular usurios humanos, propomos Agentes Usurios e um
Agente Ambiente. Para descoberta de informaes, propomos os Agentes Mineradores.
Para suporte a deciso, propomos o Agente Gestor. O Agente Ambiente foi apresentado
neste trabalho e se encontra em estado de desenvolvimento. Embora o AA no seja um
agente cognitivo, ele possui grande importncia porque ele permite fazer com que diver-
sos ambientes de simulao possam ser usados pelos AUs.
Destacamos que no pretendemos simular dedignamente nem usurios humanos,
nem comunidades - a complexidade seria muito alta. Temos grandes expectativas acerca
das simulaes, dos trabalhos de descoberta de conhecimento e de suporte a deciso.
Por ltimo e no menos importante, destacamos que descoberta de conhecimento
e suporte a deciso em dados simulados no tm muita valia no mundo real; servem para
validar modelos computacionais dos agentes mineradores e gestor. Ao nal, com esses
dois modelos, pretendemos vericar se possvel dar suporte a uma gesto participativa.
7. Agradecimentos
Agradecemos aos professores Ivanilton Jos de Oliveira e Patrcia de Arajo Romo e aos
alunos Alex Pereira Maranho, Leonardo Afonso Amorim, Carlos Henrique Barros Costa,
James Lima Cipriano Mota por suas contribuies no projeto. Atualmente, o projeto
nanciado pela FAPEG.
References
Alves, H. P. d. F. (2006). Vulnerabilidade socioambiental na metrpole paulistana: uma
anlise sociodemogrca das situaes de sobreposio espacial de problemas e riscos
sociais e ambientais. Revista Brasileira de Estudos de Populao, 23:43 59.
X Encontro Anual de Computao - EnAComp 2013
103
Barcellos, C., Pustai, A. K., Weber, M. A., and Brito, M. R. V. (2005). Identicao de
locais com potencial de transmisso de dengue. Revista da Sociedade Brasileira de
Medicina Tropical, 38:246250.
Bellifemine, F., Caire, G., and Greenwood, D. (2007). Developing Multi-Agent Systems
with JADE. Wiley, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ,
England.
Cios, K. J., Pedrycz, W., Swiniarski, R. W., and Andrzej Kurgan, L. (2010). Data Mining:
A Knowledge Discovery Approach. Springer, 1rst edition.
de Freitas, F. L. G. (2002). Sistemas multiagentes cognitivos para recuperao, classi-
cao e extrao integradas de informao da web. Universidade Federal de Santa
Catarina, Centro Tecnolgico. Programa de Ps-Graduao em Engenharia Eltrica.
Gomes, E. R., Silveira, R. A., and Vicari, R. M. (2003). Utilizao de agentes pa em
ambientes para ensino a distncia. In XXIX Conferncia Latino Americano de Infor-
mtica, La Paz.
Hbner, J., Bordini, R., and Vieira, R. (2004). Introduo ao desenvolvimento de sistemas
multiagentes com jason. In XII Escola de Informtica da SBC, volume 2, pages 5189,
Guarapuava. UNICENTRO.
Katukiza, A., Ronteltap, M., Oleja, A., Niwagaba, C., Kansiime, F., and Lens, P. (2010).
Selection of sustainable sanitation technologies for urban slums a case of bwaise iii
in kampala, uganda. Science of The Total Environment, 409(1):52 62.
Lay, Y.-F. L., Pigay, H., and Rivire-Honegger, A. (2013). Perception of braided river
landscapes: Implications for public participation and sustainable management. Journal
of Environmental Management, 119(0):1 12.
Le Page, C., Becu, N., Bommel, P., and Bousquet, F. (2012). Participatory agent-based
simulation for renewable resource management: The role of the cormas simulation
platform to nurture a community of practice. J. Articial Societies and Social Simula-
tion, 15(1).
Malekpour, S., Langeveld, J., Letema, S., Clemens, F., and van Lier, J. B. (2013). Judg-
ment under uncertainty; a probabilistic evaluation framework for decision-making
about sanitation systems in low-income countries. Journal of Environmental Man-
agement, 118(0):106 114.
Pereira Dos Santos Silva, M. (2004). Minerao de dados - conceitos, aplicaes e expe-
rimentos com weka. Escola Regional de Informtica RJ/ES, 1:1921.
Poch, M., Comas, J., Rodrguez-Roda, I., Snchez-Marr, M., and Corts, U. (2004).
Designing and building real environmental decision support systems. Environmental
Modelling and Software, 19(9):857873.
Russell, S. and Norvig, P. (2009). Articial Intelligence: A Modern Approach. Prentice
Hall, 3rd edition.
Sebba Patto, V. (2010). The use of assistant agents for the analysis and decision making
in participatory management. PhD thesis, UFR dInformatique, Universit Pierre et
Marie Curie.
Wooldridge, M. (2009). An Introduction to MultiAgent Systems. Wiley, 2nd edition.
X Encontro Anual de Computao - EnAComp 2013
104

FlexTest Um Framework Flexvel para a Automao de
Testes
Camila Socolowski
1, 2
, Andr Alarcon
2
, Andr Temple de Antonio
2
1
Departamento de Engenharia de Computao e Automao Industrial (DCA)
Universidade Estadual de Campinas (Unicamp) Campinas, SP Brasil
2
CPqD Telecom & IT Solutions / DSB Diretoria de Solues em Billing
Campinas, SP Brasil.
{camilas,aalarcon,andret}@cpqd.com.br
Abstract. Regression testing is applied to ensure the quality of software across
multiple versions. This paper presents a framework designed to automate tests
recorded by Selenium tool and to allow greater flexibility in the maintenance
of test cases by test analysts with different skills. Moreover, the framework
provides some facilitators resources to be used at the conference of the
expected results of the execution of test cases. The feasibility of this framework
was validated through its application in automated testing of a real software.
Resumo. O teste de regresso aplicado para garantir a qualidade de
software ao longo de vrias verses. Este artigo apresenta um framework
desenvolvido para automatizar testes gravados por meio da ferramenta
Selenium e para permitir uma maior flexibilidade na manuteno dos casos de
teste pelos analistas de teste com diferentes perfis. Alm disso, o framework
disponibiliza alguns recursos facilitadores a serem utilizados na conferncia
dos resultados esperados da execuo de casos de teste. A viabilidade desse
framework foi validada por meio de sua aplicao em automao de testes de
um software real.
1. Introduo
Aps seu desenvolvimento, um produto de software usado na indstria precisa evoluir
devido incluso de novas funcionalidades requeridas pelo cliente a medida que seus
negcios mudam. Alm disso, defeitos so encontrados durante o uso do software em
produo, provocando a necessidade de manuteno. Diante dessa evoluo, um
desafio manter a qualidade de software aps diversas verses [Park et. al. 2008].
O teste de regresso usado para garantir qualidade de software, aps diversas
verses de um produto de software terem sido geradas durante seu desenvolvimento e
manuteno. No entanto, o teste de regresso muito caro, porque requer muitas
execues de casos de teste e o nmero de casos de teste aumenta consideravelmente
medida que o software evolui [Elbaum et al. 2002].
Esse artigo abordar as tcnicas de automao relacionadas tecnologia
utilizada no processo de automao. Mas recomenda-se que antes de iniciar qualquer
projeto de automao, sejam analisados o custo-benefcio da aplicao das tcnicas
X Encontro Anual de Computao - EnAComp 2013
105

seleo de testes de regresso (STR) para se obter um resultado mais eficaz na seleo
dos casos de teste que sero automatizados.
O processo de automao definido nesse trabalho aponta primeiramente para a
necessidade de identificar com critrio as funcionalidades que devem ser automatizadas.
Aps a identificao dessas funcionalidades e a seleo de casos de teste, o prximo
passo identificar quais as tecnologias e ferramentas poderiam ser utilizadas para
automatizar os testes selecionados, e dentro desse contexto identificou-se a necessidade
da criao de um framework para automatizar os testes.
Portanto, nesse artigo proposto o framework FlexTest que tem como objetivo
possibilitar a execuo de testes funcionais baseados em plataforma web. A aplicao
do framework apresentada em um estudo de caso realizado em um sistema
considerado de grande porte.
Este artigo est organizado da seguinte forma: na Seo 2 so descritos os
conceitos bsicos de testes de regresso e tcnicas de automao de testes, na Seo 3
apresentado o processo de automao utilizado neste trabalho, na Seo 4 apresentado
o framework FlexTest para automao de testes de software, na Seo 5 apresentado
um estudo de caso em que o framework aplicado em um sistema real e finalmente na
Seo 6 so apresentados a concluso e as sugestes de trabalhos futuros.
2. Definies e Conceitos Bsicos
Nas subsees a seguir, so apresentados os conceitos bsicos relacionados a teste de
regresso e tcnicas de automao de testes.
2.1. Teste de Regresso
O teste de regresso usado para apoiar as atividades de teste e garantir a obteno da
qualidade apropriada ao longo de diversas verses de software [Park et al. 2008].
Quando componentes novos ou modificados, inseridos em um software, causam
defeitos a outros componentes no modificados, pode-se afirmar que o sistema em teste
regrediu [Binder 2000]. Por isso, os testes aplicados ao novo sistema, contendo as
alteraes, so chamados testes de regresso, que visam evitar a regresso do sistema.
As principais tcnicas para teste de regresso so: seleo de testes de regresso (STR)
[Rothermel and Harrold 1996] e priorizao de testes de regresso [Elbaum et al. 2002].
2.2. Tcnicas de Automao de Testes
As principais tcnicas de automao de teste apresentadas na literatura so: record &
playback, scripts, data-driven e keyword-drivers.
A tcnica record & playback consiste em utilizar uma ferramenta de automao
de testes para gravar as aes executadas pelo usurio, que interage com a interface
grfica do sistema e converte as aes em scripts de teste que podem ser executados
quantas vezes forem necessrias. Essa tcnica considerada simples e prtica [Fewster
1999] [Fewster 2001] [Hendrickson 1998].
A tcnica de scripts considerada como uma extenso da tcnica record &
playback. Atravs da programao, os scripts de teste gravados so alterados para que
desempenhem um comportamento diferente do script original durante sua execuo.
X Encontro Anual de Computao - EnAComp 2013
106

Para que esta tcnica seja utilizada, necessrio que a ferramenta de gravao de
scripts de teste possibilite a edio dos mesmos. Em comparao com a tcnica record
& playback, a tcnica de scripts apresenta maior taxa de reutilizao, maior tempo de
vida, melhor manuteno e maior robustez dos scripts de teste [Tervo 2001].
A tcnica Data-Driven consiste em extrair, dos scripts de teste, os dados de
teste, que so especficos por caso de teste, e armazen-los em arquivos separados dos
scripts de teste. Os scripts de teste passam a armazenar os procedimentos de teste
(lgica de execuo) e as aes de teste sobre a aplicao, que normalmente so
genricos para um conjunto de casos de teste [Nagle 2000] [Zambelich 1998].
A tcnica Keyword-Driven consiste em extrair dos scripts de teste o
procedimento de teste que representa a lgica de execuo. Os scripts de teste passam a
conter apenas as aes especficas de teste sobre a aplicao, as quais so identificadas
por palavras-chave. Estas aes de teste so como funes de um programa, podendo
inclusive receber parmetros, que so ativadas pelas palavras-chave a partir da execuo
de diferentes casos de teste. O procedimento de teste armazenado em um arquivo
separado, na forma de um conjunto ordenado de palavras-chave e respectivos
parmetros [Fewster 1999] [Nagle 2000].
As ferramentas que fornecem suporte aos testes de sistema geralmente integram
uma ou mais destas tcnicas de automao permitindo sua utilizao na execuo de
vrios tipos de testes de sistema, como os testes funcionais, os testes de regresso e os
testes de performance e etc.
3. Processo de Automao de Teste
O processo de automao definido e aplicado no CPqD foi dividido em algumas fases
como identificao do que deve ser automatizado, definio dos casos testes e
resultados esperados e identificao da tecnologia que ser utilizada na automao dos
casos de teste. O processo de automao foi definido em algumas fases:
3.1. Identificao do escopo da automao
Esta fase define quais so as funcionalidades que devem ser automatizadas. Uma das
fases mais importantes no processo de automao a deciso do que se deve
automatizar. Durante a execuo dessa fase foram analisados os dados histricos
relacionados abertura de defeitos pelo cliente na homologao e produo do sistema.
Alguns passos importantes foram dados nessa etapa:
Anlise, seleo e sumarizao dos defeitos de regresso abertos pelos clientes
em homologao e/ou em produo por funcionalidade;
Definio das funcionalidades que sero automatizadas.

3.2. Identificao dos casos de teste
Esta fase define quais os casos de teste devem ser automatizados da funcionalidade que
foi selecionada na fase anterior. Nessa fase, foi necessrio identificar os casos de teste
que poderiam ser do fluxo bsico e/ou alternativo, e os pontos de verificao (orculos)
X Encontro Anual de Computao - EnAComp 2013
107

para cada caso de teste. Um caso de teste pode apresentar mais de um orculo a ser
validado.
3.3. Identificao da tecnologia
Esta fase define a forma como os orculos definidos na fase anterior sero validados e
quais sero as tecnologias que devero ser utilizadas para essa validao. Nesse passo,
foi realizado um estudo de tcnicas de automao e ferramentas de automao.
Aps anlise dos orculos para cada caso de teste, verificou-se a necessidade de
realizar algumas verificaes que no eram atendidas pela ferramenta Selenium, que
utiliza a tcnica record & playback. Com isso, surgiu a necessidade da criao de um
framework que permitisse verificaes mais complexas, como por exemplo,
verificaes em banco de dados, que se integrasse com a ferramenta Selenium, que fosse
mais flexvel para incluso de novos tipos de verificaes e que permitisse a
manuteno mais fcil e gil dos casos de testes gravados.
4. Framework FlexTest
4.1. Arquitetura do Framework
O framework FlexTest apresentado na Figura 1 em um diagrama que exibe os seus
componentes. O ncleo principal do sistema o Controle de Execuo (CE) que
responsvel por disparar e controlar todo o processamento de uma planilha de
automao de testes. Ao ser iniciado, o CE gera um arquivo de log que ir conter as
informaes dessa execuo. O primeiro passo a ser realizado a identificao dos
arquivos do tipo CSV que esto armazenados na pasta de entrada de dados. Para cada
arquivo o CE ir criar um log especfico e iniciar o parser de cada um desses arquivos.
O componente parser capaz de interpretar uma sequncia de comandos de um
arquivo no formato CSV e preparar os comandos para serem executados pela
componente CE. Algumas regras foram criadas para facilitar o preenchimento e
entendimento do arquivo como, por exemplo, incluso de comentrios e continuao de
um comando na prxima linha, a fim de facilitar a identao. Ao finalizar o parser dos
arquivos, os comandos e parmetros correspondentes de cada arquivo CSV so
retornados para o CE.
Um arquivo de configurao ir conter todos os possveis comandos do
framework bem como o respectivo caminho para cada implementao. Caso ocorra
qualquer problema no comando identificado pelo parser, o CE imediatamente aborta a
execuo do CSV em processamento. Caso contrrio, os passos de validao e execuo
de cada comando sero disparados. A validao tem como objetivo identificar possveis
problemas de sintaxe nos comandos e parmetros antes da execuo dos comandos no
arquivo CSV.
Uma validao no efetiva da sintaxe dos comandos pode permitir que uma
eventual falha s aparea durante a execuo dos testes automatizados, e isso acarretaria
em prejuzo para os testes. Nesse caso interessante antecipar ao mximo a
identificao de problemas nos comandos do arquivo CSV. A execuo dos comandos
o ltimo passo a ser gerenciado pelo CE de acordo com a funcionalidade de cada
comando.
X Encontro Anual de Computao - EnAComp 2013
108

Uma das caractersticas interessantes do framework a facilidade com que um
novo comando pode ser disponibilizado em sua estrutura. Para isso, o novo comando
deve ser implementado em uma classe Java, contendo os servios de validao e
execuo e includo no arquivo de configurao. Todas as tarefas de chamadas ao novo
comando, log, e outras, so atribudas ao framework e ficam transparentes
implementao dos comandos.
Figura 1 Arquitetura Completa do Framework FlexTest

Um dos comandos disponibilizados pelo framework executa testes da ferramenta
de automao Selenium gerando um log especfico. Essa ferramenta de automao de
teste alm de suporte nativo a tcnica record & playback, oferece a possibilidade de
exportar os casos de teste gravados para uma linguagem de programao, como por
exemplo Java, o que a torna bastante compatvel com a arquitetura do framework
FlexTest.
O framework possui outros comandos como verificao de SQL, comparao
entre arquivos, import e export de banco, etc.
4.2. Funcionamento do Framework
O arquivo CSV que utilizado como entrada para o framework contm um conjunto de
passos (comandos) que sero executados para cada teste. Por exemplo, importar
determinado banco de dados, executar um teste especfico gravado por meio da
ferramenta Selenium e executar uma lista de consultas em banco.
X Encontro Anual de Computao - EnAComp 2013
109

Os testes gravados por meio do Selenium so portveis e incrementais. Para
adicionar um novo caso de teste ao framework (teste gravado pelo Selenium), o analista
de teste deve incluir o cdigo Java gerado pelo Selenium em um arquivo,em um
diretrio especifico que est configurado em sua mquina e clicar no cone build.
O framework disponibiliza tambm um comando flexvel para conferncia dos
dados no banco. Como todo teste automatizado verifica um resultado esperado, o
usurio dever incluir como parmetro desse comando as consultas e os resultados
esperados para determinado teste. O framework, no momento da execuo desse
comando, se encarrega de acessar o banco de dados, executar as consultas desejadas e
comparar os resultados obtidos com os resultados esperados, incluindo essas
informaes no log de execuo do arquivo CSV em teste.
5. Estudo de caso Utilizao do Framework FlexTest na Automao de
um Sistema de Gesto de Telecomunicaes
5.1. Caractersticas do Sistema
A validao do framework foi realizada atravs da sua aplicao na automao de testes
de um sistema de faturamento e de um sistema de gesto de recursos de
telecomunicaes (GRT) da Fundao CPqD.
O sistema apresenta aproximadamente 300.000 linhas de cdigo e se aplica ao
mercado de telecomunicaes e sua especificao funcional engloba regras de negcios
complexas para empresas operadoras de telecomunicaes.
5.2. Fases do Processo de Automao no Sistema de Faturamento e no
Sistema GRT
O processo de automao no sistema de faturamento e no GRT passou pelas fases de
identificao do escopo, identificao dos casos de teste e identificao das tecnologias
descritas na seo 3 desse artigo.
Foram selecionados para iniciar o processo de automao 40 funcionalidades,
250 casos de testes e o framework como ferramenta de automao de testes. As
gravaes foram realizadas utilizando a ferramenta Selenium que possibilitou a
exportao do cdigo Java que foi incorporado dentro dos casos de teste do framework.
Aps a gravao e a incluso dos casos de teste no framework, foi criado o
arquivo CSV que direcionou a execuo dos testes e as conferncias que foram
realizadas.
5.3. Resultados Obtidos
Nesta seo so apresentados os resultados obtidos na aplicao da automao de teste
no sistema de faturamento e no sistema GRT.
Durante todo o processo de automao pode-se observar a facilidade que os
analistas de teste com diferentes perfis tiveram para gravar e/ou alterar casos de teste
existentes incluindo-os com facilidade na execuo do framework. Isso foi possvel
observar, pois o tempo real gasto nas gravaes, alteraes de scripts e execues com
sucesso do teste automatizado foi inferior ao tempo estimado para essas mesmas
X Encontro Anual de Computao - EnAComp 2013
110

atividades, em experincias anteriores de automao, quando outras ferramentas eram
utilizadas e era necessria a interveno de um implementador para avanar na
automao dos testes.
Foi possvel observar a facilidade de verificao de alguns resultados esperados
para alguns testes mais complexos de serem validados na automao por meio de
comandos SQL que comparam o valor retornado do banco com o valor esperado pelo
analista de teste e por fim registram no log se o resultado da consulta est correto ou
incorreto de acordo com os parmetros informados.
6. Trabalhos Relacionados
Existem outros trabalhos que abordam ferramentas de suporte automao de teste de
software, porm estas ferramentas apresentam limitaes em suas funcionalidades. O
framework FlexTest foi criado para atender a uma premissa bsica de facilidade, tanto
no sentido de ser utilizada por diferentes perfis de analistas de teste, como a de permitir
a incluso de novas funcionalidades com maior agilidade, como tambm permitir
facilidades na verificao de resultados esperados e flexibilidade nas configuraes.
Uma grande parte das ferramentas de automao de teste disponveis so
voltadas para a tcnica record & playback. As ferramentas Functional Tester,
WinRunner, QuickTestPro, TestSmith e SilkTest, alm da funcionalidade de gravao
de scripts de teste, oferecem uma linguagem de programao permitindo que a tcnica
de programao de scripts seja utilizada.
No trabalho de [Fantinato et. al, 2004] apresentado um framework que no
podia ser utilizado para sistemas baseados na plataforma web, no possibilitava que o
processo de automao fosse assumido totalmente pelo analista de teste sem
conhecimento em linguagens de programao e solicitava o preenchimento de muitos
dados de teste nas planilhas, o que aumentava o tempo de execuo dessa atividade.
O framework FlexTest foi criado para fornecer um conjunto maior de suporte a
automao de testes. A ferramenta gratuita Selenium um dos componentes deste
framework. Um dos objetivos do framework possibilitar a execuo de testes para
sistemas baseados em plataforma web.
7. Concluso e Trabalhos Futuros
Esse trabalho apresenta um framework que foi criado e utilizado no processo de
automao do sistema de faturamento da Fundao CPqD para o mercado de
telecomunicaes. Observou-se que para obter um resultado mais satisfatrio na
automao dos testes necessrio considerar a tecnologia que ser utilizada, mas
necessrio tambm considerar outras questes como a seleo das funcionalidades e dos
casos de teste que devem ser automatizados.
Algumas variveis como o custo alto da automao, manuteno dos casos de
teste automatizados, falta de flexibilidade, diferentes perfis de analistas de teste
envolvidos no processo de automao, foram consideradas na especificao do
framework e na definio das fases do processo de automao.
Como trabalho futuro pretende-se estender o framework FlexTest para realizar
comparaes entre outros tipos de arquivos, localizar e comparar alguns itens dentro do
X Encontro Anual de Computao - EnAComp 2013
111

arquivo e incluir novos comandos a serem utilizados pelos analistas de teste. Alm
disso, pretende-se aplicar o processo de automao em outros sistemas e coletar uma
quantidade maior de informaes relacionadas ao processo de automao.
8. References
Park H., Ryu, H., and Baik, J.(2008). Historical value-based approach for cost-cognizant
test case prioritization to improve the effectiveness of regression testing. Ssiri, 0:39-
46.
Elbaum,S., Malishevsky, A.,and Rothermel, G.(2002). Test case prioritization: A family
of empirical studies. IEEE Transactions on Software Engineering, 28(2):159-182.
Kim,J.,-M. and Porter, A.(2002). A history-based test prioritization technique for
regression testing in resource constrained environments. In ICSE 2002: Proceedings
of the 24th Internacional Conference on Software Engineering, pages 119-129. New
York, NY, USA.ACM.
Binder, R. V. (2000). Testing Object-Oriented Systems: Models, Patterns and Tools.
Addison-Wesley Longman.
Rothermel G. and Harrold, M.J.(1996). Analyzing regression test selection techniques.
IEEE Trans. Softw. Eng. 22(8): 529-551.
Fewster, M. & Graham, D., Software Test Automation, Addison-Wesley, 1999.
Fewster, M., Common Mistakes in Test Automation, Proceedings of Fall Test
Automation Conference, 2001.
Hendrickson, E., The Differences Between Test Automation Success And Failure,
Proceedings of STAR West, 1998.
Tervo, B., Standards For Test Automation, Proc. of STAR East, 2001.
Nagle, C., Test Automation Frameworks, disponvel em
http://members.aol.com/sascanagl/DataDrivenTestAutomationFrameworks.htm,
2000.
Zambelich, K., Totally Data-driven Automated Testing, disponvel em
http://www.sqatest.com/w_ paper1.html, 1998.
Fantinato, M., Cunha, A., Dias, S., Mizuno, S., and Cunha, C. (2004). AutoTestUm
Framework Reutilizvel para a Automao de Teste Funcional de Software.
Simpsio Brasileiro de Qualidade de Software.
CPqD. Disponvel em http://www.cpqd.com.br.
Functional Tester. em; http://www-01.ibm.com/software/awdtools/tester/functional.
X Encontro Anual de Computao - EnAComp 2013
112
Convoluo como Caso de Estudo para Formalizao em PVS
da Correo Funcional de Implementaes em FPGAs
Ariane Alves Almeida
1
, Jones Yudi Mori
2
, Mauricio Ayala-Rincn
1,3
1
Departamento de Cincia da Computao Universidade de Braslia (UnB)
2
Departamento de Engenharia Mecnica Universidade de Braslia (UnB)
3
Departamento de Matemtica Universidade de Braslia (UnB)
arianealves@aluno.unb.br, {ayala,jonesyudi}@unb.br
Resumo. apresentado um caso de estudo preliminar para vericao da cor-
reo funcional de operaes algbricas implementadas em FPGAs. Tal caso
acerca de ltros de imagens baseados em convoluo para tratamento de ima-
gens digitais. A metodologia utilizada baseada na equivalncia funcional en-
tre a denio matemtica das operaes e seu respectivo operador implemen-
tado em hardware. Foi utilizado o PVS como assistente de prova para facilitar
a vericao proposta.
1. Introduo
Com o objetivo de fornecer garantia de funcionamento adequado de um sistema, pode-se
utilizar tcnicas que o validem de modo sistemtico, seja ele implementado em software
ou hardware. Uma das formas de se obter tal garantia por meio da vericao formal,
que ser aqui discutida.
Assim, o intuito deste trabalho apresentar um caso de estudo que ilustra a Veri-
cao por Equivalncia Funcional como forma de vericar formalmente as propriedades
funcionais de sistemas implementados em hardware com dispositivos recongurveis.
Para tal, utilizar-se- o assistente de demonstrao Prototype Verication System (PVS),
a convoluo para ltros de imagens e sua implementao em Field Programmable Gate
Arrays (FPGAs).
A Seo 2 apresenta os conceitos referentes s arquiteturas recongurveis e as
arquiteturas FPGA; a Seo 3 as noes de formalizao de sistemas e o assistente PVS;
a Seo 4 explica como aplicar tcnicas de vericao formal para comprovar matemati-
camente a correo funcional de sistemas implementados em FPGAs; a Seo 5 introduz
um caso de estudo simples de vericao de um sistema implementado em FPGA; nal-
mente, a Seo 6 apresenta concluses e trabalho futuro.
2. Sistemas Embarcados
Atualmente sistemas computacionais so concebidos atravs das mais diversas aborda-
gens de software, hardware e software-hardware. Podendo estas duas ltimas serem
feitas atravs de dispositivos eletrnicos de propsitos especcos e arquitetura xa, os
Application-Specic Integrated Circuits (ASICs), e tambm por abordagens hbridas que
apresentam tanto caractersticas de software quanto de hardware, que o caso dos dis-
positivos programveis de propsito geral de arquitetura recongurvel, como FPGAs ou
Complex Programmable Logic Device (CPLDs) [Gaj and Chodowiec 2009].
X Encontro Anual de Computao - EnAComp 2013
113
2.1. FPGAs
Constitudos basicamente de blocos lgicos, registradores, blocos de entrada/sada e de
tabelas de verdade, os FPGAs possibilitamsua programao atravs de linguagens de des-
crio de hardware, (similares s linguagens de programao de software). Isso fornece
um nvel de abstrao muito maior ao projetista do que manipular diretamente elementos
fsicos para criar seu sistema e facilita o processo de desenho do circuito.
Um projeto em FPGA fornece uma velocidade muito maior quando comparado ao
mesmo projeto concebido emsoftware e executado emumprocessador de propsito geral,
pois permite uma execuo no sequencial e pode ser congurado para conter apenas as
operaes necessrias execuo do procedimento nele implantado, enquanto um circuito
de propsito geral com instrues xas, mesmo tendo um custo de produo mais baixo,
necessita de todas as possveis operaes para qualquer estrutura de dados em seu projeto
[Huffmire et al. 2010]. Outras vantagens observadas so o tempo e o custo de produo,
que so bem inferiores aos da criao de um ASIC, e a possibilidade de reuso do circuito.
Ao nalizar um projeto em FPGA, necessrio vericar se suas funes esto
realmente sendo realizadas e se esto executando corretamente, ou seja, se o resultado
obtido o esperado. Ento, aps a criao do sistema, necessria sua validao.
Tal validao obtida de diversas maneiras, sendo mais comumente utilizados os
testes funcionais, que so simulaes com diversos dados de entrada e comparao com
os dados de sada esperados caso as funes tenham sido implementadas corretamente,
e os testes estruturais ou anlise de timing, que levam em conta a estrutura interna do
sistema criado e o hardware emque ser inserido, como as conexes criadas e os possveis
atrasos dos sinais em determinada placa de hardware. Outra tcnica menos difundida,
mas que vem ganhando cada vez mais espao e ser melhor discutida na prxima Seo,
a vericao formal dos circuitos criados. Esse mtodo pode ser aplicado em diversos
estgios do desenvolvimento tanto de software quanto de hardware e sua aplicabilidade
em sistemas FPGA ser explicada na Seo 5.
3. Formalizao de Sistemas
A vericao formal visa, por meio da aplicao de tcnicas baseadas em formalismos
matemticos e lgicos, certicar que determinadas funcionalidades e propriedades dos
sistemas e dados processados por estes sejam atendidas em qualquer situao. Alm
de ser uma abordagem matemtica que visa especicar um sistema de maneira simples,
completa e precisa para fornecer uma comunicao sem margens para ambiguidade aos
projetistas, uma tarefa muito complexa, bastante minunciosa e exaustiva, o que faz com
que sua realizao demande muito tempo.
A formalizao se d por meio da especicao do sistema e de provas de correo
da sua funcionalidade. A m de facilitar tal tarefa e evitar que sejam introduzidos erros
oriundos de falha humana, foram criados os provadores de teorema, ou assistentes de
prova, dos quais se destacam ACL2, Coq, HOL e PVS [Bernardo and Cimatti 2006].
3.1. PVS
Dentre diversos ambientes de especicao e formalizao, foi escolhido o PVS, que in-
clui uma linguagem de especicao funcional com um sistema de tipos elaborado que
X Encontro Anual de Computao - EnAComp 2013
114
permite polimorsmo, subtipagem e tipos dependentes, e que tem uma linguagem de
prova la Gentzen com um sistema dedutivo de ordem superior, uma linguagem de es-
pecicao, um analisador lxico, um checador de tipos, bibliotecas de especicao e
vrias ferramentas de navegao, fornecendo um ambiente integrado para especicao e
desenvolvimento de provas formais [Owre et al. 2001b].
A linguagem de especicao do sistema, mesmo no possuindo diversos recur-
sos das linguagens de programao mais comuns, como laos de repetio e estruturas de
dados sosticadas, possibilita expressar em forma de conjecturas quais propriedades se
espera que a especicao cumpra. Para isso, necessrio que quem est especicando
um sistema tenha pleno conhecimento deste para conseguir represent-lo totalmente ape-
nas com os recursos do PVS, que so seus tipos primitivos, a partir dos quais possvel
criar outros, suas operaes, estruturas condicionais e chamadas recursivas.
4. Formalizao de Implementaes em FPGA
A complexidade dos circuitos criados, sejam ASICs ou FPGAs, tem aumentado a cada
dia, ampliando a importncia da vericao de seu correto funcionamento, o que chega
a representar 80% do custo do projeto de um sistema [Drechsler 2004]. Assim sendo,
vem aumentando o interesse nas tcnicas de vericao formal, j que podem garantir
corretude funcional de sistemas, o que no possvel com a tradicional anlise dos resul-
tados via testes e simulaes [Perry and Foster 2005]. Por isso, uma tarefa justicvel
e vivel apesar do tempo e esforo demandados, especialmente para criao de sistemas
crticos [Bernardo and Cimatti 2006].
4.1. Vericao de Equivalncia Funcional
Existem basicamente duas maneiras de vericar formalmente um sistema, por checagem
de equivalncia (Equivalence Checking - EC) e por checagem de propriedades (Property
Checking - PC). Com o mtodo PC so identicadas e especicadas propriedades refe-
rentes ao circuito pretendido que so diretamente demonstradas ou testadas via tcnicas
como Model Checking. Tais propriedades ento devem ser provadas satisfeitas em todas
as possveis circunstncias do sistema [Kropf 1997], [Li and Thornton 2010].
J a vericao por EC uma tcnica mais simples, que objetiva garantir a equi-
valncia entre dois circuitos, que podem estar descritos de maneiras e nveis diferentes de
abstrao. Para isso, um dos circuitos a ser comparado deve ter sido previamente provado
correto (por PC, por exemplo). Neste caso, deve-se estabelecer uma correspondncia
entre os dois e vericar ento sua equivalncia [Drechsler 2004], [Li and Thornton 2010].
Para este trabalho escolheu-se trabalhar com EC, supondo como circuito correto a
especicao da denio matemtica da funo implementada sobre os FPGAs. Dessa
maneira, assumindo a correo da especicao da denio matemtica, pode-se anali-
sar a arquitetura implementada comparando funcionalmente sua especicao com a da
denio matemtica. A tcnica pode ser resumida como a seguir:
Ambas as arquiteturas a serem comparadas devem ser especicadas de modo a
deixar explcito e de maneira conservativa o que funcionalmente e estrutural-
mente realizado sobre o FPGA em cada caso.
Formaliza-se ento um teorema de que as especicaes so funcionalmente equi-
valentes, isto , as mesmas entradas possuem sadas equivalentes. Sendo necess-
ria para tal uma correspondncia entre as entradas e objetos por elas manipulados.
X Encontro Anual de Computao - EnAComp 2013
115
5. Caso de Estudo Preliminar
Para ilustrar a aplicao da metodologia EC em PVS com implementao de FPGA, sero
apresentadas partes de uma especicao criada para uma arquitetura de ltros de imagens
baseados em convoluo. Para tanto, sero apresentados alguns conceitos bsicos dessa
aplicao, bem como uma ilustrao da arquitetura bsica implementada em FPGA.
5.1. Filtros de Imagem Baseados em Convoluo
A grande maioria das aplicaes em FPGAs utilizam diversos operadores artimticos
para realizar suas funcionalidades. Dentre eles, no processamento de imagens digitais so
utilizados ltros de imagem baseados em convoluo, que ao serem desenvolvidos em
FPGAs exploram o paralelismo a m de melhorar o desempenho dessas aplicaes.
A operao de convoluo envolve uma imagem e os coecientes do ltro a ser
utilizado, assim sendo, dada uma imagem I com M linhas e N colunas, e um ltro (ker-
nel) K, com m M linhas e n N colunas, a convoluo entre I e K denida pela
Equao 1 [Pedrini and Schwartz 2007], onde (K I)(x, y) representa o (x, y)-pixel da
sada da aplicao do ltro, para
m
2
x (M1)
m
2
e
n
2
y (N 1)
n
2
. O ltro
deve ter um tamanho tal que m e n sejam mpares, de forma que o pixel resultante da
aplicao do ltro seja aquele situado ao meio da vizinhana do ltro [Mori et al. 2011].
Logo, ao aplicar em toda a imagem esta equao, teremos como sada a imagem (KI),
que ter tamanho M m + 1 N n + 1.
(K I)(x, y) =
m
2

l=
m
2
n
2

j=
n
2
K(l, j) I(x + l, y + j) (1)
As mscaras usadas como base para este trabalho so de tamanho xo 33 (Equa-
o 2), o que permite simplicar Equao 1, obtendo a Equao 3.
K =

k1 k2 k3
k4 k5 k6
k7 k8 k9

(2)
(K I)(x, y) =
1

l=1
1

j=1
K(l, j) I(x + l, y + j) (3)
A arquitetura bsica da convoluo aplicando um ltro de tamanho 33, mostrada
na Figura 1, pode ser encontrada facilmente na literatura, como por exemplo em [Mori
et al. 2011]. Os pixels representados em vermelho ilustram a vizinhana 33 na qual ser
aplicada a mscara, os amarelos ilustram um buffer para armazenamento temporrio dos
pixels a frente nas primeira e segunda linhas da imagem de entrada e os azuis representam
o restante da imagem. O ltro representado pelos pixels coloridos com os ndices ki e o
resultado pela sada do registrador verde com o smbolo de somatrio.
X Encontro Anual de Computao - EnAComp 2013
116
k7
k4
k1
k8
k5
k2
k9
k6
k3
S
k1 k2 k3
k4 k5 k6
k7 k8 k9
x
x
x
x
x
x
x
x
x
Input pixel
Output pixel
Image
Kernel
Figura 1. Arquitetura bsica para uma convoluo 3 3 por [Mori et al. 2011].
Vale ressaltar que a aplicao da denio matemtica da convoluo tem como
resultado uma imagem K I com M 2 linhas e N 2 colunas, ou seja, a imagem
convoluda ca com 1 pixel a menos de borda que a imagem original. Por outro lado, a
aplicao da convoluo pela arquitetura apresentada gera um stream que representa uma
imagem K I com tamanho M N 2 N 2, ou seja, resulta em alguns pixels
distorcidos a mais nas bordas laterais da imagem convoluda que devem ser desprezados.
5.2. Formalizao da Arquitetura da Convoluo
Afase de prova via ECentre a arquitetura da convoluo para ltros de imagens emFPGA
e sua equao matemtica apresentadas na Seo 5.1 ainda est em andamento, logo, ser
apresentada apenas a parte de sua especicao em PVS segundo a metodologia da Seo
4 e os artifcios usados para tal.
A funo especicada no Algoritmo 1 relativa aplicao da convoluo em
um pixel da imagem com o ltro em uma imagem de tamanho maior ou igual ao deste, e
como esto sendo utilizados apenas ltros de tamanho 3 3, cada ndice da matriz K
representado por uma constante (k1 a k9). Cada imagem image representada por uma
sequncia nita de linhas de tamanho 3 (rows), e cada linha por sua vez representada
por uma sequncia nita de inteiros de tamanho tambm 3 (columns).
Algoritmo 1 Funo da Convoluo Matemtica em Um Pixel da Imagem.
l oc_conv ( im : image , i : pos na t | i < rows 1 ,
j : pos na t | j < col umns 1 ) : i n t =
im( i 1)( j 1)k1 + im( i 1)( j ) k2 + im( i 1)( j +1) k3 +
im( i ) ( j 1)k4 + im( i ) ( j ) k5 + im( i ) ( j +1) k6 +
im( i +1) ( j 1)k7 + im( i +1) ( j ) k8 + im( i +1) ( j +1) k9
X Encontro Anual de Computao - EnAComp 2013
117
Esta funo ento chamada pela funo apresentada no Algoritmo 2, referente
aplicao da convoluo, dada na Equao (3), a todos os pixels de entrada da imagem I,
que retorna um elemento do tipo conv, que uma sequncia nita de linhas de tamanho
rows 2, e cada linha uma sequncia nita de inteiros de tamanho columns 2, ou
seja, o resultado nal de (K I).
Algoritmo 2 Funo da Convoluo Matemtica em Toda uma Imagem.
c o n v o l u t i o n ( im) : conv =
( # l e n g t h : = rows 2 ,
s eq : = (LAMBDA ( i : bel ow [ rows 2 ] ) :
( # l e n g t h : = col umns 2 ,
s eq : = (LAMBDA ( j : bel ow [ col umns 2 ] ) :
l oc_conv ( im , i + 1 , j + 1) ) #) ) #)
Alguns artifcios foram necessrios para poder especicar a arquitetura da con-
voluo. Neste caso, foi utilizada como entrada uma nica sequncia nita de inteiros
stream de tamanho 9 para representar toda a imagem, j que assim que esta
recebida pela arquitetura da Figura 1. Ento, a manipulao de ndices foi feita para si-
mular uma matriz de pixels (imagem) e a passagem de todos seus pixels pelo buffer e sua
posterior alocao na rea vermelha, que efetivamente a rea de aplicao do ltro.
Respectivamente, nos Algoritmos 3 e 4, so especicadas a aplicao local da
convoluo em apenas uma vizinhana 3 3 descrita pela arquitetura e a aplicao da
convoluo em toda a imagem, utilizando-se da concatenao de sua chamada recursiva
com a convoluo local para chegar ao resultado nal de (K I).
Algoritmo 3 Funo da Convoluo Local em Um Pixel da Imagem pela Arquitetura
l o c a l _ c onv_a r c h ( s : s t r eam , ( n : numcolumns | n<= s l e n g t h ) ,
( i : na t | i <= s l e n g t h ( n 2) 3 ) ) : i n t =
s ( i ) k1 + s ( i +1) k2 + s ( i +2) k3 +
s ( i +n ) k4 + s ( i +n +1) k5 + s ( i +n +2) k6 +
s ( i +( n 2) ) k7 + s ( i +( n 2) +1) k8 + s ( i +( n 2) +2) k9
Algoritmo 4 Funo de Aplicao da Convoluo a Todos os Pixels de uma Imagem
c o n v o l u t i o n _ a r c ( s : st r eam , n : numcolumns ,
( i : na t | i <= s l e n g t h ( n 2) 3 ) ) :
RECURSIVE f i n i t e _ s e q u e n c e [ i n t ] =
I F i = s l e n g t h ( ( n 2) + 3) THEN
a d d _ f i r s t ( l oc a l _c onv_a r c h ( s , n , i ) , empt y_seq )
ELSE
a d d _ f i r s t ( l oc a l _c onv_a r c h ( s , n , i ) , c o n v o l u t i o n _ a r c ( s , n , i +1) )
ENDIF
MEASURE ( s l e n g t h i )
X Encontro Anual de Computao - EnAComp 2013
118
Para formalizar a equivalncia funcional entre a arquitetura e a equao, ne-
cessrio que haja uma correspondncia entre suas entradas, como visto na Seo 4.1.
Como os elementos de entrada da denio matemtica (sequncia de sequncias) e da
arquitetura (sequncia de inteiros) so diferentes, os elementos de entrada da primeira so
transformados naqueles aceitos como entrada pela segunda atravs da funo especicada
no Algoritmo 5 com uso de chamadas recursivas.
Algoritmo 5 Funo que Transforma uma Imagem (Sequncia de Sequncias) em uma
Sequncia nica.
i mage_t o_s eq ( im : image , i : bel ow [ im l e ngt h 2] ) : RECURSIVE s t r eam=
I F i = im l e ngt h 3 THEN
im( im l e ngt h 3) o im( im l e ngt h 2) o im( im l e ngt h 1)
ELSE
im( i ) o i mage_t o_s eq ( im , i +1)
ENDIF
MEASURE ( im l e ngt h i )
A partir disso pode-se especicar um lema que expresse a equivalncia funcional
entre a equao da convoluo e a arquitetura ilustrada na Figura 1, atravs da correspon-
dncia entre os elementos do resultado de quando aplicadas a equao e a implementao
da arquitetura, sendo necessrio desprezar os elementos da borda da imagem gerada pela
arquitetura, pois seus resultados apresentam uma borda extra distorcida em relao ao
resultado gerado pela equao matemtica, como mencionado anteriormente.
O lema do Algoritmo 6 expressa essa correspondncia entre os elementos resul-
tantes das duas especicaes. Para demonstr-lo necessria uma prova por induo
aninhada sobre os ndices i e j, pois ao percorrer a imagem im, tanto para aplicao das
funes quanto para relacionar os elementos dos resultados, estes ndices se incrementam,
decrementando o tamanho da imagem restante a ser analisada.
Algoritmo 6 Lemma da Equivalncia Funcional da Convoluo Matemtica com sua Ar-
quitetura em FPGA
conv_ar c_i s _s ame_mat h : LEMMA
FORALL ( im : image , i : bel ow [ rows 2] , j : bel ow [ col umns 2 ] ) :
c o n v o l u t i o n ( im ) ( i ) ( j ) =
c o n v o l u t i o n _ a r c ( i mage_t o_s eq ( im , 0 ) , col umns , 0 ) ( i col umns + j )
Alm disso, necessrio o uso de lemas auxiliares que relacionem previamente
os elementos de uma imagem qualquer com seu stream resultante da aplicao da funo
image_to_seq especicada acima e que determinem exatamente o tamanho do resul-
tado da arquitetura da convoluo aplicada um stream, j que isso no explcito na
denio da funo e de extrema importncia durante a prova.
Quando concluda a prova do lema acima, dado que a equao matemtica est
correta por hiptese, car provado que esta arquitetura tambm funcionalmente correta.
X Encontro Anual de Computao - EnAComp 2013
119
6. Concluso
Foi apresentada a importncia da vericao formal para garantir a corretude em sistemas
implantados em FPGA, que podem ser utilizados como prottipo para a criao de ASICs
corretos, j que estes ltimos so mais caros para se produzir e qualquer erro de projeto
pode aumentar ainda mais este custo.
O caso de estudo aqui apresentado, alm de ilustrar o uso de EC para formalizao
de sistemas com operadores matemticos implementados em FPGAs, explana a diferena
entre as especicaes de uma denio matemtica e de sua implementao em um
FPGA, mostrando a necessidade do uso de artifcios e manipulaes para relacionar os
resultados obtidos pelos dois e provar ento a corretude funcional dessa arquitetura.
Assim sendo, pode-se utilizar a prova de corretude por equivalncia funcional
do sistema aqui apresentado, bem como de outros operadores aritmticos para criao e
vericao de outros sistemas mais complexos que tenham tais funcionalidades denidas
como parte do circuito, a m de garantir sua corretude.
Referncias
Bernardo, M. and Cimatti, A. (2006). Formal Methods for Hardware Verication: 6th
International School on Formal Methods for the Design of Computer, Communication,
and Software Systems, SFM 2006, Bertinoro, Italy, 2006, Advances Lectures. Lecture
Notes in Computer Science / Programming and Software Engineering. Springer.
Drechsler, R. (2004). Advanced Formal Verication. Falk Symposium Series. Springer.
Gaj, K. and Chodowiec, P. (2009). FPGA and ASIC Implementations of AES. In etin
Kaya Ko, editor, Cryptographic Engeneering. Springer, New York, NY - Estados
Unidos.
Huffmire, T., Nguyen, C. I. T. D., Levin, T., Kastner, R., and Sherwood, T. (2010). Hand-
book of FPGA Design Security. Springer.
Kropf, T. (1997). Formal Hardware Verication: Methods and Systems in Comparison.
Lecture notes in computer science. Springer.
Li, L. and Thornton, M. (2010). Digital SystemVerication: A Combined Formal Methods
and Simulation Framework. Synthesis Lectures on Digital Circuits and Systems Series.
Morgan & Claypool.
Mori, J., Sanchez-Ferreira, C., Muoz, D., Llanos, C., and Berger, P. (2011). An unied
approach for convolution-based image ltering on recongurable systems. In Pro-
grammable Logic (SPL), 2011 VII Southern Conference on, pages 63 68.
Owre, S., Shankar, N., Rushby, J. M., and Stringer-Calvert, D. W. J. (2001a). PVS Lan-
guage Reference. NASA.
Owre, S., Shankar, N., Rushby, J. M., and Stringer-Calvert, D. W. J. (2001b). PVS System
Guide. NASA.
Pedrini, H. and Schwartz, W. R. (2007). Anlise de Imagens Digitais: Princpios, Algo-
ritmos e Aplicaes. Editora Thomson Learning.
Perry, D. and Foster, H. (2005). Applied Formal Verication: For Digital Circuit Design.
McGraw-Hill Electronic engineering. McGraw-Hill Companies,Incorporated.
X Encontro Anual de Computao - EnAComp 2013
120

Mecanismo de Controle de Fluxo Aplicado na Transmisso
de Vdeo no Sistema LTE
Igor M. B. Dias
1
, Marcelo Palheta
1
, Ananias P. Neto
1

1
Centro de Cincias Exatas e Tecnologia (CCET) Curso de Bacharelado em Cincia
da Computao Universidade da Amaznia (UNAMA)
CEP 66060-902 Belm PA Brasil
dias.bcc@gmail.com, marcellopalheta@gmail.com, apneto@unama.br
Abstract. This work reports a comparative study of metrics for Quality of
Experience (QoE) in LTE system (Long Term Evolution) for different values of
GoP (Group of Pictures), using flow control and QoS (Quality of Service)
mapping between the eNB (E-UTRAN Node B) and the UE (User Equipment),
based on the search of the optimal solution mechanism QFC-LTE (QoE Flow
Control LTE). The comparisons made in this paper, discuss the metrics: PSNR
(Peak Signal to Noise Ratio), SSIM (Structural Similarity Index) and VQM
(Video Quality Metric). The results obtained from the simulations show the
impact and the benefits of proposal compared to conventional methods.
Resumo. Este trabalho relata um estudo comparativo de mtricas de
Qualidade de Experincia (QoE) em sistema LTE (Long Term Evolution) para
diferentes valores de GoP (Group of Pictures), utilizando o controle de fluxo e
mapeamento de QoS (Quality of Service) entre a eNB (E-UTRAN Node B) e o
UE (User Equipment), baseado na busca de soluo tima do mecanismo
QFC-LTE (QoE Flow Control LTE). As comparaes realizadas neste
trabalho abordam as mtricas: PSNR (Peak Signal to Noise Ratio), VQM
(Video Quality Metric) e SSIM (Structural Similarity Index). Os resultados
obtidos a partir das simulaes mostram o impacto e os benefcios da
proposta em comparao aos mtodos convencionais.
1. Introduo
Atualmente, h uma gama de servios de telecomunicaes que transmitem voz,
vdeo e dados atravs de complexas redes de transmisso, sendo que em alguns casos, o
servio no tem uma qualidade aceitvel pelo usurio final [Begazo et al 2011].
Nas ltimas dcadas, as redes mveis tm permitido grandes avanos e
mudanas nos sistemas de comunicao, garantindo maior mobilidade e disseminao
de contedo. A Tecnologia LTE (Long Term Evolution) a evoluo da tecnologia de
rede mvel padronizada pelo 3GPP (3rd Generation Partnership Project), que utiliza
novos sistemas de mltiplo acesso a interface area, para prover novos servios e
aplicaes de contedo, tais como, MMOG (Multimedia Online Gaming), TV Mvel,
Web 2.0, streaming de vdeo, download de msicas e muitos outros [McQueen 2009].
As redes de celular de prxima gerao foram criadas para facilitar o trfego de
comunicaes de dados em alta velocidade, alm das chamadas de voz. Novos padres
e tecnologias esto sendo implementadas para permitir que redes sem fio substituam
linhas de fibra ptica ou cobre entre pontos fixos afastados por vrios quilmetros
(acesso sem fio fixo) [Rappaport 2009].
X Encontro Anual de Computao - EnAComp 2013
121

Um dos desafios na concepo das redes de prxima gerao consiste no
desenvolvimento de arquiteturas que viabilizem tanto a continuidade do servio quanto
a viso centrada no usurio, por meio do suporte adequado na QoE para aplicaes
multimdia, e que proporcionem sempre a melhor conectividade aos usurios mveis
[Silva et al 2010].
A proposta deste trabalho avaliar o desempenho da tecnologia de rede mvel
LTE, baseada em mtricas de QoE na disseminao de contedo multimdia. Avaliar a
transferncia de vdeos para diferentes valores de congestionamento e GoP, utilizando o
controle de fluxo e mapeamento de QoS na rede de acesso LTE, compreendido entre a
eNB (E-UTRAN Node B) e o UE (User Equipment). O mtodo utiliza, dentre outros
critrios, parmetros da aplicao de Vdeo, fluxo de dados FTP e VoIP, alm da
relao do nmero de UEs e as condies de congestionamento do sistema LTE.
O artigo est organizado da seguinte forma: Na seo 2 so discutidos os
trabalhos relacionados. A seo 3 apresenta uma abordagem sobre a rede LTE. As
mtricas de Qualidade de Experincia so mostradas na seo 4. A seo 5 apresenta o
mecanismo de controle de fluxo baseado na formulao matemtica do QFC-LTE. As
simulaes e resultados finais so descritos na seo 6, enquanto a seo 7 apresenta as
concluses e trabalhos futuros.
2. Trabalhos Relacionados
Nesta seo so apresentadas algumas propostas de mecanismos de controle de fluxo, a
fim de promover uma melhor qualidade do trfego de vdeo, levando em considerao
as caractersticas deste tipo de fluxo.
Em [Begazo et al 2011] so realizados testes com um cenrio de simulao de
rede, onde so parametrizadas diferentes condies de rede, considerando um servio de
vdeo streaming, para o qual so consideradas diferentes qualidades de vdeo, utilizando
controle de fluxo convencional. Os resultados mostram que a qualidade de vdeo
afetada diretamente pelos fatores como, o atraso e a perda de pacotes.
A proposta apresentada em [Hong et al 2010], desenvolveu um mtodo que
realiza a transmisso do fluxo de vdeo, denominado SAPS (Significance Aware Packet
Scheduling), que ajustas os intervalos de tempo entre os pacotes baseado na
significncia do contedo. O trabalho compara os resultados com algoritmos utilizados
na literatura, ambos com controle de fluxo Drop Tail. O SAPS apresentou uma melhor
significncia na QoE, quando comparado aos mtodos tradicionais.
No trabalho desenvolvido em [Qiu et al 2010] apresentado um controle de
fluxo baseado na HVQ (Hirarchy Virtual Queue), o mecanismo prope uma hierarquia
de fila virtual evitando a perda de pacotes no sistema LTE. Alm disso, o artigo
investiga o mecanismo HVQ para diferentes classes de trfego como, VoIP, Vdeo, Best
Effort. Os resultados obtidos mostram que o mecanismo HVQ realiza o controle de
fluxo com uma quantidade baixa de recursos, no entanto, produz melhor desempenho
para o sistema LTE.
3. Rede LTE
A rede LTE um padro de tecnologia de banda larga mvel padronizada pela 3GPP, e
est sendo desenvolvida para ser utilizada pelas operadoras de redes mveis como
evoluo das redes 3G (Terceira Gerao), resultando, assim, nas Redes 4G (Quarta
Gerao) e foi projetada para suportar de forma eficiente vrios tipos de servios, em
especial orientados a pacotes como, por exemplo, o VoIP. A arquitetura LTE est
dividida, segundo [Holma e Toskala 2009], em quatro principais domnios de alto nvel:
X Encontro Anual de Computao - EnAComp 2013
122

UE (User Equipment), E-UTRAN (Evolved UTRAN), EPC (Evolved Packet Core) e
Services.
4. Mtricas de QoE
O PSNR uma mtrica objetiva que compara a qualidade do vdeo recebido
pelo usurio em relao ao vdeo original. O PSNR, desta forma, determina o valor
mximo de luminosidade para cada pixel, comparando a taxa de erro do vdeo recebido.
formulado matematicamente a partir da equao (1), para um quadro original
codificado a 8 bpp (256 nveis de cinza) e expresso em dB [Rodrguez e Bressan 2012]:

(

=
MSE
PSNR
2
10
255
log 10
(1)
Conforme cita [Rodrguez e Bressan 2012], a mtrica SSIM, diferentemente do
PSNR, que somente compara a taxa de erro do vdeo recebido em relao ao vdeo
original, avalia o vdeo recebido considerando outros fatores, como o HVS (Human
Visual System). Surgindo em funo de o HVS ser altamente eficiente em extrair
informaes visuais das imagens/vdeos e no das taxas de erro, o SSIM analisa a
similaridade, luminosidade, contraste e estrutura. Os valores extrados do frame
reconstitudo pelo usurio e do frame original so armazenados em vetores,
separadamente, sendo um vetor para cada cor. Posteriormente, obtm-se a mdia de
cada vetor, e a combinao dessas trs mdias gera o valor do SSIM, indicando a
qualidade do vdeo [Xinbo et al 2009]. O valor do SSIM obtido pela equao (2):
( )
( ) ( )
( ) ( )
2
2 2
1
2 2
2 1
2 2
,
C C
C C
y x SSIM
y x y x
y x y x
+ + + +
+ +
=
o o
o o
(2)

onde apresenta a funo de comparao de brilho na primeira parcela da equao,
representa a intensidade de brilho mdio das imagens x e y, a funo comparao
contraste representado pela segunda parcela da equao, onde o representa o desvio
padro da amostra do brilho das duas imagens x e y, alm da funo de comparao de
estrutura que relaciona a covarincia de amostras de luminosidade dos quadros.
A mtrica VQM, assim como as demais, baseia-se na comparao do vdeo
recebido pelo usurio em relao ao vdeo original, comparando o brilho e o contraste.
Conforme afirma [Gelonch et al 2010].
5. Mtodo de Controle de Fluxo QFC-LTE
A proposta explorada neste trabalho prope o QFC-LTE (QoE Flow Control
LTE), capaz de realizar controle de fluxo e mapeamento de QoS entre a eNB e o UE
baseado na busca de soluo tima da funo objetivo f
QFC-LTE
(rv
n
, ue
n
, C
n,
rb
n
). O
QFC-LTE matematicamente formulado como em (3):
( ) ( ) ( ) | |
n n n n n LTE QFC
C ue rb ue rv f + + =

1 (3)
onde rv
n
representa a quantidade de recurso de Vdeo e VoIP destinado a uma conexo
n, ue
n
equivale ao nmero de UEs no sistema LTE destinado a n conexes, rb
n

representa quantidade de recurso de BE (Best Effort) destinado a uma conexo n e C
n

representa o nvel de congestionamento na rede. O fator uma varivel que assume o
valor 1 se a conexo alocada somente para os trfegos prioritrios, e recebe 0, caso a
conexo alocada para todos os trfegos.
X Encontro Anual de Computao - EnAComp 2013
123

Com base no conjunto de requisitos da funo objetivo, o controle de fluxo
determinado e baseado na soluo tima esperada. Este processo atingido quando se
consiste em maximizar a funo objetivo dada por (4):
) , , , ( max
n n n n LTE QFC
rb C ue rv f

(4)
Considerando este mtodo de controle de fluxo, quando um novo fluxo
estabelecido ocorre um novo mapeamento de QoS entre a eNB e os UEs, otimizando
desta forma as aplicaes de Vdeo, VoIP e FTP e os fluxos so classificados e
escalonados conforme a soluo tima do mtodo proposto.
6. Simulaes e Resultados
Para avaliar esse trabalho, foram realizadas simulaes conduzidas no mdulo
LTE, no NS-2 (Network Simulator 2), verso 2.33, desenvolvido por [Qiu et al 2009].
Para transmisso de vdeos foi utilizado o framework Evalvid [Evalvid 2012]. O modelo
de topologia simulado para a rede LTE est ilustrado na Figura 1.


Figura 1. Cenrio da Simulao para o sistema LTE.

Na simulao, o fluxo de vdeo utilizado foi o Coastguard, taxa de dados de 512
kbps, composto de 596 quadros, resoluo de 352 x 288, 30 fps e GoP: 5 e 30. Alm das
especificaes e padres de vdeo, FTP e VoIP, apresentado na Tabela 1 os principais
parmetros utilizados na simulao. Os parmetros mostrados nesta tabela esto
relacionados ao ambiente de simulao proposto em [Qiu et al 2010]. Alm das
especificaes e padres de vdeo, FTP e VoIP, a Tabela 1 apresenta os principais
parmetros utilizados na simulao. Os parmetros mostrados nesta tabela esto
relacionados ao ambiente de simulao proposto em [Qiu et al 2010].
Tabela 1. Parmetros de simulao.

Parmetros Valor Utilizado
Vdeo Taxa 512 kbps
Resoluo 352 x 288
Total de Quadros 596 quadros
Taxa de Frames 30 fps
GoP 5 e 30
FTP Taxa 512 kbps
VoIP Taxa 8 kbps
Tempo de Simulao 19.9 s
Nmero de Simulaes 100
Intervalo de Confiana 95%
Framework de Vdeo Evalvid
Simulador NS-2 2.33 e Mdulo LTE

X Encontro Anual de Computao - EnAComp 2013
124

Para as mtricas coletadas na simulao, utilizou-se um nvel de confiana de
95% para anlise dos resultados, alm de analisar os dados quantitativos das mtricas de
QoE para PSNR, SSIM e VQM em sua mdia, desvio padro e varincia.








(a) (b)
Figura 2. PSNR para fluxo de vdeo Coastguard 352 x 288: (a) GoP 5 e (b) GoP 30.

A primeira anlise realizada foi quanto a mtrica de PSNR, considerando
diferentes nveis de congestionamento (0 100%) durante o processo de transmisso do
vdeo Coastguard no sistema LTE, conforme ilustrado na Figura 2 (a) GoP 5 e Figura
2 (b) GoP 30.
Os resultados demostram que o controle de fluxo QFC-LTE, entre a eNB e o UE
foi mais efetivo que o controle de fluxo Drop Tail, apresentando uma excelente
qualidade de vdeo, para o QFC-LTE, segundo mapeamento de valores de PSNR para
MOS (Mean Option Score), Tabela 2 [Piamrat et al 2009].

Tabela 2. Mapeamento do PSNR para o MOS.

PSNR (dB) > 37 31 37 25 31 20 25 < 20
MOS Excelente (5) Bom (4) Regular (3) Pobre (2) Pssimo (1)


Para o controle de fluxo proposto QFC-LTE, a qualidade do vdeo apresentou
um nvel de Bom Regular para o GoP 5 e de Excelente Regular para o GoP 30,
devido ao mapeamento de QoS entre a eNB e o UE baseado na busca de soluo tima
da funo objetivo proposta.
Comparando os nveis de PSNR para o GoP 5, Figura 2 (a), o pior caso foi para
controle de fluxo Drop Tail, a diferena mxima atingiu 52,17% em 80% de congesto,
comparado ao melhor caso, QFC-LTE. Para o GoP 30, Figura 2 (b) o nvel de PSNR
para o QFC-LTE apresentou ganho no melhor caso, de 60,15% em 20 % de congesto
comparado ao pior caso para o controle de fluxo Drop Tail.
Na segunda anlise realizada para o controle de fluxo quanto ao nvel da mtrica
SSIM. A Figura 3 (a) GoP 5 e Figura 3 (b) GoP 30 apresentaram as distribuies dos
nveis da mtrica SSIM em relao variao do congestionamento, para os controles
de fluxo QFC-LTE, HVQ e Drop Tail.
A Figura 4 (a) GoP 5 e Figura 4 (b) GoP 30 ilustrado as distribuies dos
nveis da mtrica VQM, para as mesmas condies de congestionamento na rede LTE
das mtricas anteriores. Os resultados comprovam que o controle de fluxo entre a eNB e
o UE, provido pelo QFC-LTE mais eficaz que os controles HVQ e Drop Tail.
X Encontro Anual de Computao - EnAComp 2013
125

Comparando o melhor caso, QFC-LTE com o nvel de VQM para o GoP 5, pior
caso, Drop Tail, a diferena mxima foi de 58,10% sem congestionamento, conforme
ilustra a Figura 4 (a). Nota-se que, a partir da congesto de 40%, para o GoP 5, o nvel
da qualidade de vdeo para a mtrica VQM aumenta, comprovando os resultados das
mtricas anteriores para o controle de fluxo QFC-LTE.








(a) (b)
Figura 3. SSIM para fluxo de vdeo Coastguard 352 x 288: (a) GoP 5 e (b) GoP 30.








(a) (b)
Figura 4. VQM para fluxo de vdeo Coastguard 352 x 288: (a) GoP 5 e (b) GoP 30.

Conforme a avaliao do vdeo e para validar a eficcia do controle de fluxo
proposto, a Tabela 3 ilustra a sequncia de quatro quadros de frames do vdeo
Coastguard, frame 484, GoP 5 para 60% de congestionamento. Observa-se que, o vdeo
recebido para o controle de fluxo QFC-LTE apresentou melhor qualidade de vdeo no
fluxo entre eNB e o UE do sistema LTE.
Tabela 3. Frames do vdeo Coastguard, para o GoP 5 e congesto de 60%.
Frame 484 - Original Frame 484 - QFC-LTE Frame 484 - HVQ Frame 484 Drop Tail













Os valores mdios das mtricas PSNR, SSIM e VQM para os frames da Tabela
3 so apresentados na Tabela 4, congestionamento de 60%, o vdeo recebido de acordo
com o controle de fluxo no sistema LTE, para o QFC-LTE, HVQ e Drop Tail, GoP 5
apresentam, respectivamente, qualificao do vdeo como Bom, Pobre e Pssimo.
X Encontro Anual de Computao - EnAComp 2013
126

Tabela 4. Resultados das mtricas de QoE para GoP 5, congesto em 60%.

PSNR [dB] SSIM VQM Qualidade
QFC-LTE 31 0,78 3,58 Bom
HVQ 21,45 0,47 5 Pobre
Drop Tail 17,22 0,28 5 Pssimo


A Tabela 5 ilustra a sequncia de quatro quadros de frames do vdeo
Coastguard, frame 246, GoP 30 para 60% de congestionamento. Verifica-se que os
vdeos recebidos para o controle de fluxo Drop Tail e HVQ foi bastante degradado. O
mesmo no acontece quando o sistema LTE utilizou o controle de fluxo QFC-LTE,

Tabela 5. Frames do vdeo Coastguard, para o GoP 30 e congesto de 60%.
Frame 246 - Original Frame 246 - QFC-LTE Frame 246 - HVQ Frame 246 Drop Tail













Os valores mdios das mtricas PSNR, SSIM e VQM para os frames da Tabela
5 so apresentados na Tabela 6, congestionamento de 60% para o GoP 30, o vdeo
recebido de acordo com o controle de fluxo do sistema LTE, para o QFC-LTE, HVQ e
Drop Tail, apresentam, respectivamente, qualificao do vdeo como Regular, Pobre e
Pssimo.

Tabela 6. Resultados das mtricas de QoE para GoP 30, congesto em 60%.

PSNR [dB] SSIM VQM Qualidade
QFC-LTE 29 0,81 3,52 Regular
HVQ 20,64 0,48 5 Pobre
Drop Tail 13,85 0,28 5 Pssimo


Os resultados mostram que, a medida que utilizou-se o controle de fluxo QFC-
LTE, a perda de frames foi bem menor, apresentando um impacto bem melhor na
qualidade do vdeo. O controle de fluxo, aliado ao mapeamento de QoS entre o eNB e o
UE, melhorou as mtricas de QoE, para o GoP 5 e GoP 30. Isso devido a importncia do
agrupamento de quadros, alm do processo de atualizao mais rpida dos frames.
7. Concluses e trabalhos futuros
Observamos que as mtricas de QoE para a transmisso de contedo multimdia
apresentaram melhores nveis para o controle de fluxo QFC-LTE e nveis mais baixos
para os controles de fluxo HVQ e Drop Tail, devido a maior dependncia de pacotes,
codificao baixa, capacidade mxima esgotada da poltica de controle do Drop Tail
(novos pacotes que chegam so descartados) e da falta de mapeamento de QoS no
HVQ. A proposta QFC-LTE aumentou significantemente os nveis de QoE se
comparado com os controles de fluxo HVQ e Drop Tail para o GoP 30, a porcentagem
X Encontro Anual de Computao - EnAComp 2013
127

mxima, entre o melhor caso, QFC-LTE e o pior caso, Drop Tail foi de 86,11% para a
mtrica VQM, na congesto de 20%.
Para trabalhos futuros, prope-se um estudo utilizando outras mtricas de QoE,
entre elas, mtricas subjetivas como, por exemplo, o MOS. Prope-se tambm, a
reformulao do mtodo de controle de fluxo QFC-LTE, para considerar os diferentes
valores dos GoPs para proviso de QoE no sistema LTE.
Referncias
Begazo, D., Rodriguez, D. e Ramrez, M. (2011) Avaliao de Qualidade de Vdeo
sobre uma Rede IP usando Mtricas Objetivas, In: Conferncia Iberoamericana em
Sistema, Ciberntica e Informtica CISCI 2011, Orlando, USA, . v. I. p. 226-229.
McQueen, D. (2009) The momentum behind LTE adoption IEEE Communications
Magazine, vol. 47, no. 2, pp. 4445, Feb.
Rappaport, T. S. (2009) Comunicaes Sem Fio: Princpios e Prticas, Pearson
Prentice Hall, 2 edio, So Paulo.
Silva, D., Jnior, J., Coelho, M. e Dias, K. (2010) Arquitetura Heterognea com
Gerenciamento da QoE e Suporte a Handover Transparente atravs de um Sistema
Fuzzy-Gentico, In: XVI Simpsio Brasileiro de Sistemas Multimdias e Web
2010, Belo Horizonte, MG.
Hong, S. and Won, Y. (2010) Incorporating Packet Semantics in Scheduling of Real-
Time Multimedia Streaming, Multimedia Tool Appl., vol. 46, pp. 463-492, Jan.
Qiu, Q., Jian, C., Ping, L., and Pan, X. (2010) Hierarchy Virtual Queue Based Flow
Control in LTE/SAE, Second International Conference on Future Networks
ICFN10, pp. 78 - 82.
Holma, H. and Toskala, A. (2009) LTE for UMTS OFDMA and SC-FDMA Based
Radio Access, John Wiley & Sons.
Rodrguez, D. Z., and Bressan, G. (2012) Video Quality Assessments on Digital TV
and Video Streaming Services Using Objective Metrics, IEEE Latin America
Transactions, vol. 10, n. 1, Jan.
Xinbo, G., Wen, L., Dacheng, T., and Xuelong, L. (2009) Image Quality Assessment
based on Multiscale Geometric Analysis, Image Processing, IEEE Transactions on,
IEEE, v.18, n.7, pp.1409-1423.
Gelonch, A., Revs, X., Marojevic, V., Nasreddine, J., Prez-Romero, J., and Sallent, O.
(2010) A Real Time Emulator Demonstrating Advanced Resource Management
Solutions, Wireless Personal Communications, Springer, v.54, n.1, pp. 123-136.
Qiu, Q., Jian, C., Ping, L., Zhang, Q., and Pan, X. (2009) LTE/SAE Model and its
Implementation in NS 2, Fifth International Conference on Mobile Ad-hoc and
Sensor Networks MSN 09, pp. 299 - 303.
Evalvid Tool (2012). Disponvel em: www.tkn.tu-berlin.de/menue/research/evalvid.
Piamrat, K., Viho, C., Ksentini, A., and Bonnin, J. (2009) Quality of Experience
Measurements for Video Streaming over Wireless Networks, Sixth International
Conference on Information Technology ITNG 09, pp. 1184 - 1189.
X Encontro Anual de Computao - EnAComp 2013
128
Aplicac ao de Processamento Paralelo em m etodo iterativo
para soluc ao de sistemas lineares
Lauro C. M. de Paula
1
, Leonardo B. S. de Souza
2
, Leandro B. S. de Souza
3
,
Wellington S. Martins
1
1
Instituto de Inform atica Universidade Federal de Goi as (UFG)
Caixa Postal 131 74.001-970 Goi ania GO Brazil
2
Escola de Engenharia Civil Universidade Federal de Goi as (UFG)
Caixa Postal 74.605-220 Goi ania GO Brazil
3
Departamento de Ci encia da Computac ao Universidade Federal de Minas Gerais
(UFMG) Caixa Postal 31.270-901 Belo Horizonte MG Brazil
{lauropaula, wellington}@inf.ufg.br, leobarra@eec.ufg.br, lbss@ufmg.br
Abstract. This paper presents a C++ source code with parallel programming
of the Hybrid Bi-Conjugate Gradient Stabilized (BiCGStab(2)) method, used for
solving linear systems. The BiCGStab(2) method combines the Bi-Conjugate
Gradient Stabilized (BiCGStab) method advantages, resulting in a convergence
superior guarantee. The goal is to enable the rapid solution of linear systems
to more complex problems (larger systems) can be solved in a short time. To
validate the paper we used the parallel processing capacity of a GPU through
the NV IDIA
R
Compute Unied Device Architecture (CUDA) and compared
the sequential and parallelized code computational performance of the BiCGS-
tab(2) applied to solving linear systems of varying sizes. There was a signicant
acceleration in tests with the parallelized code, which increases considerably
as much as systems increase. It was possible to obtain performance gains for
different systems size. The results allowed us to evaluate the developed code as
a useful tool for solving large linear systems applied in various areas of science.
Resumo. Apresenta-se neste trabalho um c odigo computacional em linguagem
C++ com programac ao paralela do m etodo Gradiente Bi-Conjugado Estabi-
lizado Hbrido (BiCGStab(2)), utilizado para soluc ao de sistemas lineares. O
m etodo em quest ao re une as vantagens do m etodo Gradiente Bi-Conjugado Es-
tabilizado (BiCGStab), resultando em garantia superior de converg encia. O
objetivo e viabilizar a soluc ao r apida de sistemas de equac oes lineares para
que problemas cada vez mais complexos possam ser solucionados em um tempo
curto. Para a validac ao do trabalho, utilizou-se a capacidade de processa-
mento paralelo de uma GPU, por meio da arquitetura CUDA, e comparou-se o
desempenho computacional dos c odigos sequencial e paralelizado do BiCGS-
tab(2) na soluc ao de sistemas lineares de tamanhos variados. Observou-se
uma acelerac ao signicativa nos testes com o c odigo paralelizado, que se acen-
tua consideravelmente na medida em que os sistemas aumentam. Foi possvel
obter ganhos (speedup) de desempenho para diferentes tamanhos de sistema.
Os resultados permitiram avaliar o c odigo desenvolvido como uma ferramenta
util para soluc ao de grandes sistemas lineares aplicados nas diversas areas da
ci encia.
X Encontro Anual de Computao - EnAComp 2013
129
1. Introduc ao
No campo de investigac ao da Din amica dos Fluidos Computacional (Computational Fluid
Dynamics - CFD), existem diversos m etodos utilizados para soluc ao de sistemas lineares.
Alguns deles s ao considerados otimos em relac ao ao custo computacional, dependendo do
tamanho do sistema a ser resolvido. Para trabalhos reais da ci encia, nos quais os sistemas
lineares a serem resolvidos podem ser muito grandes, o processamento computacional
pode durar v arios dias e as diferencas de velocidade de soluc ao dos m etodos s ao, de-
nitivamente, signicantes. Com isso, a implementac ao de m etodos robustos e ecientes
e importante e muitas vezes indispens avel, para que as simulac oes de escoamentos de
uidos sejam realizadas com qualidade e em tempo n ao proibitivo.
Como os sistemas lineares encontrados na CFD s ao, normalmente, grandes e
esparsos, m etodos iterativos de soluc ao s ao mais indicados do que m etodos exatos,
tamb em por usarem menos mem oria e reduzirem erros de arredondamento do compu-
tador [Franco 2006]. M etodos iterativos realizam aproximac oes sucessivas, em cada
iterac ao, para obter uma soluc ao mais precisa para o sistema. Os M etodos iterativos
cl assicos como o de Jacobi e de Gauss-Seidel, apesar de sua f acil implementac ao, po-
dem apresentar converg encia lenta ou mesmo n ao convergirem para grandes sistemas
[Versteeg and Malalasekera 1995]. Portanto, a pesquisa e a comparac ao de m etodos itera-
tivos a serem implementados em c odigos computacionais podem ser consideradas tarefas
importantes tanto na CFD quanto em outras areas da ci encia que envolvam a soluc ao de
grandes sistemas de equac oes lineares.
Trabalhos recentes zeram uso de GPU (Graphics Processing Unit), por meio da
arquitetura CUDA (Compute Unied Device Architecture), desenvolvida e mantida pela
NV IDIA
R
, para solucionar sistemas lineares. Elise Bowins [Bowins 2012], por exem-
plo, apresenta uma comparac ao de desempenho computacional entre o m etodo de Jacobi
e o m etodo Gradiente Bi-Conjugado Estabilizado (BiCGStab), desenvolvido por Van der
Vorst [Vorst 1992]. Ambos os m etodos foram implementados em uma vers ao sequencial
e outra paralelizada, e foi possvel concluir que, conforme o tamanho do sistema aumenta,
a implemetac ao usando CUDA supera a implementac ao sequencial.
Nesse contexto, este trabalho apresenta um c odigo computacional em linguagem
C++ com programac ao paralela do m etodo Gradiente Bi-Conjugado Estabilizado Hbrido
(BiCGStab(2)). Tal m etodo foi implementado em uma vers ao sequencial e outra parale-
lizada. Para a vers ao sequencial, foi utilizada a linguagem computacional C++, e para a
paralelizada foi utilizada uma extens ao da linguagem C, CUDA-C. O objetivo foi viabi-
lizar a soluc ao r apida de sistemas lineares para que problemas cada vez mais complexos
(sistemas maiores) possam ser solucionados em um espaco curto de tempo. Para tal,
foi utilizado a capacidade de processamento paralelo de uma unidade de processamento
gr aco (GPU), por meio da arquitetura CUDA, e comparou-se o desempenho computa-
cional dos c odigos sequencial e paralelizado do BiCGStab(2) na soluc ao de sistemas li-
neares de tamanhos variados. Tanto quanto sabemos, n ao se tem conhecimento de outros
trabalhos publicados com programac ao paralela do m etodo BiCGStab(2). Portanto, este
artigo n ao faz comparac ao da vers ao paralelizada do BiCGStab(2) com implementac oes
de outros trabalhos.
Este artigo est a organizado da seguinte forma. Na Sec ao 2, e detalhado o m etodo
iterativo BiCGStab(2). Na Sec ao 3, descreve-se o material e os m etodos utilizados para
X Encontro Anual de Computao - EnAComp 2013
130
se alcancar o objetivo do trabalho. Os resultados s ao discutidos na Sec ao 4. A Sec ao 5
traz as conclus oes e algumas propostas para trabalhos futuros.
2. M etodo BiCGStab(2)
Resolver um sistema linear Ax = b para o vetor x, onde A e uma matriz de n linhas e n co-
lunas e b um vetor de n linhas e 1 coluna, pode consumir bastante tempo, principalmente
quando A e grande. Existem diversos m etodos iterativos para resolver esse sistema linear.
Tais m etodos realizamaproximac oes sucessivas, emcada iterac ao, para obter uma soluc ao
mais precisa para o sistema [Bowins 2012]. Ainda, m etodos iterativos s ao recomendados
para sistemas lineares grandes com matrizes esparsas [Molnarka and Miletics 2005].
Os m etodos iterativos podem ser classicados em dois grupos: os m etodos
estacion arios e os m etodos n ao-estacion arios. Nos m etodos estacion arios, a mesma
informac ao e usada em cada iterac ao. Como consequ encia, estes m etodos s ao, normal-
mente, mais f aceis de implementar. Nos m etodos n ao-estacion arios, a informac ao usada
pode mudar a cada iterac ao. Esses m etodos s ao mais difceis de implementar, mas, ge-
ralmente, fornecem uma converg encia mais r apida para o sistema. Al em disso, m etodos
iterativos se mostram mais adequados mesmo quando a matriz dos coecientes e densa
[Vorst 1995].
Neste trabalho, foca-se em um m etodo iterativo n ao-estacion ario, chamado
m etodo do Gradiente Bi-Conjugado Estabilizado Hbrido (BiCGStab(2)). O m etodo
BiCGStab(2) foi desenvolvido por Van der Vorst e Sleijpen [Sleijpen and Vorst 1995].
De acordo com seus criadores, tal m etodo re une as vantagens do BiCGStab e do GMRES
(Generalized Minimum Residual), resultando, normalmente, em um m etodo com garantia
de converg encia superior ` a do BiCGStab e adequado, por exemplo, para soluc ao de siste-
mas lineares gerados na soluc ao das equac oes diferenciais de escoamentos de uidos.


1.

20. =
2. Escolha um vetor arbitrrio

21. =
tal que

0, como

22. = ,


3. = =
1
=
2
= 1 23. = /
4. = = = 24. =
5. For i = 0, 2, 4, 6, 25. =
6. =
2
26. =
Even Bi-CG step 27. =
7. =

GMRES(2)-part
8. = / 28.
1
= ,
9. = 29. = ,
10. =


1

2
30. = ,
11. = 31. = ,
12. = ,

32.
2
= ,
13. = / 33. =
2
/
14. =

34.
2
=
2

1
//
15. = 35.
1
=
1

2
/
16. =

+ 36.
+
= + +
1
+
2

Odd Bi-CG step 37.
+
=
1

2

17. = ,

38. Se x
i+2
for suficientemente
18. = / preciso: parar.
19. = 39. End For


Figura 1. Algoritmo do m etodo iterativo BiCGStab(2), adaptado de
[Sleijpen and Vorst 1995].
X Encontro Anual de Computao - EnAComp 2013
131

E representado na Figura 1 o algoritmo do m etodo BiCGStab(2). Algumas


adaptac oes de nomenclatura foram feitas com relac ao ao algoritmo original, na busca de
melhor entendimento do m etodo. No algoritmo, as letras gregas representam escalares,
letras min usculas representam vetores expressos na forma matricial, as letras mai usculas
representam matrizes e os par enteses com vetores separados por vrgula representam pro-
dutos escalares entre os vetores.
No passo 38 do m etodo, para que o vetor x
i+2
seja sucientemente preciso, o
maior valor referente ` a diferenca entre os resultados de cada termo do vetor x em duas
iterac oes consecutivas, dividida pelo resultado do termo na iterac ao atual dever a ser menor
do que uma dada precis ao, fornecida inicialmente como, por exemplo, 10
5
. Ou seja,
maior(
x
i
(x
i1
)
x
i
) < 0.00001.
3. Material e M etodos
A Unidade de Processamento Gr aco de Prop osito Geral (ou GPGPU) utiliza a GPU
n ao apenas para renderizac ao gr aca, mas tamb em para processamento de imagem, vis ao
computacional, c alculo num erico, dentre outras aplicac oes. A GPU foi inicialmente de-
senvolvida como uma tecnologia orientada ` a vaz ao, otimizada para c alculos de uso inten-
sivo de dados, onde muitas operac oes id enticas podem ser realizadas em paralelo sobre
diferentes dados.
Diferentemente de uma CPU (Central Processing Unit) Multicore, a qual executa,
normalmente, algumas threads em paralelo, a GPU foi projetada para executar milhares
de threads em paralelo. Modelos de programac ao, tal como CUDA [CUDA
TM
2011]
e OpenCL [Tsuchiyama et al. 2010], permitem que as aplicac oes sejam executadas mais
facilmente na GPU [Xiao and Feng 2009]. CUDA foi a primeira arquitetura e interface
para progamac ao de aplicac ao (Application Programming Interface - API), criada pela
NV IDIA
R
em 2006, a permitir que a GPU pudesse ser usada para uma ampla varie-
dade de aplicac oes [Bowins 2012]. Em CUDA, a CPU e chamada host, onde toda a parte
sequencial do c odigo e executada e as func oes kernel s ao chamadas para serem execu-
tadas na GPU. A GPU, por sua vez, e chamada device, a qual pode executar todas as
partes aritmeticamente intensivas do c odigo [Gravvanis and Papadopoulos 2011]. Neste
trabalho, o algoritmo do m etodo BiCGStab(2), descrito na sec ao 2, foi codicado em lin-
guagem C++ empregando uma implementac ao inteiramente sequencial, bem como uma
implementac ao parcialmente paralelizada empregando CUDA-C [CUDA
TM
2009].
Ao analisar o algoritmo do m etodo BiCGStab(2), e possvel vericar uma forte
depend encia de dados, isto e, alguns passos n ao podem ser executados antes que outros
sejam executados anteriormente. Devido a essa caracterstica, apenas algumas partes do
m etodo foram paralelizadas, como: multiplicac ao entre matriz e vetor, soma de vetores,
subtrac ao de vetores e multiplicac ao de vetor por escalar. Por exemplo, o passo 36 do
algoritmo do BiCGStab(2) e dividido entre n threads, onde n e o tamanho do vetor x e
para cada 0 i < n, uma thread executa a seguinte operac ao:
x
i
= x
i
+ p
i
+
1
r
i
+
2
s
i
. (1)
Portanto, cada elemento do vetor x e calculado em paralelo. O passo 11 (v =
Ap) somente poder a ser executado ap os o passo 10 ter sido totalmente executado. Para
X Encontro Anual de Computao - EnAComp 2013
132
garantir essa condic ao, utiliza-se uma barreira de sincronizac ao, por meio de uma func ao
padr ao (cudaDeviceSynchronize()) da arquitetura CUDA. De forma an aloga, o mesmo
ocorre para outras etapas do algoritmo.
Os produtos escalares s ao realizados sequencialmente. Poderia ser possvel au-
mentar o paralelismo dividindo os produtos entre m ultiplas somas feitas em paralelo, mas
isso pode exigir muita sobrecarga (overhead) para resultar em um ganho de desempenho
signicante [Bowins 2012].
A seguir, mostra-se um pequeno trecho do c odigo em CUDA-C usado para a
implementac ao do BiCGStab(2). Inicialmente, o c odigo e executado na CPU, onde as
func oes kernel s ao chamadas para serem executadas na GPU. A multiplicac ao entre ma-
triz (A) e vetor (x), por exemplo, acontece em duas etapas, por meio de duas chamadas
consecutivas ` a duas func oes kernel distintas. Na primeira func ao kernel, uma matriz
auxiliar (C) recebe a multiplicac ao de cada elemento da matriz pela respectiva posic ao do
vetor. Para isso, n threads executam em paralelo, onde cada thread percorre uma linha
da matriz. Na segunda func ao, um vetor auxiliar (aux) recebe a soma dos elementos de
cada linha da matriz C, obtendo o vetor resultante da multiplicac ao.
multiplicacao1 <<< nBlocos, nThreadsPorBloco >>> (A, x, C, n); (2)
multiplicacao2 <<< nBlocos, nThreadsPorBloco >>> (C, aux, n); (3)
Para cada uma das func oes kernel, nBlocos = nThreadsPorBloco =

n. Ou
seja, o n umero de blocos e o n umero de threads por bloco, especicados na chamada da
func ao, s ao iguais a raiz quadrada do n umero de linhas (n) da matriz A. Se

n n ao e um
n umero inteiro, ent ao esse valor e arredondado para cima.
Existem alguns passos separados do m etodo BiCGStab(2) que poderiam ser exe-
cutados em paralelo, por em isso n ao e possvel utilizando uma unica GPU. Uma possvel
soluc ao seria utilizar m ultiplas GPUs ou, provavelmente, uma pr oxima gerac ao de GPUs.
Entretanto, a maioria dos passos do algoritmo devem ser realizados em sequ encia.
Os resultados obtidos com o m etodo BiCGStab(2) paralelizado foram confronta-
dos com os do BiCGStab(2) sequencial, com o intuito de vericar o ganho computacional
obtido com a implementac ao paralelizada. Para avaliar o ganho computacional obtido por
meio da implementac ao em CUDA, registrou-se o tempo dispendido em cada iterac ao
do algoritmo. Todos os testes foram realizados em um computador com processador Intel
Core i7 2600 3,4GHz, 8 GBde mem oria RAM, complaca de vdeo NV IDIA
R
GeForce
GTX 550Ti dispondo de 2 GB de mem oria e 192 processadores operando a 900MHz.
4. Resultados
Todos os sistemas lineares utilizados neste trabalho foram gerados atrav es de func oes do
software MATLAB (vers ao R2011a). A matriz (A) dos coecientes de cada sistema foi
gerada de forma aleat oria utilizando a func ao padr ao gallery(dorr, n), que retorna uma
matriz quadrada, de dimens ao n, esparsa e diagonal dominante. O vetor (x) das inc ognitas
foi gerado de forma aleat oria por meio da func ao padr ao randn(n, 1), que retorna um vetor
de n linhas e 1 coluna. O vetor (b) dos termos independentes foi gerado multiplicando-
se a matriz A e o vetor x (b = A * x). Ent ao, para cada um dos sistemas gerados, foi
X Encontro Anual de Computao - EnAComp 2013
133
repassado para o m etodo BiCGStab(2), sequencial e paralelizado, apenas a matriz A e o
vetor b, que, ap os a tentativa de converg encia do sistema, retornou o vetor x.
Os gr acos comparativos do tempo de processamento (em segundos) dos diversos
sistemas lineares resolvidos com o m etodo BiCGStab(2) s ao apresentados nas guras 2 e
3.

0
0,5
1
1,5
2
2,5
3
3,5
4
T
e
m
p
o

c
o
m
p
u
t
a
c
i
o
n
a
l

(
s
)
Tamanho do sistema
BiCGStab(2) paralelizado
BiCGStab(2) sequencial
Figura 2. Comparac ao da velocidade de c alculo para os sistemas lineares de
dimens ao entre 10x10 e 400x400.

0
100
200
300
400
500
600
T
e
m
p
o

c
o
m
p
u
t
a
c
i
o
n
a
l

(
s
)
Tamanho do sistema
BiCGStab(2) paralelizado
BiCGStab(2) sequencial
Figura 3. Comparac ao da velocidade de c alculo para os sistemas lineares de
dimens ao entre 500x500 e 4000x4000.
4.1. Avaliac ao do ganho computacional proporcionado pela vers ao paralelizada do
BiCGStab(2)
Analisando os gr acos nas guras 2 e 3, nota-se a superioridade do m etodo BiCGStab(2)
paralelizado na soluc ao dos sistemas tratados.

E possvel vericar que a vers ao sequencial
do m etodo requer um esforco computacional que aumenta rapidamente com o tamanho
X Encontro Anual de Computao - EnAComp 2013
134
do sistema. Observa-se tamb em que o tempo para a vers ao paralelizada tamb em aumenta
nesse caso, por em com taxa de crescimento menos expressiva.
Para sistemas lineares com dimens ao menor que aproximadamente 50x50, a
vers ao sequencial poder a se mostrar equivalente ou mais r apida que ` a paralelizada. Isso
ocorre devido ` a exist encia de um overhead associado ` a paralelizac ao das tarefas na GPU
[Filho et al. 2011]. Ou seja, o tamanho do sistema a ser solucionado na GPU deve ser
levado em considerac ao. Fatores em relac ao ao tempo de acesso ` a mem oria podem inu-
enciar no desempenho computacional. Por exemplo, o acesso ` a mem oria global da GPU,
geralmente, apresenta uma alta lat encia e est a sujeito a um acesso aglutinado aos dados
em mem oria [CUDA
TM
2011]. Entretanto, observa-se uma acelerac ao signicativa nos
testes com o BiCGStab(2) paralelizado, que se acentua consideravelmente na medida em
que os sistemas aumentam.
5. Conclus oes
Foi implementado e utilizado neste trabalho um c odigo computacional do algoritmo do
m etodo iterativo BiCGStab(2), para soluc ao de sistemas lineares de tamanhos variados.
Tal m etodo foi implementado em duas vers oes, uma sequencial e outra paralelizada, utili-
zando as linguagens C++ e CUDA-C, respectivamente. Na vers ao paralelizada, explorou-
se o uso de uma GPU, por meio da arquitetura CUDA, para a paralelizac ao de algumas
etapas do algoritmo do BiCGStab(2).
Para os sistemas lineares avaliados neste artigo, constatou-se uma superioridade
da vers ao paralelizada em relac ao ao tempo computacional gasto no c alculo de cada sis-
tema. Foi possvel obter ganhos (speedup) de desempenho, com a implementac ao usando
CUDA, para diferentes tamanhos de sistema. Observou-se que a m edia de speedup -
cou em torno de 10. Portanto, concluiu-se que a vers ao paralelizada do BiCGStab(2)
seria uma implementac ao mais apropriada, do ponto de vista computacional, desde que
o tamanho do sistema empregado seja sucientemente grande para justicar o overhead
gasto na paralelizac ao das tarefas na GPU.
Trabalhos seguintes nessa linha de pesquisa poder ao envolver soluc ao de siste-
mas lineares ainda maiores, como, por exemplo, os sistemas gerados nas simulac oes de
escoamentos de uidos, amplamente estudados na Din amica dos Fluidos Computacio-
nal. Al em disso, poder a ser possvel aplicar uma otimizac ao no c odigo computacional da
vers ao paralelizada do m etodo BiCGStab(2), de tal forma que etapas que ainda s ao resol-
vidas sequencialmente poder ao ser solucionadas em paralelo. Uma possvel otimizac ao
seria a utilizac ao de Persistent Threads (PT), onde uma unica func ao kernel e executada
na GPU durante todo o processamento do algoritmo. Espera-se que nesse caso os ga-
nhos computacionais proporcionados sejam ainda mais expressivos, devido ` a uma melhor
utilizac ao dos recursos de processamento paralelo da GPU. Adicionalmente, alternativas
` a arquitetura CUDA poder ao ser investigadas para realizac ao de estudos comparativos.
Agradecimentos
Os autores agradecem ` a CAPES pelo apoio fornecido ` a pesquisa.
X Encontro Anual de Computao - EnAComp 2013
135
Refer encias
Bowins, E. C. (2012). A comparison of sequential and gpu implementations of itera-
tive methods to compute reachability probabilities. Proceedings First Workshop on
GRAPH Inspection and Traversal Engineering, pages 2034.
CUDA
TM
, N. (2009). NVIDIA CUDA C Programming Best Practices Guide. NVIDIA
Corporation, 2701 San Tomas Expressway Santa Clara, CA 95050.
CUDA
TM
, N. (2011). NVIDIA CUDA C Programming Guide. NVIDIA Corporation,
2701 San Tomas Expressway Santa Clara, CA 95050, 4.0 edition.
Filho, A. R. G., Arruda, F. D. B., Harrop, R. K., and Yoneyama, T. (2011). Programacao
paralela cuda para simulacao de modelos epidemiologicos baseados em individuos.
Simposio Brasileiro de Automacao Inteligente.
Franco, N. B. (2006). Calculo Numerico. Sao Paulo: Pearson Prentice Hall.
Gravvanis, G. A. and Papadopoulos, C. K. F. (2011). Solving nite difference linear
systems on gpus: Cuda based parallel explicit preconditioned biconjugate conjugate
gradient type methods. Journal of Supercomputing, 61:590604.
Molnarka, G. and Miletics, E. (2005). A genetic algorithm for solving general system of
equations. Third Slovakian-Hungarian Joint Symposium on Applied Machine Intelli-
gence.
Sleijpen, G. L. G. and Vorst, H. A. V. (1995). Hybrid bi-conjugate gradient methods for
cfd problems. Computational Fluid Dynamics REVIEW, (902).
Tsuchiyama, R., Nakamura, T., Iizuka, T., Asahara, A., Son, J., and Miki, S. (2010). The
OpenCL Programming Book. Fixstars.
Versteeg, H. K. and Malalasekera, W. (1995). An introduction to computational uid
dynamics: the nite volume method. Londres: Longman Scientic & Technical.
Vorst, H. A. V. (1992). Bi-cgstab: A fast and smoothly converging variant of bi-cg for the
solution of nonsymmetric linear systems. SIAM Journal of Scientic and Statistical
Computing, 13(2):631644.
Vorst, H. A. V. (1995). Parallel iterative solution methods for linear systems arising from
discretized pdes. France Workshop Lecture Notes.
Xiao, S. and Feng, C. (2009). Inter-block gpu communication via fast barrier synchroni-
zation. 23rd IEEE International Parallel & Distributed Processing Symposium, ISSN:
15302075.
X Encontro Anual de Computao - EnAComp 2013
136

Em Direo a uma Ferramenta de Suporte a Reviso
Sistemtica de Literatura

Csar Augusto Verosa Mariano
1
, Ivan do Carmo Machado
2
, Luanna Lopes
Lobato
1

1
Departamento de Cincia da Computao Universidade Federal de Gois
CEP: 75704-020 Catalo GO Brasil

2
Departamento de Cincia da Computao Universidade Federal da Bahia
CEP: 40170-110 Salvador BA Brasil

cesar.m@catalao.ufg.br, ivanmachado@dcc.ufba.br, lll@catalao.ufg.br
Abstract. This article introduces the concept and the characteristics of
Systematic Literature Review, explaining its advantages and difficulties for the
researcher. Based on the understanding of Systematic Review, we propose a
tool that aims to assist in this process. We illustrate the tool workflow with a
running example, and discuss the expected effectiveness and efficiency gains
regarding time to search for primary studies, and quality outcomes.
Resumo. Este artigo apresenta o conceito e as principais caractersticas da
Reviso Sistemtica de Literatura, explicitando suas vantagens e dificuldades
para o pesquisador. A partir do entendimento de Reviso Sistemtica,
propomos uma ferramenta que busca auxiliar neste processo. Ilustramos o
workflow da ferramenta com um exemplo prtico, e discutimos os ganhos de
eficincia e eficcia esperados para a ferramenta, em relao ao tempo de
busca por estudos primrios e a qualidade dos resultados.
1. Introduo
O processo de reviso sistemtica (RS) de artigos disponibilizados na literatura do
termo original Systematic Literature Review teve origem em pesquisas da rea mdica,
em que traou-se como objetivo a elaborao de uma seleo completa e imparcial sobre
tpicos de pesquisa, seguindo processos conhecidos e bem definidos, que propiciasse a
sua replicabilidade (Pai, 2004). Tal processo tem sido adaptado para a rea de Cincia da
Computao, e nos ltimos anos, visvel a sua utilizao abrangente, especialmente na
pesquisa em Engenharia de Software (Kitchenham, 2007).
Kitchenham (2007) define reviso sistemtica de literatura como a identificao,
validao e interpretao de toda pesquisa relevante (estudos primrios) disponvel para
uma questo de pesquisa particular, ou um tpico de uma rea, ou ainda um fenmeno de
interesse. A principal razo para a realizao da reviso sistemtica que esta possui uma
estratgia de busca bem definida, o que contribui para a integridade das informaes
resultantes da pesquisa. Por sua natureza de completude e imparcialidade, pode-se
considerar que a reviso sistemtica agrega maior valor cientfico quando comparado a
revises executadas de forma ad-hoc. As principais vantagens do uso da reviso
sistemtica esto relacionadas segurana no processo seguido, a possibilidade de
replicabilidade do estudo, bem como, a confiabilidade do processo, uma vez que este
executado de modo planejado e sistemtico.
X Encontro Anual de Computao - EnAComp 2013
137

No entanto, apesar das vantagens apresentadas, o processo manual de reviso
sistemtica trabalhoso e propenso a falhas, caso no seja cuidadosamente seguido.
Neste contexto, a presente investigao prope o desenvolvimento de uma ferramenta
para automatizar o processo de seleo e extrao de dados de estudos primrios, objetos
de avaliao na reviso sistemtica.
A ferramenta, intitulada como SysReTool (acrnimo para Systematic Review
Tool), tem o objetivo de auxiliar o processo de extrao dos dados, de modo a facilitar o
gerenciamento das informaes que so coletadas de artigos e, desta forma, otimizar o
tempo de extrao e anlise, evitando a perda de informaes relevantes.
O artigo est estruturado como segue. O processo de reviso sistemtica
descrito na seo seguinte. A seo 3 apresenta a proposta da ferramenta. A seo 4
apresenta o cenrio de execuo da ferramenta. A seo 5 apresenta as consideraes
finais desta investigao.
2. Reviso Sistemtica
Ao conduzir pesquisas, necessrio entender a rea sob investigao, de forma a propor
avanos que tenham alguma significncia. Assim, informao oriunda de estudos
primrios deve ser coletada. Entretanto, medida que a quantidade de estudos a serem
analisados escala, a extrao de dados tende a ser cansativa, o que leva a uma possvel
perda de dados relevantes.
Walia e Carver (2009) descrevem RS como um processo formalizado e
repetitivo no qual os pesquisadores procuram sistematicamente um corpo literrio para
documentar o estado do conhecimento sobre um determinado assunto. Dentre os
benefcios de se realizar uma RS, podemos considerar que ela fornece ao pesquisador
maior confiana na reviso de informaes relevantes, uma vez que a seleo dos estudos
feita de forma criteriosa em relao ao escopo da pesquisa.
Segundo Sampaio (2007), a RS metdica, explcita e passvel de reproduo.
Uma RS requer perguntas claras em relao ao que se procura pesquisar, buscando ter
respostas precisas. Como resultado, espera-se a identificao de dados relevantes ao
domnio de pesquisa, extrados atravs das respostas s perguntas definidas.
A RS tem como princpios gerais a exausto na busca dos estudos analisados, a
seleo justificada dos estudos por critrios de incluso e excluso explcitos e a
avaliao da qualidade metodolgica, bem como a quantificao do efeito dos
tratamentos por meio de tcnicas estatsticas (Lima, 2000).
De acordo com Kitchenham (2007), a execuo de uma Reviso Sistemtica
engloba trs fases principais: (i) planejamento, (ii) realizao, e (iii) relato da reviso.
Os estgios associados com o planejamento da reviso so:
Identificao da necessidade de uma reviso: os pesquisadores devem
identificar e analisar revises sistemticas j existentes com base no fenmeno
de interesse em relao aos critrios de avaliao adequados. A RS s deve ser
feita se realmente houver necessidade.
Especificao das questes de pesquisa: elas so o elemento principal de
conduo da metodologia de RS. O processo de pesquisa deve identificar
estudos primrios que tratam das questes de pesquisa. O processo de extrao
de dados deve extrair os itens de dados necessrios para responder s
X Encontro Anual de Computao - EnAComp 2013
138

perguntas. O processo de anlise de dados deve sintetizar os dados, de forma
que as perguntas possam ser respondidas.
Desenvolvimento de um protocolo de reviso: documento que especifica os
mtodos que sero utilizados para realizar a reviso, a fim de reduzir a
possibilidade de parcialidade gerada pelas expectativas do investigador.
Avaliao do protocolo de reviso: A consistncia interna do protocolo pode
ser verificada para confirmar que cada processo da pesquisa derivado das
questes de pesquisa; Os dados a serem extrados iro resolver adequadamente
as questes de pesquisa; O procedimento de anlise dos dados apropriado
para responder s questes de pesquisa.
Aps a definio do protocolo, os seguintes passos devem ser executados:
Seleo de estudos primrios: os critrios de seleo identificam os estudos
primrios que forneam evidncia direta sobre as questes de pesquisa. Uma
vez que os estudos potencialmente relevantes primrios foram obtidos, eles
precisam ser avaliados quanto a sua relevncia atual.
Avaliao da qualidade do estudo: a avaliao da qualidade dos estudos
primrios proporciona critrios de incluso e excluso mais detalhados.
Extrao e monitoramento de dados: o objetivo desta etapa criar formas de
extrao de dados para registrar com preciso as informaes que os
pesquisadores obtiveram dos estudos primrios.
Sntese dos dados: informaes extradas sobre os estudos (ex: objetivo,
proposta, contexto de investigao, avaliao da qualidade do estudo,
tamanhos de amostra, resultados, etc.) devem ser tabuladas de forma
consistente com a questo de reviso. As tabelas devem ser estruturadas para
destacar semelhanas e diferenas entre os resultados do estudo.
A fase final da reviso est associada com o relato da reviso:
Especificao de mecanismos de disseminao: geralmente os resultados de
uma reviso sistemtica podem ser divulgados em revistas acadmicas e/ou
conferncias. No entanto, pode haver outras formas de difuso do
conhecimento resultante da investigao.
Avaliao do relatrio: especialistas podem avaliar o relatrio final gerado.
possvel perceber que o processo de RS dispendioso e propenso a falhas,
principalmente quando executado manualmente e por pessoas no especialistas. Por isso,
neste trabalho proposto o desenvolvimento de uma ferramenta para auxiliar este
processo, como descrito na prxima seo.
3. Ferramenta proposta: SysReTool
Baseado nos estudos analisados (Kitchenham, 2007) (Walia, 2009) (Lobato, 2012), pde-
se observar alguns passos que devem ser executados para que haja uma eficiente e eficaz
anlise sistemtica da literatura. Neste sentido, esses passos devem ser refletidos como
funcionalidades da ferramenta proposta. Lobato (2012) apresenta um conjunto de etapas
fundamentais para a conduo de uma RS, so eles:
A 1 Etapa consiste na identificao das questes de pesquisa. Ela engloba a
definio das palavras-chave a serem utilizadas na busca de estudos primrios. Este o
ponto de partida do processo, uma vez que necessrio que estabelecer um propsito da
X Encontro Anual de Computao - EnAComp 2013
139

pesquisa bem definido, deforma que se consiga definir questes que resultem em dados
relevantes para a pesquisa. A 2 Etapa seleciona as fontes de pesquisa que sero
utilizadas para busca dos estudos primrios.
A 3 Etapa envolve a identificao dos estudos primrios. importante definir os
critrios de incluso e excluso dos estudos, possibilitando assim que os estudos mais
relevantes ao tema de pesquisa sejam includos. A seleo consiste na anlise criteriosa
de diferentes sees do artigo, de forma a elencar os estudos primrios candidatos, como
segue:
Selecionar os estudos pelo ttulo: os estudos obtidos em anais de
conferncias, peridicos, e nos motores de busca
1
so selecionados de acordo
com o ttulo (ou palavras chave). Se o ttulo do estudo no condiz com o ttulo,
ou palavras chave fornecidas pelo usurio, no ser includo na lista de estudos
armazenados pela ferramenta.
Eliminar trabalhos duplicados: os estudos j armazenados pela ferramenta
so verificados. Se h estudos com o mesmo nome, ou nomes bastante
parecidos, um deles excludo. Se dois trabalhos diferentes possuem a mesma
informao o mais completo considerado.
Selecionar estudos por critrios definidos: o usurio pode filtrar os
resultados obtidos na etapa anterior. Os estudos podem ser visualizados pela
fonte em que foram identificados (motores de busca, conferncias, peridicos)
pelo ano (e/ou intervalo) de publicao, ou pelo nome do autor.
Selecionar trabalhos por resumo: o usurio l o resumo dos estudos restantes
aps as etapas anteriores e exclui, manualmente, os que ele julgar no serem
relevantes para seu estudo.
A 4 Etapa consiste na leitura e anlise do artigo. O revisor faz a leitura de todo o
texto e exclui, manualmente, os que ele julgar no serem relevantes para seu estudo.
Cada estudo avaliado de acordo com os critrios de qualidade. Os critrios de qualidade
so necessrios para pontuar os estudos selecionados, de modo a definir um ranking de
relevncia entre os estudos. Os critrios devem ser definidos com base nas questes de
pesquisa estabelecidas na 1 Etapa. Os estudos so pontuados de acordo com uma escala
de relevncia: baixa, mdia e alta. Para facilitar o gerenciamento de acordo com a
pontuao, pode-se atribuir valores, e.g., 0(zero)para baixa relevncia, 0,5 para mdia e 1
para alta (Lobato, 2012).
A 5 Etapa inclui a extrao dos dados provenientes dos estudos selecionados.
Assim, as informaes relevantes so recolhidas atravs da anlise dos trabalhos, a fim
de responder s questes de pesquisa. As respostas s questes devem ser descritivas o
suficiente para que, ao l-las, o usurio consiga elaborar estratgias de soluo e
identifique falhas em relao ao campo de estudo.
A 6 Etapa apresenta a sntese da pesquisa, que envolve a identificao dos
resultados que podem ser utilizados como anlise, sendo ressaltadas as vantagens e
desvantagens em relao a rea sob investigao, analisadas durante a reviso.

1
Os motores de busca comumente utilizados para a recuperao de publicaes em Engenharia de Software
so: ACM, IEEEXPLORE, SpringerLink, ScienceDirect, e Scopus. Eventualmente, considera-se Google
Scholar como um motor relevante, embora ele indexe os artigos listados pelos motores acima, o que pode
resultar em redundncia.
X Encontro Anual de Computao - EnAComp 2013
140

A ferramenta SysReTool apresenta dois estgios de execuo: automtico e
manual. A execuo automatizada tem por objetivo tornar a pesquisa mais otimizada,
evitando que o usurio execute todas as tarefas; na manual, o usurio deve verificar cada
parte da anlise sem o intermdio de atividades automatizadas, apenas tendo a ferramenta
como suporte ao gerenciamento das tarefas.
Inicialmente a ferramenta SysReTool executar uma busca automtica nos
motores de busca, e nos anais de conferncias e peridicos conforme definidos na 2
Etapa. De modo adicional, o usurio poder digitar links de sites onde deseja fazer a
busca. Tais funcionalidades so ilustradas na Figura 1, que apresenta uma das telas do
prottipo da ferramenta.

Figura 1. Tela do prottipo da ferramenta funcionalidade que demonstra como o usurio
inicia a pesquisa.
Os estudos, encontrados a partir das fontes sugeridas e das adicionais, sero
filtrados por ttulos de acordo com as palavras chave que foram informados pelo usurio
na 1 Etapa. Aps este primeiro passo, apresentada uma lista com os estudos
selecionados de forma automatizada, mostrando o ttulo, o ano e o autor. Ao clicar no
ttulo possvel visualizar o artigo por completo. Assim, o usurio tem a opo de
remover, de forma manual, os artigos selecionados que no so interessantes para
compor o conjunto de estudos que sero utilizados na pesquisa.
importante ressaltar que durante a identificao dos estudos de forma
automatizada, o trabalho do usurio foi reduzido e o tempo que o usurio gastaria lendo
ttulos foi poupado, o que poderia ocasionar cansao, resultando na possvel excluso
indevida de estudos que poderiam ser relevantes.
Aps a busca automtica dos estudos, a ferramenta SysReTool apresentar todos
os estudos selecionados, conforme ilustrado na Figura 2, fornecendo a opo de que os
estudos repetidos sejam removidos do conjunto de estudos candidatos. Esta etapa
automatizada, auxiliada pela ferramenta. O revisor pode ainda visualizar os estudos e,
caso algum estudo no o interesse, possvel executar a excluso de modo manual,
clicando no X, ao lado das informaes sobre o estudo.
Adicionalmente, a SysReTool possibilita que o usurio exclua artigos de acordo
com o nmero de pginas. Essa funcionalidade, que est disponvel ao clicar no boto
Filtrar, importante j que possvel desconsiderar estudos com nmero reduzido de
pginas, por no estarem completos o suficiente para responder s questes de pesquisa.
Este tipo de seleo, que possibilita a excluso dos estudos que no atendem a
especificao definida de ano, autor, etc., feita em nvel da solicitao do usurio. Ou
X Encontro Anual de Computao - EnAComp 2013
141

seja, os estudos que esto fora do range de seleo no sero completamente excludos,
uma vez que estes so relevantes ao campo de pesquisa de um modo geral. Os estudos
ficam armazenados para que a ferramenta possa desfazer a ao do usurio, caso ele
deseje restaurar alguma entrada que tenha sido excluda, ou deseje fazer a seleo dos
estudos considerando outras opes. Assim, para cada seleo, de acordo com a opo
escolhida, os estudos sero apresentados e a lista dessa seleo pode ser salva para
futuras anlises, ou ainda para modificar a definio das opes de seleo.

Figura 2. Tela do prottipo da ferramenta funcionalidade que apresenta uma lista de
estudos primrios selecionados.
Com a definio dos estudos baseado no ttulo, os prximos passos so a seleo
dos estudos por resumo e por texto completo. Estas etapas no sero feitas
automaticamente pela ferramenta, uma vez que necessrio que o usurio leia o
contedo para fazer uma anlise da relevncia do estudo para a pesquisa. No entanto,
apesar de ser uma anlise manual a ferramenta SysReTool prover auxlio durante todo o
processo da reviso. Por exemplo, o gerenciamento dos estudos selecionados feito pela
ferramenta, onde o usurio poder clicar no ttulo do artigo e o resumo ser exibido.
Aps a leitura do resumo, o usurio decidir se aquele estudo relevante. Caso no seja,
ele ser excludo. O mesmo processo ser feito no na ltima etapa, onde ser exibido o
texto completo e o usurio decidir a relevncia do estudo para a pesquisa.
Ao trmino, espera-se que tenha restado no conjunto de estudos selecionados
apenas aqueles que o usurio julga serem relevantes pesquisa em questo.
4. Cenrio de execuo da ferramenta
De modo a retratar o cenrio de execuo da ferramenta, a Figura 3 apresenta os passos
que sero seguidos pela SysReTool para execuo da reviso. Os dados apresentados
nesta figura so fictcios, apenas para retratar a execuo, em que definida a busca e a
seleo dos estudos, explicitando passo a passo a quantidade de artigos obtidos aps cada
passo que resulta na incluso ou excluso de artigos.
Como apresentado na Figura 3, existem estgios que so automatizados e outros
manuais. As trs primeiras etapas so executadas automaticamente pela ferramenta:
Etapa 1: Selecionar estudos por ttulo: a busca inicial retornou 1663 estudos.
Aps excluir trabalhos com ttulos que claramente estavam fora do escopo
restaram 99 estudos que continuaram a ser analisados.
X Encontro Anual de Computao - EnAComp 2013
142

Etapa 2: Eliminar estudos repetidos: considerando que, havendo dois
trabalhos semelhantes, o mais completo foi considerado, foram deletados 12
dos 99 estudos da etapa anterior, permanecendo 87 estudos para avaliao;
Etapa 3: Eliminar estudos por critrios definidos: os 87 estudos foram
submetidos a critrios definidos pelo usurio afim de obter uma pesquisa
condizente com o perfil necessrio. Restaram 48 estudos relevantes.

Figura 3. Passos definidos pela busca e seleo de trabalhos (adap. de Lobato (2012)).
A ferramenta armazenou uma lista com os 48 estudos relevantes obtidos aps as
etapas que executam o processo de eliminao e excluso automaticamente. As prximas
etapas so realizadas em modo manual, ainda com auxilio da ferramenta, que continua a
armazenar a lista de estudos relevantes. As etapas manuais so:
Etapa 4: Selecionar estudos por resumo: no exemplo, alguns estudos
apresentavam informaes superficiais sobre o assunto. Estes foram excludos
pelo usurio, restando 34 estudos.
Etapa 5: Selecionar estudos por texto completo: o revisor considerou que 4,
dos 34 estudos armazenados no eram relevantes e os excluiu. Logo, restaram
30 estudos ao final do processo de Reviso Sistemtica.
5. Consideraes Finais
Embora evidente os benefcios do uso de Revises Sistemticas para obteno do estado-
da-arte sobre uma determinada rea de conhecimento, percebe-se que o seu processo de
X Encontro Anual de Computao - EnAComp 2013
143

elaborao, conduo, e relato trabalhoso e propenso a falhas. Desta forma, o uso de
uma ferramenta computacional faz-se necessrio, para que se obtenha maior qualidade
dos resultados, ao passo que h reduo de esforo. Uma proposta foi publicada
recentemente que objetiva prover auxlio a este processo (Hernandes et al., 2012). Com
base na anlise dos requisitos desta ferramenta, decidimos cobrir um conjunto de
aspectos que a complementasse, embora, a princpio, no haja relao entre ambas. A
SysReTool inclui caractersticas de busca automticas, que acreditamos ser elemento
primordial de aumento de eficincia.
Foi publicado recentemente um estudo que verifica a viabilidade da identificao
de estudos relevantes atravs da anlise da seo de abstract dos artigos, e pela anlise
completa do texto (Torres, 2012). Baseado neste estudo nota-se que o uso da anlise
lxica e sinttica e de expresses regulares podem auxiliar o processo de identificao de
estudos primrios. A classificao de relevncia do estudo pode depender de alguns
atributos como freqncia das palavras-chave, tamanho da frase e posio das sees. De
acordo com os estudos, vrios mtodos podem ser usados, mas ainda esto longe de
chegar a um resultado ideal.
Este artigo apresenta os conceitos fundamentais de Revises Sistemticas de
Literatura, e o workflow de uma proposta ferramenta que objetiva otimizar a realizao
de Revises Sistemticas, por meio da automatizao de parte do processo.,
Apresentamos um exemplo prtico, na tentativa de demonstrar sua viabilidade.
6. Referncias
Hernandes, E. C. M. ;Zamboni, A. B. ; Thommazo A. ; Fabbri, S. C. P. F.Using GQM
and TAM to evaluate StArt a tool that supports Systematic Review. CLEI Electronic
Journal, v. 15, p. 13-25, 2012.
Kitchenham. B.; Charters, S. Guidelines for performing systematic literature reviews in
software engineering (v. 2.3).Technical report, Keele University, 2007.
Lima,M. S.; Soares, B. G. O.; Bacaltchuk, J. Psiquiatria baseada em evidncias. Revista
Brasileira de Psiquiatria, 2000.
Lobato, L. L.An Approach for Risk Management in Software Product Lines. Recife:
Universidade Federal de Pernambuco, 2012.
Pai,M.; McCulloch, M.; Gorman, J. D.; Pai, N.; Enanoria, W.; Kennedy, G.; Tharyan, P.;
Colford, J. M. Systematic reviews and meta-analyses: an illustrated, step-by-step
guide. The National Medical Journalof India. 2004.
Sampaio, R. F. andMancini, M. C. Estudos de Reviso Sistemtica: um guia para sntese
criteriosa da evidncia cientfica. Revista brasileira de fisioterapia, So Carlos, v. 11,
n.1, p. 83-89, jan/fev 2007.
Torres, J.A.S.; Cruzes, D. S.; Salvador, L. N. Automatic Results Identification in
Software Engineering Papers. Is it possible?. In: 2012 12th International Conference
on Computational Science and Its Applications, Salvador-BA, p. 108-112.
Walia, G. S. and Carver, J. C.A systematic Literature Review To Identify and Classify
Software Requirement Errors. Information & Software Technology, v. 51, n. 7, pp.
1087-1109. 2009.

X Encontro Anual de Computao - EnAComp 2013
144

Construo de Bases de Dados para Auxiliar a Avaliao de
Sistemas de Deteco de Intrusos em uma Rede IEEE 802.11
com Criptografia WEP, WPA e WPA2 Habilitada
Douglas Willer Ferrari Luz Vilela
1
, Ailton Akira Shinoda
2
, EdWilson Tavares
Ferreira
3,
Ruy de Oliveira
3
, Valtemir Emerncio do Nascimento
3
, Nelcileno
Arajo
4

1
Coordenao de Tecnologia da Informao- Instituto Federal de Educao, Cincia e
Tecnologia de Mato Grosso (IFMT) Cuiab - MT Brazil
2
Departamento de Engenharia Eltrica - Universidade Estadual Paulista Jlio de
Mesquita Filho (UNESP) - Ilha Solteira - SP Brazil
3
Departamento de Informtica - Instituto Federal de Educao. Cincia e Tecnologia de
Mato Grosso (IFMT) Cuiab -MT Brazil
4
Instituto de Computao- Universidade Federal de Mato Grosso (UFMT) Cuiab -
MT Brazil
douglas.vilela@blv.ifmt.edu.br, shinoda@dee.feis.unesp.br, {ruy, ed,
valtemir}@cba.ifmt.edu.br, nelcileno@ic.ufmt.br
Abstract. The growth in the use of wireless technology IEEE 802.11 has been
taking large proportions over recent years and the security mechanisms
implemented in the same have proved to be ineffective in protection against
denial of service attacks. Thus, the use of IDS as helping to secure networks,
has increased. However, in order for the training algorithm intrusion
detection to be effective it is necessary to use a database representative of
traffic in the wireless environment. Though, one of major challenges in
intrusion detection systems in wireless networks is limited number of
methodologies for building database. This paper details the construction of
databases, in which the first database is represented from a similar scenario
of a typical for domestic use using WEP and / or WPA enabled. The second
uses a similar scenario to that of a corporative environment with WPA2
encryption enabled.
Resumo. O crescimento da utilizao da tecnologia sem fio IEEE 802.11 tem
tomado grandes propores nos ltimos anos e os mecanismos de segurana
implantado na mesma tm se mostrado pouco eficazes no combate a ataques
de negao de servio. Sendo assim, a utilizao de IDS, como auxlio
proteo de redes, tem aumentado. Entretanto, para que o treinamento do
algoritmo de deteco de intrusos seja eficaz necessria utilizao de uma
base de dados representativa do trfego no ambiente sem fio. No entanto, um
dos grandes desafios em sistemas detectores de intruso em redes sem fio
nmero reduzido de metodologias para construo de base de dados. Esse
trabalho detalha a construo de bases de dados, nas quais a primeira base
de dados representada a partir da implementao de um cenrio semelhante
de um ambiente de uso domstico utilizando criptografia WEP e/ou WPA
habilitadas. A segunda utiliza um cenrio semelhante ao de um ambiente
coorporativo com criptografia WPA2 habilitada.
X Encontro Anual de Computao - EnAComp 2013
145


Introduo
Nos ltimos anos houve um forte crescimento na utilizao de redes mveis. O
padro IEEE 802.11 vem se destacando, como uma das tecnologias sem fio mais
utilizadas na atualidade. Com o avano na utilizao das redes WLANs (Wireless Local
rea Networks) comearam a surgir questionamentos sobre a eficcia dos mecanismos
de segurana empregados nas mesmas. O primeiro protocolo de segurana lanado pela
IEEE 802.11 foi o WEP (Wired Equivalence Privacy) em 1999. Este se mostrou muito
vulnervel a ataques de negao de servio e ataques de fora bruta devido chave de
criptografia ser reduzida, reutilizada e esttica. Em 2003 houve a primeira atualizao
na ementa de segurana do IEEE 802.11, sendo assim, foi implantado o protocolo WPA
(Wifi Protected Access) apenas como soluo temporria, enquanto o desenvolvimento
da nova ementa era finalizado. Em 2004 foi lanado o IEEE 802.11i. O protocolo de
segurana IEEE 802.11i trouxe melhorias relevantes, porm continuou no fornecendo
proteo aos quadros de gerenciamento e controle, assim, mantendo as redes WLANs
expostas a ataques de negao de servio [Linhares e Gonalves, 2008]. Em 2009, foi
implementado padro de segurana denominado IEEE 802.11w, este por sua vez
adiciona proteo em alguns quadros de gerenciamento, mas ainda no protegia os
quadros de controle [Ahmad e Tadakamadla, 2011].
As falhas existentes nas ementas de segurana do padro IEEE 802.11 so
evidentes. Isso mostra a necessidade em agregar outro mecanismo de segurana nas
WLANs para minimizar as ameaas que exploram estas vulnerabilidades. A utilizao
de um IDS (Intrusion Detection System) parte da soluo de segurana. A deteco de
intrusos o processo de monitoramento de eventos que ocorre em um sistema
computacional ou rede. Para que o IDS tenha um nvel de eficincia alta necessria
uma capacidade de classificao correta, e isto se d atravs de bases de dados coletadas
para que o modelo de deteco possa aprender. H uma grande dificuldade em encontrar
este tipo de bases de conhecimento para redes IEEE 802.11, a maioria das bases
existentes so voltadas para redes cabeadas LAN (Local rea Network) ou geradas em
ambientes no realsticos [Shiravi et al, 2011].
O objetivo do artigo apresentar a construo de bases de conhecimento para
modelos de deteco de intrusos. As bases foram geradas a partir da implementao de
uma rede IEEE 802.11 com criptografia WEP, WPA e WPA2 (Wifi Protected Access 2)
habilitada em ambiente realstico. Em seguida, foram coletadas amostras de trfego
normal e trfego anmalo da rede. Os ataques empregados para coleta do trfego
anmalo so do tipo negao de servio, que tem como finalidade indisponibilizar os
recursos e servios da rede.
Este artigo est organizado em sees. A seo 2 apresenta os trabalhos
relacionados encontrados na literatura. A seo 3 aborda como foram montados os
experimentos para construo das bases de dados. A seo 4 apresenta as consideraes
finais e trabalhos futuros.
2. Trabalhos Relacionados
Em [Bicakci e Tavli, 2008], os autores fazem uma reviso terica sobre ataques
de negao de servio que exploram vulnerabilidades da camada fsica e MAC das
redes IEEE 802.11, com criptografia WEP, WPA e WPA2 habilitada. Ficaram evidentes
as fragilidades apresentadas nos quadros de gerenciamento e controle, quando
X Encontro Anual de Computao - EnAComp 2013
146

submetidos a ataques de disponibilidade de servio. Apesar de o trabalho explorar as
vulnerabilidades no foi desenvolvido nenhum mecanismo para auxiliar na proteo das
WLANs.
Na abordagem apresentada por [Shiravi et al, 2011], os autores relatam a
escassez de bases de deteco de intrusos pblicas. Apesar de existirem importantes
contribuies como a da DARPA e KDD99, sua preciso e capacidades vm sendo
criticadas, devido ao fato de no terem sido construdas em ambientes reais. A fim de
superar estas deficincias foi feita uma abordagem para gerar uma base de dados em um
ambiente real, voltado para redes cabeadas, para analisar, testar e avaliar os sistemas de
deteco de intrusos. Mesmo sendo construda uma base em ambiente real, ela no
contm caractersticas especficas das redes sem fio, podendo influenciar na capacidade
de deteco do IDS sem fio.
A proposta de [El-Khatib 2010], gerar uma base de dados obtidos de uma rede
sem fio com criptografia WEP e WPA habilitada. O autor menciona que para ter um
melhor desempenho, preciso e confiabilidade no sistema de deteco de intrusos sem
fio, necessrio extrair os cabealhos dos quadros para construo do algoritmo de
deteco de intrusos. O trabalho foi realizado em um ambiente sem fio, mas no
contempla ataques no padro IEEE 802.11i.
A construo das bases de dados propostas neste artigo ser gerada a partir de
uma topologia de rede IEEE 802.11, aplicada em ambiente realstico, com criptografia
WEP, WPA e WPA2 habilitada.
3. Metodologia
Os experimentos realizados na rede WLAN, para captura de pacotes e
construo das bases de dados, so descritos nessa seo. Para gerao da base de dados
foram construdos dois cenrios reais em ambientes controlados. A subseo 3.1 detalha
o primeiro cenrio que apresenta caractersticas semelhantes de uma rede utilizada em
um ambiente domstico. No entanto, a subseo 3.2 apresenta o segundo cenrio com
caractersticas mais robustas semelhantes a uma rede utilizada em ambientes
coorporativos.
3.1. Construo da Base de Dados para Deteco de Intrusos em uma Rede
IEEE 802.11 com Criptografia WEP/WPA Habilitada
Para construo da primeira base de dados, como apresenta a Figura 1, foi
montada uma topologia de rede sem fio em um ambiente controlado, com caractersticas
semelhantes a uma rede de uso domstico, os seguintes mecanismos de segurana foram
habilitados: criptografia WEP e WPA.
A topologia de rede foi constituda por: um ponto de acesso (AP), trs estaes
sem fio. A estao tipo 1 inoculava trfego de rede normal do tipo (HTTP, FTP). A
estao tipo 2 empregou o uso da ferramenta Airplay [Aircrack, 2011]para executar os
seguintes ataques de negao de servio de maneira simultnea (Chopchop,
deautenticao, fragmentao e durao). A estao do tipo 3 empregou o uso da
ferramenta Wireshark [Wireshark, 2011] para executar a coleta das amostras e a
ferramenta Tshark [Tshark, 2011]para pr-processar os dados.
X Encontro Anual de Computao - EnAComp 2013
147


Figura 1 Topologia de rede WLAN aplicada no cenrio 1.
Fonte: Elaborado pelo prprio autor.
Foram coletadas amostras de dados para construo da base conhecimento que
ser utilizada em treinamento de algoritmos de deteco de intrusos. necessrio
executar um pr-processamento dos dados, para extrair apenas os campos do cabealho
MAC dos quadros de gerenciamento, os respectivos campos so: protocol version, type,
subtype, to DS, from DS, more fragment, retry, power managment, more data, WEP,
order, duration, address1, address2, address3 e sequence control. O pr-processamento
se faz necessrio, pois os ataques empregados nesse experimento exploram
vulnerabilidades dos quadros de gerenciamento. Portanto a base de conhecimento a ser
aplicada na avaliao do classificador deve ser composta pelos quadros de
gerenciamento da rede WLAN utilizada nos experimentos, em que a rede esteve sob
condio normal, sem ataques, e sob os ataques chopchop, deautenticao, durao e
fragmentao.
Esses ataques so do tipo DoS (Denial of Service) e exploram vulnerabilidades
nos quadros de gerenciamento que afetam a disponibilidade dos recursos e servios das
redes IEEE 802.11 com criptografia pr-RSN. Os ataques de durao e deautenticao
prejudicam a capacidade da estao base de gerenciar o acesso infraestrutura da rede
[Bellardo e Savage, 2003]. Os ataques de chopchop e fragmentao exploram as
fragilidades dos mecanismos de criptografia (WEP e WPA) para deixar o servio da
rede indisponvel [Bittau et al, 2006].
A base de dados foi criada utilizando captura por espao amostral ao invs de
captura por dias devido restrio de recursos e mo de obra. As amostras foram
divididas em trs conjuntos: treinamento, validao e teste. A Tabela 1 apresenta a
distribuio das amostras nos trs conjuntos da base de dados e nas categorias de
reconhecimento analisadas nos estudos.
A base formada por 24200 amostras, estes valores foram reproduzidos a partir
da base de conhecimento gerada no trabalho desenvolvido por [El-Khatib, 2010] que
utiliza espao amostral para captura dos dados, constitudo da seguinte forma: 9600
amostras conjunto de treinamento, sendo 6000 de trfego normal e 3600 amostras de
trfego anmalo. O conjunto de validao formado por 6400 amostras, sendo 4000
amostras de trfego normal e 2400 amostras de trfego anmalo. O conjunto de teste
X Encontro Anual de Computao - EnAComp 2013
148

formado por 8200 amostras, sendo 5000 amostras de trfego normal e 3200 amostras de
trfego anmalo.
Conjunto das bases de dados
Treinamento Validao Teste
Normal 6000 4000 5000
ChopChop 900 600 800
Deautenticao 900 600 800
Durao 900 600 800
Fragmentao 900 600 800
Total de Amostras 9600 6400 8200
Tabela 1 Distribuio das amostras nos conjuntos da base de dados cenrio 1.
Fonte: Adaptado de [El-Khatib, 2010].
3.2. Construo da Base de Dados para Deteco de Intrusos em uma Rede
IEEE 802.11 com Criptografia WPA2 Habilitada
Para construo da segunda base de dados para deteco de intrusos foi montada
uma rede IEEE 802.11, com criptografia WPA2 habilitada, associao segura e
mecanismo de autenticao 802.1x (Park et al, 2012). Este tipo de cenrio semelhante
ao utilizado em ambientes coorporativos, cuja topologia representada na Figura 2.
A topologia de rede foi constituda por: cinco estaes sem fio, dois pontos de
acesso (AP) e um servidor RADIUS. As estaes tipo 1,2 e 3 injetavam trfego normal
na rede (HTTP, FTP). A estao tipo 4 utilizou a ferramenta Airplay [Aircrack, 2011],
Hping3 e Fake AP [Fakeap, 2007]para realizar os seguintes ataques aleatoriamente,
(autenticao falsa, synflooding, de autenticao e AP falso). A estao tipo 5 utilizou a
ferramenta Wireshark [Wireshark, 2011] para realizar a coleta e a ferramenta Tshark
[Tshark, 2011] para realizar o pr-processar os dados. Servidor RADIUS realizava o
controle de acesso a rede.

Figura 2 Topologia de rede WLAN aplicada na gerao da base de dados WPA2 habilitada.
Fonte: (Arajo, 2012).
X Encontro Anual de Computao - EnAComp 2013
149

Foi realizado um pr-processamento nos dados capturados para se extrair
somente os campos do cabealho MAC (protocol version, type, subtype, to DS, from
DS, more fragment, retry, Power managment, more data, WEP, order, duration,
address1, address2, address3 e sequence control). A rede esteve sob condio
normal, sem ataques, e sob os ataques autenticao falsa, synflooding, deautenticao
e AP falso.
A base de dados gerada pelos dados coletados nas experincias segue o mtodo
de particionamento de dados holdout, desenvolvido por [Smith, 1994], que aloca o
espao amostral dos registros capturados numa proporo de 75% e 25%,
respectivamente, nas bases de treinamento e teste.
Conjunto das bases de dados
Treinamento Teste
Normal 4500 1500
Deautenticao 750 250
Autenticao Falsa 750 250
AP Falso 750 250
SynFlooding 750 250
Total de Amostras 7500 2500
Tabela 2 - Distribuio das amostras coletadas nos conjuntos da base de dados cenrio 2.
Fonte: Adaptado de [Bishop, 1995].
4. Consideraes finais e Trabalhos Futuros
Neste trabalho foram geradas duas bases de conhecimento que possuem
potencial no treinamento de algoritmos de deteco de intrusos em redes IEEE 802.11.
Isso gera a possibilidade do desenvolvimento de novos modelos de deteco utilizando
as caractersticas das duas bases propostas. A inteno que seja explorado o potencial
das bases.
A contribuio do trabalho a construo das bases de dados, que sero
utilizadas para ajudar no treinamento de IDS para redes sem fio padro IEEE 802.11,
focando principalmente no problema dos ataques de negao de servio. Alm disso,
espera-se que o trabalho estimule uma srie de novos estudos na construo de bases de
conhecimento por parte de pesquisadores da rea.
Conclui-se que muito trabalho ainda pode ser feito. Como a implementao de
novos de ataques de negao de servio. A construo de uma nova topologia de rede,
utilizando mecanismo de segurana 802.11w.
Referncias
Aircrack (2011), http://www.aircrack-ng.org/.
X Encontro Anual de Computao - EnAComp 2013
150

Ahmad, M. S. e Tadakamadla, S. (2011): security evaluation of IEEE 802.11w
specification, Proceedings of the fourth ACM conference on Wireless network
security. p. 53 - 58.
Arajo, N., Oliveira, R., Shinoda, A., A., Ferreira, E., T. e Nascimento, V. E. (2012),
A Avaliao do Classificador ARTMAP Fuzzy em Redes 802.11 com Criptografia
Pr-Robust Security Network (WEP e WPA), Anais do XII Simpsio Brasileiro em
Segurana da Informao e de Sistemas Computacionais, p. 310-316.
Bellardo, J. e Savage, S. (2003) 802.11 Denial-of-Service Attacks: RealVulnerabilities
and Practical Solutions, Proceedings of the 12th Conference on USENIX Security
Symposium, vol. 12, p. 15-28.
Bicakci, K. e Tavli, B. (2009) Denial-of-Service attacks and countermeasures in IEEE
802.11 wireless networks. Computer Standards & Interfaces, vol. 31, p. 931-941.
Bishop, C. M. (1995), Neural Networks for Pattern Recognition. Oxford University
Press, 1
st
edition.
Bittau, A., Handley, M. e Lackey, J. (2006) The Final Nail in WEP's Coffin,
Proceedings of the 2006 IEEE Symposium on Security and Privacy, p. 386-400.
El-Khatib, K. (2010) Impact of Feature Reduction on the Efficiency of Wireless
Intrusion Detection Systems, IEEE Transactions on Parallel and Distributed
Systems, vol. 21, n. 8, p. 1143-1149.
Guennoun, M., Lbekkouri, A. e El-Khatib, K. (2008).Optimizing the feature set of
wireless intrusion detection systems. International Journal Of Computer Science
And Network Security, S.l., p. 127-131.
IEEE Std. 802.11 (1999). Part 11: Wireless LAN Medium Access Control (MAC) and
Physical Layer (PHY) Specifications, p. 1-512.
IEEE Std. 802.11i

(2004). Wireless LAN Medium Access Control (MAC) and Physical
Layer (PHY), p. 175.
IEEE Std. 802.1X (2001). IEEE Standard for local and metropolitan area networks -
port-based network acess control.
Linhares, A. G. e Gonalves, P. A. D. S (2008). Uma Anlise dos Mecanismos de
Segurana de Redes IEEE 802.11: WEP, WPA, WPA2 e IEEE 802.11w.
Universidade Federal de Pernambuco, p. 17.
Park, K., Y., Kim, Y., S. e Kim, Y. (2012). Security Enhanced IEEE 802.1x
Authentication Method for WLAN Mobile Router, Advanced Communication
Technology (ICACT), 14th International Conference on. p. 549 553.
Shiravi, A., Shiravi, H., Tavallae, M. e Ghorbani, A., A. (2012), Toward Developing a
Systematic Approach to Generate Benchmark Datasets for Intrusion Detection,
Computers & Security, vol. 31, p. 357 374.
Smith, P., A. (1994). Autocorrelation in logistic regression modeling of species. Global
Ecology and Biogeography letters, 4, p. 47-61
Welch, D. e Lanthrop, S. (2003). Wireless security threat taxonomy, Proceedings of
the 2003 IEEE workshop on information assurance. p. 76 - 83.
Wireshark (2011), http://www.wireshark.org/.

X Encontro Anual de Computao - EnAComp 2013
151
Aplicativo classicador de imagens de notas de real para
plataforma android
Lais C. R. da Silva Lopes
1
, Mikaely C. Silva
1
,
Allan K. Lopes
1
, Fabrizzio A. A. de Melo N. Soares
2
1
Instituto Federal Goiano Campus Uruta Departamento de Inform atica
Rodovia Geraldo Nascimento, Km 2,5 Uruta GO Brasil
2
Universidade Federal de Goias Instituto de Inform atica
Campus Samambaia, Bloco IMF 1 Goi ania GO Brasil
{allankardec.ti, laiscandidolopes, mikaelycruciol42}@gmail.com, fabrizzio@inf.ufg.br
Abstract. This paper proposes a system to classify images of Real notes us-
ing the data decorrelation technique known as Principal Component Analysis
(PCA) and an Articial Neural Network (ANN). The PCA was used during the
preprocessing of images to reduce the size of the data. The new representation
of the images, created by the PCA, served as input to an ANN, the type Multi-
layer Perceptron (MLP) make the classication. After the trained classier, the
state of the objects that compose are preserved and ported to an application de-
veloped for the Android platform. The goal is to assist blind people to identify
the brazilian banknotes. The results demonstrated that the system was efcient,
reaching a hit percentage of almost 100% for all of the images used.
Resumo. Este trabalho prop oe um sistema classicador de imagens de notas de
Real com o uso da t ecnica de descorrelac ao de dados, conhecida como An alise
das Componentes Principais (PCA), e uma Rede Neural Articial (RNA). OPCA
foi utilizado durante a fase de pr e-processamento das imagens para diminuir a
dimens ao dos dados. A nova representac ao das imagens, criada pelo PCA,
serviu de entrada para uma RNA, do tipo Multilayer Perceptron (MLP), fazer
a classicac ao. Depois de treinado o classicador, o estado dos objetos que
o comp oe s ao preservados e portados para um aplicativo desenvolvido para a
plataforma Android. O objetivo e auxiliar pessoas cegas a identicar as c edulas
monet arias brasileiras. Os resultados obtidos demonstram que o sistema foi
eciente, atingindo uma porcentagem de acerto de quase 100% para o conjunto
de imagens utilizado.
1. Introduc ao
O Brasil possui uma populac ao signicativa de decientes visuais. De acordo com o
censo realizado em 2010 pelo IBGE
1
, cerca de 18, 8% da populac ao do Brasil possui
algum tipo de diculdade visual [IBGE 2012]. Embora essa populac ao seja expressiva
ainda h a uma car encia muito grande de adaptac oes para decientes visuais que enfrentam
uma s erie de diculdades quando interagem com o ambiente ` a sua volta. A quantidade
de informac ao codicada visualmente torna essa interac ao ainda mais desaadora. Uma
1
Instituto Brasileiro de Geograa e Estatstica
X Encontro Anual de Computao - EnAComp 2013
152
diculdade muito comum de uma pessoa cega e reconhecer o valor das notas de dinheiro
que est a segurando.
No Brasil, a moeda corrente e o Real composta pelas notas de R$ 1, 2, 5, 10,
20, 50 e 100. Ressalta-se que, desde a introduc ao do Real as notas sofreram diver-
sas substituic oes. Essas substituic oes foram por causa da evoluc ao de mecanismos de
seguranca, introduc ao de elementos hist oricos ou culturais e em alguns casos acr escimo
de elementos para apoio aos decientes visuais. A nota de R$ 1, que atualmente est a
fora de circulac ao, de 1994 a 2003 teve 20 vers oes[Banco Central do Brasil 2013]. Cada
substituic ao contribui para a confus ao dos decientes visuais, que podem levar bastante
tempo para se familiarizarem com as novas notas.
Diversos trabalhos vem sendo pesquisados para reconhecimento de notas. Em
[Hasanuzzaman et al. 2011] foi pesquisado o reconhecimento de notas de d olar utilizando
um modelo baseado em componentes a partir da tecnologia Speeded Up Robust Features
(SURF). No trabalho de [Toytman and Thambidurai 2011] tamb em foi utilizado o recon-
hecimento de notas de d olar com descritores SURF, por em, com o objetivo de utilizac ao
em dispositivos m oveis baseados na plataforma Android. [Hinwood et al. 2006] de-
senvolveu um equipamento para reconhecimento de notas de dinheiro que interna-
mente possui os dispositivos BlindNoteReader, NoteTeller 2 e outros. No trabalho de
[Sevkli et al. 2002] foi realizado o reconhecimento de notas utilizando o algoritmo de
aprendizado indutivo RULES-3. Em [Aoba et al. 2003] foram experimentadas as RNAs
para reconhecimento de notas de Euro com caractersticas extradas de imagens e in-
fravermelho. [Chae et al. 2009] utilizou informac oes digitalizadas de notas de dinheiro
expostas a ultravioleta e comparou com mecanismos contra falsicac ao previstos nas no-
tas.
Neste trabalho e proposto um sistema para reconhecimento de notas de Real na
plataforma Android [Google 2013] usando PCA e uma RNA do tipo MLP. O objetivo
e auxiliar pessoas com algum tipo de diculdade para enxergar a identicarem as notas
da moeda brasileira. Ressalta-se que o sistema proposto neste trabalho possui apenas a
habilidade de identicar o valor das notas e n ao constatar sua legitimidade.
2. Revis ao sobre an alise das componentes principais
O m etodo de descorrelac ao dos dados, Principal Component Analisys
(PCA)[Hotelling 1933] ou Karhunen-Lo` eve Transform (KLT)[Karhunen 1947] e
[Lo` eve 1977] tem como objetivo a obtenc ao de um pequeno n umero de combinac oes
lineares, componentes principais, de um conjunto de vari aveis que retenham o m aximo
possvel da informac ao contida nas vari aveis originais. As componentes s ao extradas na
ordem da mais explicativa para a menos explicativa, sendo possvel descartar as menos
importantes, compactando dessa forma a informac ao original.
Aplicac oes com imagens que utilizam a t ecnica geralmente constroem uma matriz
formada por um conjunto de vetores X = {X
n
R
d
| n = 1, . . . , N} em que as linhas de X
s ao formadas pelos dados de imagens concatenadas, com d sendo o produto entre a altura
e largura de uma imagem. Em seguida, calcula-se o vetor m edia de X conforme equac ao
1.
X Encontro Anual de Computao - EnAComp 2013
153
E(X) =
1
N
N

n=1
X
n
(1)
O vetor m edia do conjunto representa tudo aquilo que e comum a todas as ima-
gens. Ap os subtrair cada elemento de X da m edia obt em-se uma nova matriz que cont em
somente a variac ao de cada imagem em torno da m edia, para isto cada linha de X deve
ser subtrada de E(X), conforme equac ao 2.

X
n
= {X
n
E(X), n = 1, . . . , N} (2)
Calcula-se a matriz de covari ancia M =

X

X
T
, encontram-se os autovetores
Q e autovalores V da matriz M, para ent ao, recalcular a matriz de autovetores que seja
ortogonal e ortonormal, ou seja, as componentes principais, conforme equac ao 3.
Q

X
T
Q (V )
0.5

N 1
(3)
Finalmente, projeta-se a matriz

X na matriz transformac ao Q

para se obter uma


nova representac ao das imagens. Pode-se ordenar os autovetores da matriz Q

de acordo
com a signic ancia dada pela matriz de autovalores V e assim eliminar os autovetores de
menor representatividade.
Para aplicar o PCA em uma imagem de teste, am de classic a-la, e necess ario
projet a-la na matriz transformac ao Q

. Seja x
teste
a matriz que representa a imagem
de teste; ent ao x
T
teste
ser a essa matriz concatenada e x
T
teste
ser a essa matriz concatenada
subtrada da m edia global E(x), conforme equac ao 4.
x
T
teste
= x
T
teste
E(x) (4)
Projeta-se x
T
teste
na matriz transformac ao, conforme equac ao 5, e utiliza-se uma
regra de decis ao am de se classicar a imagem de teste.
x
pca
= x
T
teste
Q

(5)
3. Modelo proposto
Ser ao detalhadas a seguir as principais etapas de construc ao do classicador de notas de
Real usando PCA e RNA.
3.1. Digitalizac ao das notas para treinamento e teste
Para o treinamento e teste do sistema foram digitalizadas diversas notas de Real. Foram
digitalizadas notas de 2, 5, 10, 20, 50 e 100 reais. As notas de 100 reais foram utilizadas
em suas duas vers oes existentes. As notas foram digitalizadas em frente e verso sob um
fundo branco. De acordo com as condic oes de conservac ao e semelhanca de cada nota,
algumas notas n ao tiveram ambas as faces digitalizadas.
X Encontro Anual de Computao - EnAComp 2013
154
Para a captura das imagens das notas foram utilizadas as c ameras RGB prim arias
dos celulares Samsung modelos Galaxy Y GT S6102B e Galaxy Pocket S5300, com 3 e
2 megapixels de resoluc ao, respectivamente. As digitalizac oes foram realizadas manual-
mente e em diferentes condic oes de luminosidade, dist ancia e posic ao. A gura 1 mostra
exemplos das imagens de notas de Real capturadas e a tabela 1 apresenta a quantidade de
imagens digitalizadas de cada nota.
Tabela 1. Quantitativo de amostas digitalizadas de cada nota
Nota Qtd. Frente Qtd. Verso Total
2 38 38 76
5 35 27 62
10 24 34 58
20 31 32 63
50 35 42 77
100 v1 41 47 88
100 v2 35 41 76
Total 239 261 500
Figura 1. Exemplos de imagens de frente e verso das notas de 2, 10 e 50
3.2. Pr e-processamento
Esta fase pode ser dividida em dois passos, no primeiro as imagens obtidas atrav es da
atividade descrita na subsec ao 3.1, foram convertidas em imagens de 256 tons de cinza e
redimensionadas para a resoluc ao de 300140 pixels de largura e altura, respectivamente.
Em seguida, dividiu-se as imagens em 2 conjuntos, um para treinamento composto por
90% das imagens e outro para teste com os 10% restantes. Esses conjuntos cont em repre-
sentantes de todas as classes, por exemplo, para a nota de 2 foram capturadas 38 imagens
da parte da frente e 38 do verso, neste caso, separou-se 90% das imagens da parte da
frente e do verso para treinamento e 10% das imagens da parte da frente e do verso para
teste.
O segundo passo refere-se ` a aplicac ao do PCA, descrito na sec ao 2, ao conjunto
de treinamento, o resultado da aplicac ao do PCA foi utilizado como entrada para a RNA.
3.3. Arquitetura da rede neural articial
A classicac ao das imagens foi feita por uma RNA, do tipo Multilayer Perceptron,
treinada com o algoritmo backpropagation[Rumelhart et al. 1986], com momentum e taxa
de aprendizagem adaptativa[Vogl et al. 1988], para a atualizac ao dos pesos e bias dos
neur onios da rede.
A RNA foi projetada com tr es camadas: uma de entrada, uma oculta e uma de
sada. O n umero de neur onios na camada de entrada e igual ao tamanho dos vetores de
entrada que representam as imagens. Essa camada n ao realiza nenhum processamento,
X Encontro Anual de Computao - EnAComp 2013
155
tem a func ao de apenas distribuir os sinais para a pr oxima camada de neur onios. Na
camada oculta o n umero de neur onios, no experimento realizado, variou entre 3 e 60 e
para a camada de sada foram necess arios 6 neur onios, um por nota.
Os pesos e bias das conex oes dos neur onios da rede foram inicializados de acordo
com a regra de D. Nguyen e B. Widrow[Nguyen and Widrow 1990]. A gura 2 ilustra a
RNA projetada para classicar as imagens. Em ambas as camadas, oculta e de sada, os
neur onios utilizam a func ao de transfer encia tangente hiperb olica sigm oide.
Figura 2. Representac ao da rede neural projetada
O classicador proposto foi codicado na linguagem de programac ao Java uti-
lizando o paradigma da orientac ao a objetos. A gura 3 mostra as principais classes de-
senvolvidas. Am de n ao poluir visualmente o diagrama somente os principais atributos
e m etodos s ao mostrados.
Figura 3. Principais classes do sistema proposto
3.4. Treinamento e teste da rna
Como explicado na subsec ao 3.2, as imagens capturadas foram divididas em dois conjun-
tos, o primeiro, utilizado durante o treinamento da RNA, composto por 90% das imagens
e o segundo, utilizado durante a fase de teste, composto pelos os 10% restantes.
O algoritmo de treinamento da RNA foi executado 20 vezes com diferentes
n umeros de neur onios na camada oculta, adotou-se a estrat egia de aumentar de 3 em
3 a quantidade de neur onios em cada execuc ao, a primeira execuc ao inicia-se com 3
neur onios. A tabela 2 mostra os par ametros utilizados nas execuc oes do algoritmo de
treinamento.
Antes do incio do aprendizado da RNA aplicou-se o PCA ao conjunto de imagens
de treino, conforme o que foi mencionado na sec ao 2 e na subsec ao 3.2. Ap os o treino
X Encontro Anual de Computao - EnAComp 2013
156
empregou-se as equac oes 4 e 5 a cada uma das imagens do conjunto de teste am de
vericar o desempenho da RNA.
Dois crit erios de parada foram adotados nas sess oes de treinamento da RNA. O
treinamento termina caso o erro mnimo aceit avel ou o n umero m aximo de ciclos sejam
atingidos. A m de identicar a causa do t ermino do treino foi adicionado um c odigo
para informar a causa de parada (1 - parada por atingir o n umero m aximo de ciclos e 2 -
parada por ter atingido o erro mnimo aceit avel), conforme pode ser visto na tabela 3.
Tabela 2. Valores dos par ametros utilizados nas execuc oes do algoritmo de treinamento da RNA
Par ametro Valor Descric ao
lr 0,01 Taxa de aprendizado inicial
inc 1,05 Proporc ao de incremento da taxa de aprendizado
dec 0,7 Proporc ao de decremento da taxa de aprendizado
momentum 0,9 Constante momentum
max inc erro 1,04 Valor m aximo aceit avel de aumento do erro m edio quadr atico
gradiente 0,0000001 Valor do erro global aceit avel da rede
epocas 3000 N umero m aximo de ciclos de treinamento da RNA
3.5. Detalhes da Implementac ao do Aplicativo para Android
Ap os o treinamento e teste da RNA, em um computador desktop, momento em que teori-
camente o classicador estaria pronto para uso, os objetos das classes, mostradas na gura
3, s ao salvos em disco e reutilizados posteriormente em uma aplicac ao desenvolvida para
Android sem a necessidade de execuc ao de todos os outros passos.
A aplicac ao foi desenvolvida utilizando o ambiente de desenvolvimento integrado
Eclipse vers ao 4.2.1 codinome Juno, juntamente com o plugin Android Development
Tools (ADT). Os objetos salvos em disco foram copiados para a mem oria permanente
de um aparelho celular modelo Galaxy Samsung SII GT-I9100. A aplicac ao desenvolvida
realiza as seguintes operac oes: 1
0
- captura a imagem de teste atrav es da c amera do apar-
elho, 2
0
- converte a imagem em 256 tons de cinza e a redimensiona para a resoluc ao de
300 140 de largura e altura, 3
0
- aplica o PCA ` a imagem obtida, conforme equac oes
4 e 5, 4
0
- carrega para a mem oria principal os objetos armazenados em sua mem oria
permanente e 5
0
- classica a imagem utilizando a RNA.
Para facilitar a utilizac ao do aplicativo foi disponibilizado um atalho na area de
trabalho do dispositivo. Uma vez iniciado o programa, o usu ario deve apenas direcionar a
c amera para a nota, clicar no unico bot ao disponvel na interface e esperar pela resposta.
4. Resultados
Na tabela 3 observa-se que a partir de 18 neur onios na camada oculta a RNA j a e capaz de
fazer uma boa classicac ao das imagens e que a maioria das execuc oes do algoritmo de
treinamento terminou antes da quantidade m axima de ciclos estipulada (3000), ou seja,
convergindo antes para o erro mnimo aceit avel de 0, 0000001.
O gr aco da gura 4 mostra que a partir de uma certa quantidade de neur onios
na camada oculta o desempenho da RNA torna-se est avel, n ao inuenciando muito au-
mentar o n umero de neur onios nessa camada. Os melhores resultados foram obtidos nas
execuc oes 17, 18, 19 e 20. Nestes casos a RNA errou apenas 3 das 50 amostras do con-
junto de teste. Acredita-se que estes resultados podem ser incrementados, ajustando os
par ametros do algoritmo para que convirja mais lentamente. Na maioria das execuc oes o
algoritmo convergiu antes dos 1500 ciclos.
X Encontro Anual de Computao - EnAComp 2013
157
Tabela 3. Porcentagem de acertos da RNA para os conjuntos de treinamento e teste em cada
execuc ao
Exec. C od. de Parada Qtd. Neur onios % Acertos Treinamento % Acertos Teste
1 1 3 8 14
2 1 6 79,5 64
3 1 9 80,6 64
4 2 12 3,5 0
5 1 15 69,3 46
6 1 18 99,7 74
7 1 21 99,7 76
8 1 24 94,2 76
9 2 27 100 84
10 2 30 100 86
11 2 33 100 90
12 2 36 100 90
13 2 39 100 78
14 2 42 100 88
15 2 45 100 80
16 2 48 100 86
17 2 51 100 94
18 2 54 100 94
19 2 57 100 94
20 2 60 100 94
Figura 4. Quantidade de neur onios e o desempenho da RNA
5. Conclus ao
O PCA foi eciente na reduc ao e caracterizac ao das imagens de notas Real compactando
signicativamente o tamanho das imagens. Apesar de perda de informac ao envolvida
no processo de obtenc ao das componentes principais a RNA conseguiu fazer um bom
trabalho, aprendendo e generalizando bem os padr oes apesentados. Talvez seja necess ario
modicac oes no algoritmo de treinamento para que o seu desempenho seja ainda melhor,
j a que 1500 ciclos de treinamento, em m edia, talvez n ao seja o suciente para a RNA
classicar corretamente todas as imagens.
Apesar dos resultados serem positivos e necess ario cautela pois as imagens, de
certa forma, foram capturadas em um ambiente controlado, todas est ao na frente de um
fundo branco. Pretende-se capturar outras imagens em ambientes mais reais para apre-
sentar para o classicador j a treinado am de observar como ele se comporta, caso se saia
mal, pode-se treinar a RNA novamente.
Em trabalhos futuros pretende-se adicionar novas funcionalidades ao aplicativo
desenvolvido am de torn a-lo ainda mais f acil de se utilizar al em da realizac ao de estu-
dos comparativos entre o classicador apresentado e outras t ecnicas de classicac ao de
padr oes com o objetivo de desenvolver algo ainda mais eciente.
X Encontro Anual de Computao - EnAComp 2013
158
References
Aoba, M., Kikushi, T., and Takefuji, Y. (2003). Euro Banknote Recognition System Using
a Three-layered perceptron and RBF Networks. IPJS Transactions on Mathematical
Modeling and Its Application, 44(SIG 7 (TOM 8)).
Banco Central do Brasil (2013). Museu de Valores do Banco Central do Brasil.
Chae, S.-H., Kim, J., and Pan, S. (2009). A Study on the Korean Banknote Recogni-
tion Using RGB and UV Information. In

Slezak, D., Kim, T.-h., Chang, A.-C., Vasi-
lakos, T., Li, M., and Sakurai, K., editors, Communication and Networking, volume 56
of Communications in Computer and Information Science, pages 477484. Springer
Berlin Heidelberg.
Google (2013). Stio ocial do sistema operacional android. www.android.com.
Hasanuzzaman, F. M., Xiaodong, Y., and YingLi, T. (2011). Robust and effective
component-based banknote recognition by SURF features. In Wireless and Optical
Communications Conference (WOCC), 2011 20th Annual, pages 16.
Hinwood, A., Preston, P., Suaning, G. J., and Lovell, N. H. (2006). Bank note recognition
for the vision impaired. Australasian Physical & Engineering Sciences in Medicine,
29(2).
Hotelling, H. (1933). An alysis of a complex of statistical variables into principal compo-
nents. J. Educ. Psychol. Columbia University, 24:417441 e 498520.
IBGE (2012). Censo 2010. http://www.censo2010.ibge.gov.br/resultados.
Karhunen, K. (1947).

Uber lineare Methoden in der Wahrscheinlichkeitsrechnung. Suo-
malaisen Tiedeakatemian toimituksia: Mathematica-physica. Universitat Helsinki.
Lo` eve, M. (1977). Probability Theory I. Number 9780387902104 in Graduate Texts in
Mathematics. Springer.
Nguyen, D. and Widrow, B. (1990). Improving the learning speed of 2-layer neural net-
works by choosing initial values of the adaptive weights. In Neural Networks, 1990.,
1990 IJCNN International Joint Conference on, volume 3, pages 2126. IEEE.
Rumelhart, D. E., Hinton, G. E., and Williams, R. J. (1986). Learning internal represen-
tations by error propagation. Mit Press.
Sevkli, M., T urkyilmaz, A., and Aksoy, M. S. (2002). Banknote recognition using in-
ductive learning. Proceedings of Int. Conf. On Fuzzy Syst. And Soft Computational
Intelligence in Management and Industrial Eng - 15. FSSCIMIE02, pages 122128.
Toytman, I. and Thambidurai, J. (2011). Banknote recognition on Android platform.
Vogl, T. P., Mangis, J. K., Rigler, J. K., Zink, W. T., and Alkon, D. L. (1988). Accelerating
the convergence of the backpropagation method. Biological Cybernetics, 59:257263.
X Encontro Anual de Computao - EnAComp 2013
159

Aplicao para dispositivos mveis utilizando tecnologias
interativas: a Realidade Virtual e Aumentada aplicada ao
estudo da anatomia humana
Lilian R. Mendes Paiva
1
,

Flvia G. Fernandes
2
,

Austeir Jos Barbosa
2
, Camila
Caroline de O. Moura
2
, Luciene C. de Oliveira
2
,

Mylene L. Rodrigues
2

1
Campus Avanado - Instituto Federal do Tringulo Mineiro (IFTM)
CEP: 38.408-343 Uberlndia MG Brasil
2
Instituto de Engenharia e Tecnologia Universidade de Uberaba (UNIUBE)
CEP: 38.408-343 Uberlndia MG Brasil
lilianpaiva@iftm.edu.br,
{flavia.fernandes92,auteir,camilah.kat}@gmail.com,
{luciene.oliveira,mylene.rodrigues}@uniube.br
Abstract. This paper presents the proposal and the results a project whose
goal is to develop a system to support learning of human anatomy, linking the
areas of health and education. The methodology will use the resources of the
Virtual and Augmented Reality (RVA) that enables the visualization,
interaction and simulation of three-dimensional images. It is expected to
contribute in this way in motivating students, through technological
innovations, creating an educational environment pleasant and harmonious
addition to continuing education of professionals and the routine of doctors,
which would help to better inform patients about the functioning the human
organism.
Resumo. Este artigo apresenta os resultados parciais de um projeto de
pesquisa, cujo objetivo geral o desenvolvimento de um sistema para apoio
aprendizagem da anatomia humana, unindo as reas da sade e educao.
Como metodologia, sero utilizados os recursos da Realidade Virtual e
Aumentada (RVA,) que possibilitam a visualizao, interao e simulao
tridimensional de imagens. Espera-se, contribuir desta forma na motivao de
alunos, atravs das inovaes tecnolgicas, gerando um ambiente
educacional agradvel e harmonioso alm da formao continuada dos
profissionais da rea e na rotina dos consultrios mdicos, o que ajudaria a
informar melhor os pacientes sobre o funcionamento do organismo humano.
1. Introduo
Recentemente, observa-se que o desenvolvimento de tecnologias da informao vem
auxiliando inmeras prticas na rea da sade, em atividades como diagnstico, terapia,
gerenciamento e educao.
Dentro de tais prticas, encontra-se o apoio ao ensino da anatomia humana,
campo que estuda grandes estruturas e sistemas do corpo humano. Atualmente,
vivencia-se que nas aulas prticas em laboratrios os discentes apresentam distrbios,
como pesadelos, insnia, ansiedade, repulsa visual, depresso e outros. A morte, o
formol e o odor juntos, instigam situaes de repelncia. Isso sugere casos de possveis
barreiras para o real aprendizado [Espirito, 1981].
Paralelamente, a aquisio de cadveres se torna cada vez mais difcil,
considerando a tradio desde os primrdios da sociedade, quando o cadver
considerado algo sagrado, voltado ao culto religioso. Pesquisadores tambm apontam
X Encontro Anual de Computao - EnAComp 2013
160

quanto dificuldade de alcanar os propsitos de ensino e aprendizagem, utilizando
cadveres descoloridos, firmes e elsticos, obtidos pela preservao em formalina a
10%, algumas vezes to irreconhecveis que no apresentam a mnima semelhana com
o tecido original [Edelweiss, 1993].
Consequentemente, embora seja fundamental ao ensino da rea de sade,
observa-se que, inmeras vezes, os estudantes percebem a devida importncia do estudo
em anatomia humana somente quando esto vivenciando situaes prticas ao lado de
um leito ou de uma mesa operatria [Chopard, 1997].
Diante deste contexto, o ensino da anatomia humana, precisa ser repensado para
corresponder s expectativas deste novo e atual momento. A insero da tecnologia no
ensino da anatomia humana poder propiciar alternativas para dinamizar as aulas,
favorecendo uma aprendizagem coerente com a realidade tica e social e com o
mercado de trabalho que os estudantes dos cursos da rea de sade encontraro aps sua
graduao [Martins, 2009; Quartiero, 1999; Lvy, 1993].
Neste campo, a Realidade Virtual e Aumentada (RVA), destaca-se pelas novas
possibilidades de criao, modelagem, visualizao, interao e simulao
tridimensional de imagens, proporcionando interfaces avanadas capazes de gerar a
imerso do usurio em ambientes com os quais pode interagir e explorar [Cardoso,
2007].
Desse modo, a aplicao da RVA na rea da sade, tem sido avaliada de forma
intensiva nos ltimos anos, com merecido destaque, pois representa novos desafios e
potencialidades, com a insero de informaes complementares e/ou relevantes ao
cenrio real. Isoladamente, a RVA no atinge os objetivos esperados da complexa tarefa
de ensino e aprendizagem. Porm, pode ser utilizada como ferramenta de apoio didtico
ou mesmo, empregada em diversos momentos do ensino-aprendizagem nas salas de
aula presencial ou virtual. Nesta linha de raciocnio, esta pesquisa tem como objetivo
propor uma ferramenta de RVA na rea da aprendizagem da anatomia do corpo
humano, unindo as reas da sade e educao.
Logo, os resultados motivaro o aprendizado dos alunos de maneira interativa e
ldica, tornando o aprendizado mais atrativo e dinmico. Trazendo este recurso para as
escolas, os alunos comprometer-se-iam mais com os estudos pela motivao com as
inovaes tecnolgicas, o ambiente educacional tornar-se-ia mais agradvel e
harmonioso, o que incentivaria a formao continuada dos profissionais da rea.
2. Fundamentos da Realidade Virtual e Aumentada
Realidade Virtual (RV) e Realidade Aumentada (RA) so duas reas relacionadas com
as novas geraes de interface do usurio, facilitando e potencializando as aplicaes
computacionais. Existem muitas definies para RVA, envolvendo diversos aspectos, a
saber:
Realidade Virtual uma interface avanada para aplicaes computacionais,
que permite ao usurio navegar e interagir, em tempo real, com um ambiente
tridimensional, usando dispositivos multisensoriais [Kirner e Siscoutto, 2007].
X Encontro Anual de Computao - EnAComp 2013
161

Realidade Aumentada a ampliao da percepo sensorial por meio de
recursos computacionais, gerando a mistura dos mundos reais e virtuais,
conectando ambientes completamente reais e virtuais [Lamounier e Cardoso,
2004].
A RV associa-se a uma interface homem-mquina poderosa, possibilitando ao
usurio interao, navegao e imerso num ambiente tridimensional sinttico, gerado
pelo computador atravs de canais multissensoriais, podendo ser categorizada em:
RV imersiva objetiva isolar o usurio por completo do mundo real, utilizando
equipamentos como capacete de realidade virtual, luva de dados, rastreadores e
fones de ouvido a fim de responder somente aos estmulos gerados pelo sistema
computacional [Harma, 2003].
RV no-imersiva, o usurio tem acesso ao ambiente virtual, sem se isolar do
mundo real, isto , atravs de dispositivos convencionais de computador
(monitor e mouse) [Harma, 2003].
Um aplicativo de RV pode proporcionar uma sesso sob trs formas diferentes:
[Costa, 2009].
Tabela 1. Sesso de Realidade Virtual
Passiva
Proporciona ao usurio uma explorao do ambiente automtica e sem interferncia. A
rota e os pontos de observao so explcitos e controlados exclusivamente pelo
software. O usurio no tem controle algum, exceto talvez, para sair da sesso.
Exploratria
Proporciona uma explorao do ambiente dirigida pelo usurio. O participante pode
escolher a rota e os pontos de observao, mas no pode interagir de outra forma com
entidades contidas na cena.
Interativa
Proporciona uma explorao do ambiente dirigida pelo usurio e, alm disso, as
entidades virtuais do ambiente respondem e reagem s aes do participante.
A RV uma particularizao da Realidade Misturada, que consiste na
sobreposio de objetos virtuais tridimensionais gerados por computador com um
ambiente fsico, realizada em tempo real, atravs de um dispositivo tecnolgico
[Reimann, 2005].
A Realidade Misturada (RM) pode receber duas denominaes: RA, quando o
ambiente principal ou predominante o mundo real e, Virtualidade Aumentada, quando
o ambiente principal ou predominante o mundo virtual [Neto, 2006].
No caso da RA, cabe ressaltar que, os objetos virtuais so trazidos para o espao
do usurio, onde ele tem segurana e sabe como interagir, sem necessidade de
treinamento. Desta forma, a RA pode ser definida como uma tecnologia atravs da qual
se incrementa ou aumenta a viso que um utilizador tem do mundo real com a adio de
imagens virtuais, usando tcnicas de viso por computador e de Computao
Grfica/Realidade Virtual, resultando na sobreposio de objetos virtuais com o mundo
real [Drab, 2005]. Alm de permitir essa sobreposio de objetos virtuais no mundo
real, a RA tambm permite o manuseio desses objetos com as prprias mos,
possibilitando que o usurio tenha uma interao atrativa e motivadora com o ambiente
[Siscoutto, 2008]. No entanto, para que esses objetos sobrepostos sejam visualizados e
manipulados, necessria a utilizao de algum software e dispositivo tecnolgico.
Dessa maneira, as principais vantagens da utilizao de tcnicas de RV/RA para
fins educacionais so as seguintes [Cardoso, 2007]:
Motivao de estudantes e usurios de forma geral, baseada na experincia de 1
pessoa vivenciada pelos mesmos;
X Encontro Anual de Computao - EnAComp 2013
162

Grande poderio de ilustrar caractersticas e processos, em relao a outros meios
multimdia;
Permite visualizaes de detalhes de objetos;
Suporte s visualizaes de objetos que esto a grandes distncias, como um
planeta ou um satlite;
Permite experimentos virtuais, na falta de recursos, ou para fins de educao
virtual interativa;
Permite ao aprendiz refazer experimentos de forma atemporal, fora do mbito de
uma aula clssica;
Possibilita interao, exigindo que cada participante se torne ativo dentro de um
processo de visualizao;
Encoraja a criatividade, catalisando a experimentao;
Prov igual oportunidade de comunicao para estudantes de culturas diferentes,
a partir de representaes;
Ensina habilidades computacionais e de domnio de perifricos.
3. Metodologia
O processo de desenvolvimento de sistemas contempla antecipadamente a modelagem
para anlise atravs de mtodos formais e grficos, que abrangem de forma integral a
representao dos sistemas. Dentro das prticas recomendadas pela programao
orientada a objetos, este projeto ser desenvolvido atravs de diversas fases, descritas a
seguir [Bobbch, 2005]:
1. Fase de Concepo: documentao contendo modelos que contenham os
requisitos da aplicao a ser construda baseada em Casos de Uso, utilizando a
linguagem de modelagem UML (Unified Modeling Language).
2. Fase de Elaborao: documentao tcnica para a arquitetura do sistema
contendo diagramas como Modelo de Dados, Diagramas de Atividades,
Diagramas de Estado, Modelo de Deployment e Implantao.
3. Fase de Construo: desenvolvimento do software para RVA utilizando
dispositivos mveis e interao natural por meio de reconhecimento de gestos.
4. Fase de Testes: plano de testes e realizao de testes integrados na aplicao
desenvolvida.
Em relao aos aspectos metodolgicos e tecnolgicos, ser utilizada RVA por
meio do desenvolvimento de ambientes virtuais, incluindo interaes e animaes, com
uso das linguagens de programao Java e Javascript, a linguagem de marcao HTML
(HyperText Markup Language - Linguagem de Marcao de Hipertexto) para
estruturao dos contedos, a linguagem CSS (Cascading Style Sheets - Folha de
Estilos em Cascata) para formatao dos contedos estruturados, alm do ambiente de
desenvolvimento Eclipse, conectado ao emulador do sistema Android, e tambm a
ferramenta de modelagem grfica Blender, a fim de contemplar clculos e comandos,
visando criar para o usurio a possibilidade de interagir com ambientes virtuais
atrativos, que facilitem a aprendizagem significativa de conceitos tericos e prticos.
Tambm utilizar o sistema Android para dispositivos mveis na realizao de testes e
para sua utilizao prtica e efetiva [Bodoff, 2005].
O emulador Android, tambm conhecido como Android Virtual Device (AVD),
uma reconhecimento de caractersticas de smartphones usando a verso do Android
escolhida (seja a 2.1, 2.2 ou qualquer outra). Com ele, so carregados a imagem do
sistema e caractersticas, onde o usurio pode realizar tetes no projeto [Kanno, 2011].
X Encontro Anual de Computao - EnAComp 2013
163

O Android SDK um aplicativo instalado no software Eclipse que permite que
os desenvolvedores elaborem as aplicaes a partir de um dispositivo virtual para os
aparelhos de celular e tablet, desde jogos a utilitrios que faam uso das funes
oferecidas pelos aparelhos, como touchscreen, telefonia GSM, Cmera, GPS, bssola,
acelermetro, Bluetooth, EDGE, 3G e WiFi. A plataforma apresenta suporte para
mdias de udio, vdeo e imagem, nos formatos MPEG4, H.264, MP3, AAC, AMR,
JPG, PNG, GIF, bem como acelerador grfico 3D, baseados no OpenGL ES. Os dados
podem ser armazenados em SQLite e a pltaforma traz um navegador integrado com
base no cdigo livre do motor WebKit [Kanno, 2011].
4. Resultados e Discusses
Em virtude dos resultados parciais obtidos, compreende-se que a RVA pode auxiliar e
ser utilizada no ensino da anatomia humana, tanto para estudantes de medicina e cursos
afins quanto para os pacientes que frequentam os consultrios mdicos.
O aplicativo para estudo da anatomia humana, utilizando RVA em Dispositivos
Mveis, ir contribuir na formao dos estudantes. Foi verificada a existncia de
projetos similares, porm, segundo pesquisas realizadas, ainda no foi implementado
algum trabalho que utilize RVA para dispositivos mveis, que um recurso tecnolgico
atual, prtico, moderno e interativo, contrapondo com os mtodos de ensino
tradicionais.
Em outras reas, a utilizao de RVA para dispositivos mveis est sendo
inserida cada vez mais no cotidiano das pessoas, auxiliando as tarefas dirias devido
facilidade de manuseio, transporte e acessibilidade, como, por exemplo, os aplicativos
LBS (Servios Baseados em Localizao), a navegao e mapas, a pesquisa visual, o
reconhecimento facial e os controles de voz e cdigos de barras. Logo, tambm vivel
e eficaz o uso de dispositivos mveis com RVA a fim de promover um ensino com
melhor acessibilidade.
Nesta aplicao proposta e atravs dos resultados e testes preliminares junto ao
prottipo desenvolvido, o estudante poder ter acesso em seu prprio dispositivo mvel
adequado para a aplicao da RA, que exibir as ilustraes como se fossem reais. Ao
instalar o aplicativo em um celular que tenha sistema operacional Android, o usurio se
deparar com uma tela inicial que traz algumas informaes sobre os Sistemas do Corpo
Humano, como visto na Figura 02. A partir da, o usurio tem como opo aprender
mais detalhadamente sobre suas divises: o Sistema Nervoso Central - SNC (Figura 03),
que subdividido em encfalo (Figura 03) e medula espinhal (Figura 04), e o Sistema
Nervoso Perifrico SNP, que subdividido em nervos (Figura 05) e gnglios (Figura
06). Alm disso, ao clicar sobre o boto Exibir em RA de qualquer uma das telas, a
imagem escolhida ser exibida por meio da RA ao aproximar a cmera do dispositivo
mvel sobre o marcador Android (Figura 01). Assim, a parte do corpo humano
selecionada ser exibida em RA, proporcionando aprendizagem mais interativa e
interessante sobre a biologia humana.
Os marcadores so muito utilizados em RA para monitorar e verificar
orientaes dos objetos no ambiente, onde possvel definir previamente diversas
destas orientaes e para cada uma, especificar um comando concernente [Camilo-
Junior, 2010]. Neste trabalho, foi utilizado um marcador j bastante popular para a
programao em Android. Contudo, h maneiras de criar marcadores personalizados.

X Encontro Anual de Computao - EnAComp 2013
164


Figura 01: Marcador Android. Figura 02: Sistema Nervoso
no dispositivo mvel.


Figura 03: Encfalo no dispositivo mvel. Figura 04: Medula espinhal no
dispositivo mvel



Figura 05: Nervos no dispositivo mvel. Figura 06: Gnglios no dispositivo
mvel.
Na Figura 07, por exemplo, o crebro humano est sendo visualizado em
Realidade Aumentada, por meio da cmara de um dispositivo mvel, como explicado
anteriormente, o que possibilita um aprendizado mais dinmico, visto que as imagens
X Encontro Anual de Computao - EnAComp 2013
165

em trs dimenses provocam a imerso do usurio no sistema e tambm na prpria
anatomia do corpo humano.


Figura 07: Crebro humano em RA.
4. Concluses
A evoluo constante da tecnologia est impulsionando a educao para novos rumos,
enfatizando a utilizao de novas ferramentas e propiciando melhorias eficazes no
processo de ensino/aprendizagem devido ao maior interesse e motivao dos alunos.
A medicina uma das reas de grande demanda ao uso de RVA em educao,
considerando treinamento, diagnstico, tratamento e simulao de cirurgias. Pelas suas
caractersticas de visualizao 3D e de interao em tempo real, permite a realizao de
aplicaes mdicas inovadoras, que antes no podiam ser realizadas.
A RVA uma rea tipicamente multidisciplinar que envolve conceitos
provenientes de diversos segmentos, com aplicao em vrias reas ou campos
especficos da vida econmica, social e cultural. Por permitir uma interao humano-
computador mais natural em ambiente tridimensional (3D) e possibilitar a reproduo
de situaes reais, torna-se um recurso de amplo potencial [Costa e Ribeiro, 2009].
Acredita-se na importncia dos professores trabalharem com as novas
tecnologias de RVA, pois proporcionam a visualizao e interao do estudante com o
conhecimento abstrato de maneira completa, facilitando o caminho para a compreenso
de teorias e conceitos.
A partir de pesquisas realizadas e anlises conduzidas, verifica-se, que apesar de
inmeros sistemas desenvolvidos, ainda h vrios desafios a serem superados a fim de
que as aplicaes de RVA sejam includas na rotina dos profissionais da rea de sade.
Se por um lado tais desafios retardam o uso efetivo desta tecnologia, na prtica,
constituem oportunidades mpares de pesquisa e desenvolvimento.
fato que a Universidade possui o desafio de inserir no mercado de trabalho
profissionais qualificados, com perfil critico e investigador frente s diversas situaes
do cotidiano, com bom domnio da tecnologia, capaz de lidar com o pluralismo de
dificuldades que podem ser encontradas em determinada populao, estimulando o
indivduo a adquirir conhecimento cientfico e a desenvolver atitudes de cidadania em
seu contexto social.
Perante o avano tecnolgico, j disponvel em considervel parcela das
instituies de ensino no Brasil, acredita-se haver possibilidades de mudanas das
prticas pedaggicas em sala de aula, visto que a tecnologia j est inserida no dia-a-dia
dos estudantes e que o processo ensino-aprendizagem deve ser condizente com a
realidade que o aluno vivencia no seu cotidiano.

X Encontro Anual de Computao - EnAComp 2013
166

Referncias
Bodoff, S. et al.. Tutorial do J2EE. Rio de Janeiro, Editora Cincia Moderna Ltda.,
2005.
Bobbch G, et al.. UML: Guia do Usurio. Campus, 2005.
Camilo-Junior, C. G.; Ueda, M. T. M.; Viana, R. F.. Um sistema de auxlio ao
diagnstico da escoliose baseado em RA. Revista Brasileira de Engenharia
Biomdica, v. 26, n. 3, p. 185-193, dez. 2010.
Cardoso, A. et al. Tecnologias para o desenvolvimento de sistemas de realidade virtual e
aumentada. Recife: Universidade da UFPE, 2007. 222 p.
Costa, R. M. e Ribeiro, M. W. Aplicaes de realidade virtual e aumentada. Porto
Alegre: SBC, 2009. 146 p.
Chopard R P, Bonilauri A R C. O ensino da anatomia: uma viso discente. Rev Hosp
Clin Fac Med Univ So Paulo 1997; 52(6): 337- 341.
Drab, S. & Artner, N M. Motion Detection as Interaction Technique for Games &
Applications on Mobile Devices. Pervasive Mobile Interaction Devices (PERMID
2005), Munich, Alemanha, 2005.
Esprito S. A. M. et al. Uso de cadveres no estudo de anatomia humana nas escolas da
rea da sade. Ver Goiana Med 1981; 27(1/2): 107-116.
Edelweiss M. I. Importncia do estudo de necropsia (ou de peas cirrgicas no fixadas)
no ensino da Anatomia Patolgica Macroscpica. Rev HCPA & Fac Med Univ
Fed.Rio Gd do Sul 1993; 13(3).
Harma, A. et al. Techniques and applications of wearable augmented reality audio. In:
Audio Engineering Society Convention Paper, Amsterdam, Holanda, 2003.
Kirner, C. e Siscoutto, R. Realidade virtual e aumentada: conceitos, projeto e
aplicaes. Porto Alegre: SBC, 2007. 202 p.
Lamounier, E. e Cardoso, A. Realidade virtual: uma abordagem prtica. So Paulo:
Mania de Livro, 2004. 326 p.
Lvy, P. As Tecnologias da Inteligncia: O Futuro do Pensamento na Era da
Informtica. Trad. Carlos Irineu da Costa. Rio de Janeiro: Ed. 34, 1993. 208p.
Martins, A. S. F. Tecnologia Educacional e os Recursos Pedaggicos. In: Anurio da
Produo Acadmica Docente. Vol. III, n6, 2009.
Neto, S. et al. Criao de Aplicaes de Realidade Aumentada em Dispositivos Mveis
Baseados em Symbian OS. In: II Workshop de Aplicaes de Realidade Virtual,
Universidade Federal de Pernambuco, 2006, p. 16-19.
Quartiero, E. M. As Tecnologias da Informao e Comunicao e a Educao. Revista
Brasileira de Informtica na Educao, vol. 4, 1999.
Reimann, C. Kick-real, a Mobile Mixed Reality Game. In: Proceedings of the
International Conference on Advances in Computer Entertainment Technology.
Valencia, 2005, p. 387.
Siscoutto, Robson; Costa, Rosa Maria. Realidade virtual e aumentada: uma abordagem
tecnolgica. Porto Alegre: SBC, 2008. 357 p.

X Encontro Anual de Computao - EnAComp 2013
167
Aplicac ao de ferramentas automatizadas para gerac ao de
formul arios Web acessveis
Fernanda B. Faria
1
, Thiago J. Bittar
1,2
, Luanna L. Lobato
1
1
Departamento de Ci encias da Computac ao Universidade Federal de Goias (UFG)
CEP: 75704-020 Catal ao GO Brasil
2
Instituto de Ci encias Matem aticas e de Computac ao Universidade de S ao Paulo (USP)
Caixa Postal 668 13560-970 S ao Carlos SP Brasil
ferrbontempo@gmail.com, jabur@icmc.usp.br, lll@catalao.ufg.br
Abstract. This papper shows how the use of automated tools may help in the
generation of accessible forms. Therefore, we used two tools that assist the
developer in this task, a form to generate itself, called Quick Form Builder and
another to validate the code generated by this tool, the W3C code validator.
Thus it is apparent that the tools help developers to develop affordable forms,
since it does not need to meet accessibility guidelines, simply use the tools that
are intuitive and easy to access.
Resumo. Neste trabalho e apresentado como a utilizac ao de ferramentas au-
tomatizadas podem ajudar na gerac ao de formul arios acessveis. Para tanto,
foram utilizadas duas ferramentas que auxiliam ao desenvolvedor nesta tarefa,
uma para gerar formul ario em si, chamada Quick Form Builder e outra para
validar o c odigo html de formul arios Web, o validador de c odigo do W3C. Com
isso, e perceptvel que as ferramentas auxiliam o desenvolvedor a desenvolver
formul arios acessveis, visto que o mesmo n ao precisa conhecer as diretrizes de
acessibilidade, e necess ario apenas usar as ferramentas que s ao intuitivas e de
f acil acesso.
1. Introduc ao
Para que haja um desenvolvimento agil e com mais qualidade e necess ario que se tenha
ferramentas que agregam mais facilidades e recursos aos desenvolvedores e que evoluam
de acordo com suas necessidades. Uma preocupac ao maior que se tem, al em do de-
senvolvimento r apido, e que sistemas Web possuam acessibilidade, para que a inclus ao
digital seja de fato efetivada. Assim, e necess ario produzir artefatos Web sem barrei-
ras, ou seja, eliminar as diculdades de acesso ` as pessoas com deci encia e para isso,
podem ser utilizadas ferramentas para auxiliar o desenvolvedor e tamb em para que este
tenha conhecimento das diretrizes de acessibilidade e como aplic a-las [Sloan et al. 2006],
[Maia 2010].
Acessibilidade Web est a relacionada com a possibilidade de que diferentes per-
s de usu arios e, principalmente, pessoas com deci encia sejam capazes de us a-la
[Lima 2007]. Mais precisamente, uma Web com conte udo interativo, f acil de enten-
der, compreender e manipular por pessoas com os mais diversos tipos de deci encia
[W3C 2008].
X Encontro Anual de Computao - EnAComp 2013
168
Para interagir em sistemas e sites Web, na maioria das vezes e necess ario
o preenchimento de formul arios, seja para cadastro ou simplesmente para receber
uma informac ao de retorno. Entretanto, como visto em um estudo de caso recente
[Bittar et al. 2012a], os formul arios, sobretudo das universidades p ublicas do Brasil, n ao
atendem ` as diretrizes de acessibilidade, o que diculta o acesso pelos usu arios, principal-
mente aqueles que possuem algum tipo de deci encia.
Os problemas identicados nos formul arios Web pelos autores supracitados, res-
saltam a import ancia de ferramentas automatizadas para auxiliar o desenvolvedor no de-
senvolvimento de tais recursos. Assim, e visto no presente trabalho como ferramentas
automatizadas auxiliam na gerac ao de formul arios acessveis. Para tanto, e mostrado o
uso de um gerador de formul arios acessveis, Quick Form Builder
1
, desenvolvido pela
empresa Accessify
2
, que foi escolhido devido a f acil utilizac ao e popularizac ao da ferra-
menta, juntamente comum validador de c odigo, do World Wide Web Consorcium(W3C)
3
,
para que se comprove a ec acia do gerador de formul arios.
O trabalho e apresentado da seguinte forma: Na Sec ao 2 e mostrada a metodologia
utilizada para a realizac ao da pesquisa. Na Sec ao 3 tem-se os trabalhos relacionados. Na
Sec ao 4 e visto o funcionamento do gerador de formul arios acessveis, em que seu c odigo
e testado pelo validador na Sec ao 5, na qual mostra como o mesmo funciona. Na Sec ao 6
s ao mostradas as contribuic oes que s ao obtidas utilizando essas ferramentas. E, por m,
na Sec ao 7, tem-se a conclus ao do que foi feito.
2. Metodologia
Inicialmente, foi feito um estudo envolvendo as diretrizes de acessibilidade, tanto para
conte udo Web Content Accessibility Guidelines 2.0 (WCAG 2.0) [W3C 2008], quanto
para ferramentas de autoria Authoring Tool Accessibility Guidelines (ATAG) [W3C 2000].
Posteriormente, vericou-se a acessibilidade em formul arios de contato em sites
de 109 universidades p ublicas brasileiras, procurando abranger o m aximo possvel deste
cen ario, utilizando diretrizes do WCAG 2.0, na qual constatou-se falta de acessibilidade
nos crit erios analisados: formul arios feitos utilizando tabelas, o que n ao e recomendando;
formul arios feitos com labels; formul arios que utilizam CAPTCHA (que e uma ferra-
menta contra acessos de rob os ou mecanismos que n ao sejam pessoas); formul arios que
validam campos; e formul arios que funcionam corretamente [Bittar et al. 2012a]. Ap os
essa vericac ao, foi feita a an alise em ferramentas de autoria, utilizando as diretrizes da
ATAG, e foi constatado que nenhuma delas oferece 0 suporte adequado para desenvolvi-
mento de conte udo acessvel [Bittar et al. 2012b].
Visto este cen ario e o estudo realizado por Trewin et al. (2010), que mostrou
que a maioria dos desenvolvedores n ao utilizam recursos e diretrizes de acessibilidade
no desenvolvimento por falta de conhecimento dos mesmos, faz-se necess ario o uso de
ferramentas que auxilem aos desenvolvedores a suprir essa deci encia.
Logo, e feito neste trabalho uma an alise de um gerador de formul arios acessveis
automatizado, Quick Form Builder, mostrando cada etapa para o desenvolvimento dos
1
http://accessify.com/tools-and-wizards/accessibility-tools/quick-form-builder/
2
http://accessify.com/about/
3
http://validator.w3.org/
X Encontro Anual de Computao - EnAComp 2013
169
formul arios, de maneira intuitiva e testando o formul ario gerado no validador do W3C.
Com isso, pode-se analisar como essas ferramentas podem contribuir no processo de de-
senvolvimento acessvel.
3. Trabalhos relacionados
Bittar et al.(2012a) mostram a vericac ao de formul arios de contato em universidades
p ublicas brasileiras e constata a defasagem do uso das diretrizes do WCAG 2.0, visto
que haviam formul arios feitos com tabelas, outros que utilizam CAPTCHA sem recurso
auditivo, o que prejudica o acesso de pessoas com deci encia ` a informac ao. Visto que,
a leitura do CAPTCHA e feita independentemente da leitura do formul ario, pois leito-
res de tela leem apenas o conte udo do formul ario e e um rob o realizando esta leitura, o
CAPTCHA precisa prover recursos para ser ouvido.
Bittar et al. (2012b) apresentam um estudo sobre as principais ferramentas de
autoria utilizadas por desenvolvedores no Brasil tais como: Dreamweaver R , Eclipse
(Helios) R , Netbeans 7.1 R , NVU 1.0 R , e Microsoft Expression Web R , foi constatado
que nenhuma dessas ferramentas segue corretamente todos os crit erios de acessibilidade
analisados, o que diculta o desenvolvimento de sistemas Web acessveis.
Al em de acessibilidade em formul arios, existem outros trabalhos, como o apre-
sentado por Santos (2012), que trata da acessibilidade em menus na Web para pessoas
de meia idade, vericando as diculdades enfrentadas por aqueles que possuem proble-
mas de vis ao. O que tamb em poderia ser evitado com o conhecimento das diretrizes de
acessibilidade ou com ferramentas que auxiliassem aos desenvolvedores a seguir esses
crit erios.
J a em Sousa (2011) e feita uma avaliac ao em portal de instituic oes de ensino su-
perior tendo em foco pessoas com deci encia visual, analisando portais da Universidade
de Pernambuco (UPE), Universidade Federal do Rio de Janeiro (UFRJ) e Universidade
Federal do Estado do Rio de Janeiro (UNIRIO), nos quais tamb em s ao encontrados pro-
blemas de acessibilidade, que poderiam ser evitados.
4. Ferramenta de gerac ao de formul arios acessveis
Para auxiliar no desenvolvimento de formul arios acessveis existem algumas ferramentas
disponveis ao desenvolvedor de r apida e intuitiva manipulac ao. Ou seja, ferramentas que
geram formul arios sem utilizac ao de tabelas, utilizando labels de maneira adequada, de
acordo com o crit erio 3.3.2 do WCAG 2.0 consistente de que quando o conte udo exigir a
entrada de dados pelo usu ario e obrigat orio o uso de r otulos, para evitar erros [W3C 2008].
Vericam se o fechamento as tags est a sendo feito corretamente, o que condiz com o
crit erio 4.1.1 do WCAG 2.0, na qual consiste que os elementos que disp oe de marcas de
incio e de m devem ser completos, ou seja, devem ser abertos e fechados corretamente,
caso contr ario s ao considerados atributos incorretos ou incompletos [W3C 2008].
Como exemplo, tem-se o Quick Form Builder que tem por objetivo gerar conte udo
acessvel e tamb em ser de f acil manuseio ao desenvolvedor, o que e extremamente ne-
cess ario visto que o operador desta ferramenta e o desenvolvedor de sistemas para Web
que utilizam formul arios de contato.
Na Figura 1, e ilustrada a p agina principal da ferramenta, em que devem ser de-
nidos campos que o formul ario precisa ter. Caso o usu ario n ao saiba o que inserir, existem
X Encontro Anual de Computao - EnAComp 2013
170
alguns exemplos de dados que podem ser inseridos e, tamb em, logo abaixo ao local de
inserc ao, tem-se as instruc oes que se devem ser seguidas para usar a ferramenta adequa-
damente.
Figura 1. P agina inicial da ferramenta, primeiro passo
Ap os a conclus ao da etapa inicial, ilustrada na Figura 1, pressiona-se o bot ao Next
Step, para que seja executado o pr oximo passo do desenvolvimento do formul ario no qual
se denir a os tipos destes campos, como pode ser visto na Figura 2.
Figura 2. Segundo passo, opc oes de marcac ao
Na Figura 2 e apresentado como se dene cada tipo dos campos do formul ario bem
como os campos obrigat orios a serem preenchidos pelo usu ario. Esta etapa e signicativa-
mente importante, pois com os campos obrigat orios torna-se mais f acil o preenchimento
do formul ario.
Na Figura 3 s ao apresentados os tipos de marcac ao, como de sintaxe, se ser a
XHTML ou HTML. A forma de envio de dados podem ser por meio dos m etodos post ou
get. Al em disso, o usu ario pode denir o nome do formul ario, a mensagem de erro caso
os dados n ao sejam inseridos corretamente pelo usu ario nal e a mensagem do bot ao de
submiss ao.
Figura 3. Terceiro passo, opc oes de marcac ao
X Encontro Anual de Computao - EnAComp 2013
171
Concluindo o passo 3, ocorre a gerac ao do c odigo fonte do formul ario, que e
ilustrado na Figura 4. Com a gerac ao do c odigo, est a nalizado o desenvolvimento do
formul ario.
Figura 4. Quarto passo, gerac ao de c odigo fonte
Ap os visualizar o c odigo, o desenvolvedor tem a opc ao de voltar ao passo anterior,
ou comecar um novo formul ario, retornando ao passo 1.
O c odigo gerado possui os labels especicados e validac ao dos campos, mas ao
executar o c odigo e perceptvel que n ao h a a marcac ao dos campos obrigat orios na in-
terface, o que pode prejudicar na prevenc ao de erros pelo usu ario, que e uma falha de
acessibilidade. A ferramenta tamb em n ao gera o recurso de CAPTCHA, o que torna o
sistema menos seguro, por em mais acessvel.
O formul ario da Figura 5 possui os campos de nome, email, assunto e mensagem,
que s ao os campos b asicos para um formul ario de contato, e uma tela simples e de f acil
entendimento para o usu ario.
Figura 5. Formul ario gerado com a ferramenta Quick Form Builder
Na pr oxima sec ao e apresentado o validador de c odigos do W3C, que faz a
vericac ao do c odigo gerado pela ferramenta Quick Form Builder aqui apresentada, ana-
lisando se o mesmo e us avel ou n ao e apontando os erros cometidos.
5. Validador de c odigo do W3C
O validador de c odigo do W3C e um software livre utilizado para vericar o c odigo fonte
de p aginas, apontando erros de graa, uso impr oprio de CSS e tamb em alerta o desenvol-
vedor sobre potenciais erros de acessibilidade [W3C 2007].
A inserc ao do c odigo em HTML pode ser feita por tr es vias, inserindo-se a URL
da p agina que se deseja validar, fazendo upload de arquivos locais ou por entrada direta,
na qual se coloca o c odigo fonte diretamente no validador, como pode ser observado na
Figura 6. Cada aba do validador indica uma forma de entrada do c odigo a ser analisado, e
X Encontro Anual de Computao - EnAComp 2013
172
Figura 6. Interface do validador de c odigo do W3C
um sistema simples e intuitivo para os desenvolvedores, que desejam validar seus c odigos
em HTML.
Na Figura 7 e ilustrada a inserc ao de c odigo (que foi realizada neste trabalho) e
faz-se a validac ao do mesmo. Neste caso, o mesmo foi vericado com sucesso, ou seja,
n ao possui erros de formac ao, o que e importante para prover acessibilidade.
Figura 7. Validando o c odigo
Caso o arquivo possua erros ou warnings, o sistema apresenta uma mensagem
ao desenvolvedor informando-o sobre os erros e suas respectivas localizac oes no c odigo,
como mostrado nas Figuras 8 e 9, nas quais foram utilizados o mesmo c odigo da Sec ao 4
removendo-se os cabecalhos do mesmo.
Figura 8. C odigo com erro e warning
X Encontro Anual de Computao - EnAComp 2013
173
Na Figura 8 e visto que 1 erro foi encontrado no documento e 4 warnings, logo,
o c odigo n ao passou na avaliac ao validador. Quando isso ocorre, o desenvolvedor pode
adequar seu c odigo no pr oprio editor da ferramenta e revalid a-lo, ou resubmet e-lo sempre
que necess ario.
J a na Figura 9 e mostrado como o validador indica ao usu ario os erros encontra-
dos e sugest oes de correc ao, o que torna mais f acil a adequac ao do c odigo, visto que o
desenvolvedor pode n ao ter conhecimento do que fez de errado e nem onde cometeu tal
erro.
Figura 9. Indicando quais erros encontrados
6. Contribuic oes da utilizac ao das ferramentas
Com a utilizac ao destas ferramentas torna-se mais f acil ao desenvolvedor prover acessi-
bilidade em formul arios, pois pode-se validar o c odigo vericando se est a bem formado.
Al em disso, caso hajam erros, o validador avisa qual tipo e em qual parte do c odigo est a,
o que auxilia na identicac ao dos mesmos e na sua correc ao efetiva.
Assim, com esse auxlio, torna-se mais f acil o desenvolvimento de formul arios
acessveis, visto que n ao e necess ario conhecer as diretrizes de acessibilidade pois o vali-
dador auxilia nesta parte.
7. Conclus ao
Foi mostrado neste trabalho uma ferramenta que auxilia o desenvolvimento de um for-
mul ario acessvel, sendo a mesma intuitiva e de f acil manuseio. Para tanto, foi realizado
teste em um validador de c odigo para inspecionar se o formul ario e realmente acessvel.
Percebeu-se ent ao que, o c odigo gerado pelo gerador de formul ario e acessvel e us avel.
Contudo, verica-se que a ferramenta n ao indica quais s ao os campos obrigat orios o que
tamb emn ao foi condenado pelo validador de c odigo. Comisso, pode-se sugerir melhorias
para a ferramenta de autoria tais como, mostrar os campos obrigat orios do formul ario.
Logo, percebe-se que os desenvolvedores possuem uma alternativa para desenvol-
ver formul arios acessveis, visto que ambas as ferramentas s ao software livre, ou seja, n ao
gera custo adicional e que s ao de f acil acesso.

E proposto como trabalho futuro a realizac ao de um estudo de caso para melho-


rar a ferramenta, atrelando-a a um validador de acessibilidade, para que em uma unica
ferramenta se tenha as correc oes efetivadas de maneira imediata.
X Encontro Anual de Computao - EnAComp 2013
174
Refer encias
Bittar, T., Faria, F., do Amaral, L., and de Mattos Fortes, R. (2012a). An assessment of ac-
cessibility in contact forms of brazilian public universities. In Information Systems and
Technologies (CISTI), 2012 7th Iberian Conference on, pages 1 6, Madrid, Espanha.
IEEE Xplorer.
Bittar, T. J., do Amaral, L. A., Faria, F. B., and de Mattos Fortes, R. P. (2012b). Sup-
porting the developer in an accessible edition of web communications: a study of ve
desktop tools. In Proceedings of the Workshop on Information Systems and Design of
Communication, ISDOC 12, pages 39, New York, NY, USA. ACM.
Lima, S. T. (2007). Avaliac ao da acessibilidade de stios web por meio de metricas
de software. Mestrado em gest ao de conhecimento e da tecnologia da informac ao,
Universidade Cat olica de Braslia, Braslia - DF.
Maia, L. S. (2010). Um processo para o desenvolvimento de aplicac oes web acessveis.
Mestrado em ci encias da computac ao, Universidade Federal de Mato Grosso do Sul.
Santos, E. P. B. (2012). Acessibilidade em menus de navegac ao horizontais na web para
pessoas de meia-idade. Mestrado em ci encias de computac ao e matematica computa-
cional, Universade S ao Paulo, S ao Carlos - SP.
Sloan, D., Heath, A., Hamilton, F., Kelly, B., Petrie, H., and Phipps, L. (2006). Contextual
web accessibility - maximizing the benet of accessibility guidelines. In Proceedings
of the 2006 international cross-disciplinary workshop on Web accessibility (W4A):
Building the mobile web: rediscovering accessibility?, W4A 06, pages 121131, New
York, NY, USA. ACM.
Sousa, M. F. C. (2011). Acessibilidade web: Uma avaliac ao em portal de instituic oes de
ensino superior visando pessoas com deci encia visual. Monograa, Universidade de
Pernambuco, Pernambuco. p. 89.
Trewin, S., Cragun, B., Swart, C., Brezin, J., and Richards, J. (2010). Accessibility
challenges and tool features: an ibm web developer perspective. In Proceedings of the
2010 International Cross Disciplinary Conference on Web Accessibility (W4A), W4A
10, pages 32:132:10, New York, NY, USA. ACM.
W3C (2000). Authoring tool accessibility guidelines 2.0.
http://www.w3.org/WAI/intro/atag.php. Acessado em 10 de fevereiro de 2012.
W3C (2007). Servico de validac ao de css. http://jigsaw.w3.org/css-
validator/about.html.pt-BR. Acesso em 25 de janeiro de 2013.
W3C (2008). Web content accessibility guidelines (wcag) 2.0.
http://www.w3.org/TR/WCAG20/. Acessado em 10 de fevereiro de 2012.
X Encontro Anual de Computao - EnAComp 2013
175
Otimizao das Bandas Fotnicas Proibidas Absolutas de
Cristais Fotnicos Anisotrpicos Bidimensionais utilizando
Sistemas I munolgicos Artificiais
Anderson Dourado Sisnando
1
,
Vitaly Felix Rodriguez Esquerre
1
, Francismari Noronha dos Santos
1,2
1
Programa de Ps-graduao em Engenharia Eltrica, Universidade Federal da Bahia
Salvador, BA Brasil.
2
Departamento de Tecnologia Eletro-Eletrnica, Instituto Federal de Educao, Cincia
e Tecnologia (IFBA) Salvador, BA Brasil.
ander son. si snando@uf ba. br , vi t al y. esquer r e@uf ba. br ,
mar i . nor onhas@gmai l . com
Abstract. The finite element method (FEM) and artificial immune system(AIS)
were used to solve the inverse probleminvolving the search and optimization
of photonic bandgap (PBG) absolutely crystal structures with periodicity in
two dimensions. Square and triangular arrays composed of tellurium
(anisotropic material) and air was analyzed. The PBGs were calculated along
the first Brillouin zone while avoiding the high computational effort in this
kind of task, obtaining the midgap ratio absolute considering PBGs between
modes TE
12
and TM
34
, of 21.27% and 28.45% for the square and triangular
arrays, respectively.
Resumo. O mtodo dos elementos finitos (FEM) e o sistema imunolgico
artificial (SIA) foramutilizados para resolver o problema inverso envolvendo
a busca e otimizao da banda fotnica proibida (PBG) absoluta de
estruturas cristalinas com periodicidade em duas dimenses. Arranjos
quadrados e triangulares compostos por telrio (Material Anisotrpico) e de
ar foramanalisados. As PBGs foramcalculadas ao longo da primeira regio
de Brillouin, evitando o alto esforo computacional neste tipo de tarefa,
obtendo-se a relao da banda absoluta comseu valor mdio, considerando
PBGs entre os modos TE
12
e TM
34
, de 21,27% e 28,45% para os arranjos
quadrados e triangulares, respectivamente.
1. I ntroduo
Dispositivos baseados em cristais fotnicos (CF) so de grande aplicao nos sistemas
de comunicaes pticas, tais como: demultiplexadores, cavidades ressonantes, filtros
entre outros [J oannopoulos, et al 2008]. Uma forma de otimizar esses cristais implica
em obter estruturas que apresentem uma maior banda fotnica proibida (PBG) para os
modos de propagao desejados, o que permite uma maior largura de banda de
operao. A PBG absoluta em um CF ocorre quando ambos os modos de polarizao
exibem superposio de suas bandas fotnicas proibidas (ou seja, a polarizao
independente). Em qualquer CF a busca e otimizao de PBGs absolutas so obtidas
atravs da explorao dos parmetros: tipo de estrutura, fator de preenchimento, os
ndices de refrao dos materiais, forma e atravs da reduo de simetria.
X Encontro Anual de Computao - EnAComp 2013
176
1.1. Trabalhos Relacionados
Este tipo de problema abordado em [Malheiros, Esquerre e Figueroa 2011], [Li, Gu e
Yang 1998]e [Li, Gu e Yang 1999] com arranjos quadrados e triangulares e PBGs
absolutas foram obtidas. Os efeitos isolados e combinados da reduo de simetria e a
introduo orifcios de ar nos elementos de telrio do cristal foram estudados em
[Zaccaria, et al 2008].
A maximizao da PBG absoluta explorada em [Rezaei, et al 2009], com cris-
tais fotnicos [Kurt e Citrin 2005], usando tambm telrio em diferentes arranjos, con-
siderando diversas geometrias no interior dos cristais (circular, triangular, elptica, re-
tangular e quadrada). Em todos os casos, o mtodo de expanso de ondas planas (PCE)
utilizado. No entanto, a propagao da luz no plano de CFs com arranjos 2-D, inves-
tigada em [Rodriguez-Esquerre, et al 2006] e [Lin e J ao 2007], usando o FEM no dom-
nio da frequncia e os resultados encontrados mostram concordncia quando compara-
dos com os resultados obtidos pelo mtodo PCE. O FEM uma representao numrica
muito flexvel e uma eficiente tcnica de modelagem de dispositivos/componentes no
homogneos e de estruturas complexas. Alm disso, em comparao com o mtodo das
diferenas finitas no domnio do tempo (FDTD) exibe convergncia da mesma ordem e
no tem limitaes de modelagem para estruturas no homogneas.
Neste trabalho, utiliza-se CF compostos por telrio e ar em ambos os arranjos
(quadrado e triangular) considerando o problema inverso para os modos transversais
magnticos e eltricos (TE
12
e TM
34
) atravs do SIA, com o objetivo de comparar com
os resultados obtidos em [Malheiros, Esquerre e Figueroa 2011], que at o momento
obteve melhores resultados, utilizando como mtodo o algoritmo gentico (AG). Uma
caracterstica importante de utilizar o SIA ao invs do AG a possibilidade de achar
novos timos, j que esse tipo de algoritmo poder aumentar o espao de busca, por
possibilitar atravs da clonagem e afinidade uma maior diversidade na populao [Cas-
tro 2006]. O mesmo utilizado em problemas eletromagnticos em [Silva-Santos, et al
2010a], [Silva-Santos, et al 2010b] e [Dourado-Sisnando, et al 2012].
Para o clculo das PBGs, uma formulao baseada no FEM [Rodriguez-
Esquerre, et al 2006], [Quinnez, et al 2006] e [Shi 2010] utilizada. Embora a estrat-
gia proposta aplicada para obter PBGs absolutas em materiais anisotrpicos, a mesma
tambm pode ser aplicada para problemas mais simples, tais como o caso isotrpico e
tambm para uma nica polarizao [Dourado-Sisnando, et al 2012].
Na prxima seo, uma introduo sobre cristais fotnicos (geometria, problema
abordado e arranjos) apresentada. A seo 3 aborda a aplicao do SIA em conjunto
com o FEM, logo depois, os resultados numricos e as geometrias otimizadas so
discutidas e comparadas.
2. Cristais Fotnicos Bidimensionais
Num cristal fotnico, a luz que atravessa o mesmo espalhada pela geometria peridi-
ca, sendo refratada e parcialmente refletida nas interfaces entre os materiais. O padro
resultante das ondas ser reforado ou cancelado dependendo do comprimento de onda
da luz, os ndices de refrao dos materiais, sua direo de propagao atravs do cris-
tal, o tamanho e arranjo das estruturas (geometria), e a partir dessas iteraes aparece
banda fotnica proibida [Malheiros, Esquerre e Figueroa 2011], [Dourado-Sisnando, et
al 2012].
X Encontro Anual de Computao - EnAComp 2013
177
Por apresentarem simetrias, os cristais, podem ter a anlise dos campos e modos
eletromagnticos a partir de clulas unitrias com condies de contorno peridicas. A
partir desta clula obtida a primeira zona de Brillouin, a qual define a regio do espao
dos vetores de onda que determinam os modos de propagao, Figura 1.
y
x
a
a

2 a
2 a
M M
M M
X
X
X
X

y
k
x
k

a
y
x
a

y
k
x
k
M
M
M
M

K K
M
M
K
K
K
K
4 3a
4 3a

(a) (b) (c) (d)
Figura 1. (a) Clula unitria do arranjo quadrado. (b) regio de Brilloui n. (c)
clula unitria do arranjo triangular. (d) regi o de Bri llouin, [Malheiros,
Esquerre e Figueroa 2011].
Devido periodicidade da estrutura cristalina, discretiza-se apenas uma clula
unitria e aplicam-se condies de contorno peridicas para tornar iguais os campos do
topo e da parte inferior, e os campos dos lados esquerdo e direito, da clula unitria. Os
valores de
x
k e
y
k so restritos a primeira regio de Brillouin, Figura 1.
Os dois arranjos utilizados, Figura 1, so representados por elementos circulares
no interior da clula unitria apenas para simplificar o entendimento. A anlise do FEM
em cristais fotnicos 2-D pode ser tratada separadamente para os modos TM e TE como
em [Malheiros, Esquerre e Figueroa 2011].
A regio sombreada (tringulo) nas Figuras 1(b) e 1(e) correspondem regio
irredutvel de Brillouin limitadas por =(0,0)/a, X=(1,0)/a, M=(1,1)/a para o arranjo
quadrado e por =(0,0)/a, K=(2/3, 2 3 3) /a, e M=(0, 2 3 3) /a para o arranjo
triangular.
Neste trabalho, a configurao interna da clula unitria (disposio do material)
considerada, como apresentando a geometria mais arbitrria. Em tal caso, necessrio
resolver em todos os pontos marcados porque a mxima e mnima frequncias esto
naqueles pontos. Logo, calcula-se a PBG para nove e treze pontos, arranjos quadrados
ou triangulares, respectivamente.

(a) (b)
Figura 2. Clul a unitri a dos cri stais fotnicos di vidida em 200 tringulos cor-
respondente ao arranjo (a) quadrado e (b) tri angular, respectivamente [Malhei-
ros, Esquerre e Figueroa 2011].
As PBGs absolutas so obtidas, com o anisotrpico uniaxial (telrio) o qual pos-
sui dois valores de ndice de refrao: 6,2
e
n = (Extraordinrio) e 4,8
o
n = (ordinria)
para comprimentos de onda entre 3.5m e 35m. O eixo extraordinrio considerado
X Encontro Anual de Computao - EnAComp 2013
178
ao longo do eixo z [Li, Gu e Yang 1998]e [Li, Gu e Yang 1999]. As malhas correspon-
dentes s clulas unitrias so apresentadas na Figura 2. Cada tringulo representa uma
parte dos anticorpos e ela poder ser de ar ou telrio.
3. Sistema I munolgico Artificial
O SIA utilizado no intuito de otimizar as bandas fotnicas proibidas absolutas de um
cristal composto de telrio e ar, com arranjos quadrados e triangulares para os modos de
polarizao TE
12
e TM
34
simultaneamente. A banda fotnica proibida calculada
atravs dos ns da primeira zona de Brillouin [Li, Gu e Yang 1998].
Para todas as simulaes so consideradas uma populao de 20 e 50 indivduos
(anticorpos), com evoluo acontecendo durante 1000 geraes. A otimizao da banda
fotnica proibida utilizando os algoritmos bio-inspirados, se mostram uma boa opo,
pois o clculo das bandas proibidas requer tempo de computao relativamente longo, o
que torna invivel realizar uma varredura em todo o universo de possibilidades, que
corresponde a 2
200
. Deste modo, o SIA escolhido, assim como outros algoritmos
evolutivos foram anteriormente utilizados [Malheiros, Esquerre e Figueroa 2011], e [Li,
Gu e Yang 1999] e [Zaccaria, et al 2008] para a soluo de problemas eletromagnticos.
O sistema imunolgico artificial considerado possui as seguintes etapas:
a) Inicializao: A populao inicial (anticorpos) gerada e cada indivduo
representado como uma sequncia binria. Se uma posio "1", o respectivo tringulo
composto por telrio, caso contrrio, o tringulo considerado ser composto de ar.
Considera-se uma clula unitria para cada malha, como observado na Figura 2. Elas
foram divididas em 200 elementos triangulares, resultando em 441 ns, cada tringulo
representa uma posio em cada indivduo (anticorpo).
b) Avaliao: A aptido (fitness) de cada indivduo avaliada pela funo objetivo dada
por:
sup inferio
Funo Objetivo
erior r
mdia
Frequncia Frequncia
Frequncia
-
=

(8)
c) Seleo: Os 50% melhores indivduos (anticorpos) da populao gerada so
selecionados para clonagem e sua probabilidade de ser selecionado proporcional sua
aptido, a seleo por ranking, considerada.
d) Clonagem: selecionados, os indivduos so clonados, de modo a ter novamente o
tamanho da populao inicial, formando uma populao composta dos melhores
indivduos.
e) Mutao: a mutao realizada ocorre a cada gerao.
g) Afinidade: os indivduos que resultam da mutao so avaliados por uma afinidade
(proximidade) de 0,02 (valor mdio selecionado atravs da observao da evoluo do
algoritmo) para os indivduos que foram selecionados na etapa de seleo antes da
clonagem.
h) Avaliao: O fitness de cada indivduo avaliado pela funo objetivo Eq. 8.
i) Elitismo e Supresso: de grande importncia, pois garante que os melhores
indivduos permanecem na prxima gerao, evitando uma possvel reduo do fitness
(aptido), afetando o processo de convergncia. Os trs piores indivduos da gerao
X Encontro Anual de Computao - EnAComp 2013
179
atual so substitudos pelos trs melhores da gerao anterior.
j) Atualizao: os indivduos criados em cada gerao so inseridos na populao.
k) Fim: O critrio de parada considerado o nmero de geraes.


Figura 3. Fluxograma simplificado do SIA utilizado.
4. Resultados Numricos e Discusso
A plataforma computacional utilizada foi um computador com processador Intel
Core i5 2310 (2.90 GHz, 6MB Cache L2), 8GB de RAM com o Windows 7 Home
Basic. considerada a existncia de PBGs absolutas entre os modos TE 1-2 e TM 3-4.
O clculo da banda proibida realizado em 9 e 13 pontos da primeira regio de
Brillouin para os arranjos quadrados e triangulares, respectivamente. Isto reduz
significativamente o esforo computacional e o tempo de processamento. Os resultados
obtidos para os arranjos quadrados e triangulares so apresentados nesta seo.
4.1. Arranjo Quadrado e Arranjo Triangular
As evolues dos fitness em funo do nmero de geraes, bem como as clulas
unitrias resultantes so apresentadas na Figura 4 para o arranjo quadrado e arranjo
triangular. Cada gerao composta por vinte (Figura 4 (a) e (c)) e cinquenta (Figura 4
(b) e (d)) indivduos (anticorpos), nota-se uma evoluo rpida do algoritmo como um
todo. A diversidade de indivduos com diferentes fitness tambm observada, o que
indica que houve uma explorao razovel de busca global caracterizada por indivduos
de baixa aptido. As configuraes das clulas unitrias obtidas para o arranjo quadrado
e o arranjo triangular sobre uma malha de 1010 tringulos so apresentadas como uma
insero na Figura 4 (a) - (d). Por outro lado, muitos indivduos apresentam um bom
valor de fitness. Isto pode ser atribudo a discretizao realizada nas clulas unitrias
para ambos os arranjos. Os cristais optimizados so apresentados na Figura 5. As reas
escuras so telrio. Os diagramas de disperso destas estruturas podem ser vistos na
Figura 6.
A convergncia dos resultados confirma que os cristais obtidos pela optimizao
com o SIA so melhores que em [Malheiros, Esquerre e Figueroa 2011]. As PBGs
absolutas encontradas pelo SIA so maiores que as encontradas pelo AG em [Malheiros,
Esquerre e Figueroa 2011], Tabela 1, demonstrando que o algoritmo desenvolvido
tambm uma tima ferramenta para este tipo de problema.
As geometrias resultantes so consideradas como sendo regies de ar em Telrio
[Malheiros, Esquerre e Figueroa 2011], ao contrrio do encontrado em outros trabalhos
[Li, Gu e Yang 1998] e [Li, Gu e Yang 1999], onde PBGs absolutas podem ser
facilmente encontradas considerando geometrias compostas por hastes dieltricas de
X Encontro Anual de Computao - EnAComp 2013
180
telrio no ar. adotada como estratgia de refinamento a otimizao de uma clula
unitria dividida em 200 tringulos.

(a) (b)

(c) (d)
Figura 4. Evoluo do melhor indivduo do cri stal: com arranjo quadrado (a)
populao com 20 indivduos e (b) populao com 50 indivduos e com arranjo
triangular: (c) populao com 20 indivduos e (d) populao com 50 indivduos.

(a) (b)

(c) (d)
Figura 5. Cristais Fotnicos: arranjo quadrado (a) 20 indivduos (b) 50
indivduos e arranjo tri angular (c) 20 indivduos (d) 50 indivduos.
A mutao utilizada permite explorar um espao de busca maior. Alm disso,
abrange muitas possibilidades de configuraes atravs do tamanho da populao
utilizada. As geometrias resultantes, indicadas nas Figuras 5 e 7, so assimtricas. O
mesmo comportamento pode ser visto em [Malheiros, Esquerre e Figueroa 2011].
X Encontro Anual de Computao - EnAComp 2013
181
Tabela 1. PBG Absoluta para o Arranjo Quadrado e Arranjo Triangular
Cristal com Arranjo Quadrado
Mtodo utilizado em [Malheiros 2011] 20 indivduos SIA 50 indivduos
18,01% 21,24% 21,27%
Cristal com Arranjo Triangular
Mtodo utilizado em [Malheiros 2011] 20 indivduos SIA 50 indivduos
23,49% 25,67% 28,45%
Diferentemente de crculos e elipses, que so as mais tradicionais analisadas, as
estruturas resultantes no so triviais, tornando o processo de fabricao complexo. No
entanto, se PBGs em modos de ordens superiores forem utilizadas, a constante de
arranjo seria maior e a robustez e tolerncia de fabricao melhorada [Malheiros,
Esquerre e Figueroa 2011]. Neste trabalho as PBGs so de modos de ordens inferiores
para serem comparados com os resultados encontrados na literatura [Malheiros,
Esquerre e Figueroa 2011]. O mesmo refinamento considerado para o arranjo
quadrado e triangular.

(a) (b)
Figura 6. Disperso (a) arranjo quadrado (b) arranj o triangular
5. Concluses
A otimizao de bandas fotnicas proibidas absolutas de cristais fotnicos compostos de
telrio e ar, utilizando o mtodo dos elementos finitos em conjunto com o algoritmo de
sistema imunolgico artificial apresentado. Os arranjos cristalinos utilizados foram
quadrados e triangulares e as geometrias resultantes so consideradas como sendo
buracos de ar no telrio. Existe limitaes na fabricao das geometrias encontradas por
serem mais complexas se comparado com hastes dieltricas de telrio no ar ou buracos
de ar num substrato de telrio [Malheiros, Esquerre e Figueroa 2011]. Mas, estas
limitaes podem ser superadas se as PBGs so projetadas para operar em frequncias
menores onde a constante de arranjo aumentada.
Os autores gostariam de agradecer o suporte financeiro da UFBA, IFBA, INCT
Fotonicom, FAPESB, CAPES e CNPq Processo: 302390/2009-0.
Referncias
J oannopoulos, J . D., J ohnson, S. G., Winn, J . N. e Meade, R. D. (2008) Photonic
Crystals: Molding the Flow of Light, 2 ed., Princeton University Press.
X Encontro Anual de Computao - EnAComp 2013
182
Malheiros, G. N. S., Esquerre, V. F. R. e Figueroa, H. E. H. (2011) A Strategy of Search
e Refinement by GA in 2D Photonic Crystals with Absolute PBG, Id: J QE-132416-
2010, n. de pgs: 08. IEEE J ournal of Quantum Electronics.
Li, Z.-Y., Gu, B.-Y. e Yang, G.-Z. (1998) Large absolute band gap in 2- D anisotropic
photonic crystals, Phys. Rev. Lett., vol. 81, no. 12, pp. 25742577, September.
Li, Z.-Y., Gu, B.-Y. e Yang, G.-Z. (1999) Improvement of absolute band gaps in 2-D
photonic crystals by anisotropy in dielectricity, Eur. Phys. J . B, vol. 11, no. 1, pp.
6573, September.
Zaccaria, R. P., Verma, P., Kawaguchi, S., Shoji, S. e Kawata, S. (2008) Manipulating
full photonic band gaps in 2-D birefringent photonic crystals, Opt. Exp., vol. 16, no.
19, pp. 1481214820, September.
Rezaei, B., Khalkhali, T. F., Vala, A. S. e Kalafi, M. (2009) Absolute band gap
properties in 2-D photonic crystals composed of air rings in anisotropic tellurium
background, Opt. Commun., vol. 282, no. 14, pp. 28612869, J uly.
Kurt, H. e Citrin, D. S. (2005) Annular photonic crystals, Opt. Exp., vol. 13, no. 25,
pp. 1031610326, December.
Rodriguez-Esquerre, V. F., Hernndez-Figueroa, H. E., e Koshiba, M. (2006) Modeling
of complex structures devices and applications, in Telecommunications: Advances
and Trends in Transmission, Networking and Applications, Cavalcante, et al, Eds.
Fortaleza, Brazil: Univ. Fortaleza Press, c. 8, pp. 173187.
Lin, M.-C. e J ao, R.-F. (2007) Finite element analysis of photon density of states for 2-
D photonic crystals with in-plane light propagation, Opt. Exp., vol. 15, no. 1, pp.
207218, J anuary.
Castro, L. N. (2006) Fundamentals of Natural Computing Basic Concepts, Algorithms
and Applications, Chapman & Hall/CRC, London, U.K.
Silva-Santos, C. H.; Rodrguez-Esquerre, V. F. e Hernndez-Figueroa, H. E. (2010a)
An Artificial Immune System for Optical Fiber Based Directional Couplers Multi-
plexer/Demultiplexers Design, In: LAOP 2010 - Latin America Optics and Photon-
ics Conference, 2010, Recife, PE.
Silva-Santos, C. H., Gonalves, M. S. e Hernndez-Figueroa, H. E. (2010b) Designing
Novel Photonic Devices by Bio-Inspired Computing, IEEE Photonics Technology
Letters, v. 22, pp. 1777-1779.
Quinnez, F., Menezes, J . W., Cescato, L., Rodrguez-Esquerre, V. F., Hernndez-
Figueroa, H. e Mansano, R. D. (2006) Band gap of hexagonal 2-D photonic crystals
with elliptical holes recorded by interference lithography, Opt. Exp., vol. 14, no. 11,
pp. 48734879, May.
Shi, Y. (2010) A compact polarization beam splitter based on a multimode photonic
crystal waveguide with an internal photonic crystal section, Progress Electromagn.
Res., vol. 103, pp. 393401.
Dourado-Sisnando, A., Santos, F. N., Rodrguez-Esquerre, V. F. e Malheiros, G. N. S.
(2012) Comparacin de Algoritmos Evolutivos Aplicados en La Optimizacin de
Bandas Fotnicas Prohibidas en Cristales Fotnicos Bidimensionales, In: COIN-
TEC 2012 IV Congreso Internacional de Tecnologa 2012, Lima, Peru.
X Encontro Anual de Computao - EnAComp 2013
183
SEDOR - Sistema Especialista para Diagnstico
Odontolgico baseado em Radiografias
Renato Borges
1
, Gabriela Saddi
2
, Rogerio Salvini
1
, Fernanda Yamamoto
3
1
Instituto de Informtica Universidade Federal de Gois (INF-UFG) Goinia GO
2
Associao Brasileira de Odontologia Seo Gois (ABO) Goinia GO
3
Faculdade de Odontologia Universidade Federal de Gois (FO-UFG) Goinia GO
{renatojunior,rogeriosalvini}@inf.ufg.br
Abstract. Obtaining accurate diagnosis in Dentistry has always been a
challenge for professionals, especially those who have just started their
careers. The knowledge required to get to a correct diagnosis, coupled with
the variety of lesions with similar clinical and radiographic findings, led to
the creation of systems for clinical decision support, called Expert Systems. In
this work we presented an expert system to aid the process of diagnosing
benign radiolucent lesions, that integrates a database based on radiographic
features and a user-friendly web interface.
Resumo. A obteno de diagnstico preciso na Odontologia sempre foi um
desafio para os profissionais da rea, especialmente aqueles em incio de
carreira. O conhecimento necessrio para se chegar a um diagnstico
correto, associada variedade de leses com aspectos clnicos e
radiogrficos semelhantes, levou necessidade da criao de sistemas de
apoio deciso clnica, chamados de Sistemas Especialistas. Neste trabalho
apresentamos um sistema especialista de apoio deciso clnica para auxiliar
o diagnstico de leses sseas benignas radiolcidas, que integra uma base
de dados baseada em caractersticas radiogrficas e uma interface web de
fcil utilizao.
1. Introduo
O principal aspecto a ser analisado no atendimento do paciente a necessidade de se
garantir um diagnstico preciso. O planejamento do tratamento e o prognstico so
fundamentados no diagnstico e, por esta razo, faz-se necessrio uma correta
diferenciao das diversas doenas que afetam o complexo oral e maxilofacial. Devido
similaridade na apresentao clnica de vrias entidades patolgicas, embora sejam
distintas suas patogneses e etiologias, a deciso do diagnstico torna-se uma tarefa
rdua [Neville et al., 2009].
O exame radiogrfico uma ferramenta imprescindvel na Odontologia e
constitui um recurso auxiliar do diagnstico, pois apesar do exame clnico ser
imperativo, as radiografias podem contribuir para detectar doenas sseas que no
poderiam ser visualizadas pelo exame fsico.
O uso de sistemas computacionais pelos profissionais de sade tem crescido
significativamente nos ltimos anos. Os avanos tecnolgicos, principalmente da
informtica, tm proporcionado considervel auxlio na rea do diagnstico [Rudin,
1994]. Para profissionais isolados ou menos experientes, esses sistemas de auxlio
X Encontro Anual de Computao - EnAComp 2013
184
diagnstico so benficos por fornecerem uma segunda opinio [Ralls et al., 1986]. Isto
especialmente verdadeiro nas situaes em que pequenas diferenas no julgamento de
diagnstico podem resultar em tratamentos radicalmente diferentes.
Neste trabalho apresentamos um sistema especialista para auxiliar o processo de
diagnstico de leses radiolcidas benignas baseado em caractersticas radiogrficas.
Este sistema, denominado SEDOR (Sistema Especialista para Diagnstico Odontolgico
baseado em Radiografia), foi construdo a partir de estudos cientficos publicados sobre
vrias leses, extraindo-se as caractersticas de cada uma delas. A partir desta base
cientfica as leses foram colocadas de forma analtica em uma base de conhecimento
utilizada pelo sistema para inferir hipteses diagnsticas para auxiliar o
cirurgio-dentista.
Este artigo est organizado da seguinte forma. Na seo seguinte apresentada
uma fundamentao terica bsica sobre sistemas especialistas, e alguns trabalhos
importantes sobre sistemas de diagnstico baseados em radiografias so brevemente
comentados. Na Seo 3 detalhamos o desenvolvimento do SEDOR. A avaliao e
validao do sistema so mostradas na Seo 4. Por fim, na Seo 5, so apresentadas as
consideraes finais do trabalho e as perspectivas para trabalhos futuros.
2. Fundamentao Terica e Trabalhos Relacionados
2.1. Sistemas Especialistas
No existe uma definio exata do que um Sistema Especialista (SE). De acordo com
[Levine et al., 1988] um sistema de inteligncia artificial criado para resolver problemas
em um domnio particular chamado de Sistema Especialista. Em [Bielawski e Lewand,
1988] proposto uma definio mais formal: um Sistema Especialista um programa
que simula o desempenho de um especialista humano em um domnio ou campo
especfico. Pode-se dizer que SE so sistemas que utilizam de conhecimento emprico
baseado na experincia de um profissional humano em uma rea de conhecimento para
resolver problemas deste domnio, procurando chegar a uma concluso utilizando de
forma semelhante a mesma forma de raciocnio que o especialista humano. Dentre os
sistemas especialistas mais conhecidos, podemos citar: MYCIN, PROSPECTOR e
DENTRAL [Alty, 1985].
Podemos dividir a arquitetura de sistemas especialistas em trs componentes
principais: base de conhecimento, motor de inferncia e interface de usurio. A base de
conhecimento o componente responsvel por armazenar as informaes a respeito do
domnio do problema que se deseja resolver. Estas informaes so compostas por fatos
e regras, sendo possvel obt-las por meio do conhecimento de especialistas humanos ou
de bases de dados que muitas vezes so utilizadas por estes profissionais. O motor de
inferncia consulta a base de conhecimento para determinar uma ao a ser realizada. Ele
o mecanismo responsvel por manipular o conhecimento j presente na base de
conhecimento, podendo inferir novos fatos ou chegar a concluses a respeito do
problema. A interface de usurio uma representao grfica que permite o usurio alvo
interagir com o sistema. Nela so exibidas as respostas, as previses e as sugestes
obtidas pelo motor de inferncia.
2.2. Diagnstico Odontolgico baseado em Radiografias
O primeiro exemplo de sistema de computador para uso em diagnstico oral foi
desenvolvido por [Leonard et al., 1973] que baseava-se em um modelo de
X Encontro Anual de Computao - EnAComp 2013
185
reconhecimento de padres linear. Ele buscava fornecer o diagnstico e um plano de
tratamento para dor e disfuno miofacial - um tipo de dor craniofacial. Firriolo criou um
prottipo de sistema para ajudar na anlise e diagnstico baseados em radiografias
panormicas denominado CAREOP (Computer Assisted Radiographic Evaluation of
Oral Pathology) [Firriolo, 1986 apud Siegel et al., 1993].
Um dos principais sistemas de apoio deciso diagnstica baseadas em
radiografias foi desenvolvido por [White, 1989] denominado ORAD (Oral
Radiographic Differential Diagnosis), que utiliza mtodos estatsticos para avaliar as
caractersticas clnicas e radiogrficas de pacientes com leses intrasseas com intuito de
auxiliar na sua identificao. Foram descritas, a princpio, 98 leses dos maxilares pelas
suas prevalncias e distribuio por idade, sexo, raa, presena de dor, nmero, tamanho
e localizao das leses, associao com dentes, expanso, loculao, bordas, contedo
e efeitos nos dentes adjacentes.
Hubar et al. desenvolveram o programa COMRADD (Computerized
Radiographic Differential Diagnosis), que inclui tanto alteraes sseas quanto
anormalidades do elemento dentrio em radiografias. No total, 125 patologias orais
foram categorizadas dentro de uma de cinco diferentes classes, sendo as maiores:
alteraes radiogrficas do elemento dentrio, leses radiogrficas de tecidos moles e
leses radiolcidas, mistas e radiopacas do crnio, maxila e mandbula [Hubar et al.,
1990].
Wiener et al. descrevem um sistema para ajudar no diagnstico de quatro cistos e
oito tumores de origem odontognica, fundamentado em mtodos estatsticos baseado
em achados clnicos e radiogrficos do paciente [Wiener et al., 1986].
3. SEDOR
3.1. Framework
O desenvolvimento do SEDOR se deu utilizando a linguagem de programao Java em
conjunto com um framework de SE. A escolha quanto ao framework utilizado se
motivou principalmente por dois fatores: possibilidade de integrao com outras
linguagens e que possusse uma documentao vasta e de qualidade.
O CLIPS (C Language Integrated Production System) um framework de SE
projetado para facilitar o desenvolvimento de softwares capazes de modelar o
conhecimento humano ou uma percia. Originalmente desenvolvido pela Software
Technology Branch (STB), NASA/Lyndon B. Johnson Space Center, hoje j usado
por milhares de pessoas no mundo todo [Giarratano, 2007].
Outro framework o JESS [Friedman-Hill, 2008], uma biblioteca que integra o
CLIPS e a linguagem Java, por meio de classes e mtodos em Java que fazem chamadas
ao motor do CLIPS. Alm de estar diretamente ligado ao Java, o JESS possui algumas
adies em relao ao CLIPS. Por exemplo, ele permite adicionar objetos instanciados
em Java a sua memria de trabalho. Alm disto, tambm possvel criar e manipular
objetos Java e transferir valores entre o cdigo JESS e Java. O JESS tambm possui uma
ampla documentao e uma licena de uso acadmico.
Desta forma, o JESS foi a escolha final como o framework para desenvolvimento
do SEDOR. A sua integrao com a linguagem Java nos permitiu separar a construo
da base de conhecimento e o motor de inferncia, que processar o diagnstico, de
outros mdulos do sistema, como a interface grfica, por exemplo.
X Encontro Anual de Computao - EnAComp 2013
186
3.2. Representao do Conhecimento
Para formar a base de conhecimento do sistema tivemos a participao ativa de uma
professora da Faculdade de Odontologia da Universidade Federal de Gois (FO-UFG)
especialista em Patologia Bucal, Diagnstico, Radiologia Odontolgica e Imaginologia.
Utilizamos planilhas eletrnicas para expressar o conhecimento do especialista.
Optamos por esta ferramenta pela facilidade de uso e interao, e tambm por ajudar na
converso nas regras de produo. Uma planilha modelo foi usada para gerar as planilhas
de todas as leses estudadas. Seu principal objetivo criar um template do JESS que
permita preencher as diversas propriedades para um diagnstico.
Alm do gnero e faixa etria do paciente, o especialista selecionou os seguintes
atributos radiogrficos para se fazer o diagnstico de uma leso: Densidade,
Localizao, Limites, Forma, Efeitos nos tecidos adjacentes e Interior da leso. Para
cada atributo, o especialista tambm indicou um conjunto de valores possveis que o
atributo poderia possuir.
Na Figura 1 mostrada uma parte da planilha modelo. A coluna A representa o
nome do atributo. A coluna B o peso que aquele atributo exerce no diagnstico final.
A coluna C o percentual relativo ao peso do atributo. A coluna D representa os valores
de cada atributo. As colunas E e F so semelhantes as colunas B e C, porm referem-se
aos pesos e probabilidades dos valores, respectivamente. Por fim a coluna G refere-se ao
tipo de cada atributo que podem ser: u (univalorados, apenas um valor pode ser
selecionado pelo usurio) ou m (multivalorados, mais de um valor pode ser
selecionado).
Figura 1. Planilha modelo
As demais planilhas foram baseadas na planilha modelo e expressam as
caractersticas de cada leso. Foram registradas 29 leses, gerando 29 planilhas. Para
cada leso, o especialista atribuiu um peso para cada atributo referente sua importncia
no diagnstico da leso. Estes pesos foram atribudos pelo especialista baseados em
pesquisas na literatura especfica e na experincia de casos clnicos. Da mesma forma
foram atribudos pesos para os valores dos atributos. Se um valor de atributos ficasse
com valor zero isso indicaria que aquele valor no ocorre em um atributo para uma
X Encontro Anual de Computao - EnAComp 2013
187
determinada leso. A partir dos pesos dados, os percentuais relativos, tanto dos atributos
quanto dos valores do atributo, so calculados automaticamente e sero usados na
avaliao de um diagnstico pelo sistema.
Outra informao contida nas planilhas a frequncia de cada leso, expresso
como um valor real entre 0 e 1, na linha 1 e coluna B da Figura 1. Ela foi utilizada para
expressar a raridade das leses, pois algumas ocorrem com mais frequncia que outras.
3.3. Base de Conhecimento e Motor de Inferncia
O JESS encontra-se na base do sistema. Ele faz a construo das regras e fatos iniciais
na base de conhecimento e o seu motor de inferncias quem faz o processamento para
determinar o melhor diagnstico de uma entrada de sintomas (fatos) presentes na
radiografia de um paciente. O cdigo Java l as planilhas e cria as regras de produo no
formato que compreendido pelo JESS.
O mtodo utilizado pelo motor de inferncia para dar o diagnstico de uma leso
conhecido como soma de pesos. Uma funo linear determina a probabilidade de
cada leso individual por meio da soma dos pesos relacionados a cada caracterstica ou
atributo que contribui com uma parcela da probabilidade final da leso. Aps receber a
entrada do usurio com as caractersticas presentes em uma radiografia, o sistema calcula
para cada leso a probabilidade resultante, somando os pesos de cada valor escolhido
pelo usurio em cada uma delas. Por fim, as probabilidades so ordenadas para
determinar as leses mais provveis.
Foi gerado uma regra para cada valor possvel em uma leso, de forma que, o
antecedente da regra ir validar se o valor foi escolhido pelo usurio, e ento, a regra
ativada e o consequente da regra adiciona a probabilidade correspondente ao peso deste
valor na probabilidade final da leso.
3.4. Interface Grfica
Utilizando JSP (Java Server Pages) e Servlets, presentes na linguagem Java e utilizados
para criao de sistemas Web, foi criada uma interface grfica para a Web que pudesse
executar em um navegador. Essa escolha se deu devido grande difuso dos sistemas
Web, eliminando problemas com instalao ao mesmo tempo que facilita uso do sistema.
O sistema possui trs diferentes telas, acessadas por meio de um menu com as
opes: Diagnstico, Leses e Testes. A tela de Diagnstico apresentada na Figura 2,
nela que o usurio seleciona as entradas para o sistema realizar o diagnstico.
A Figura 3 exibe o resultado do diagnstico aps submeter os valores da tela
anterior. As 5 mais provveis leses so exibidas e logo abaixo tambm mostrado os
valores que foram escolhidos de cada atributo.
No menu Leses, possvel adicionar uma nova leso por meio de uma planilha
no formato de arquivo .csv, utilizado para representar uma leso, alm disto ela tambm
lista todas as leses j presentes no sistema. A tela de Testes permite realizar
diagnsticos a partir de planilhas que descrevem as caractersticas de uma radiografia.
Esta opo semelhante a de Diagnstico, porm ao utilizar planilhas prontas, ela
permite realizar o diagnstico de vrias entradas de uma nica vez, armazenando e
exibindo o resultado final.
X Encontro Anual de Computao - EnAComp 2013
188
Figura 2. Tela de diagnstico
Figura 3. Tela de resultados
4. Testes e Validao
Foram selecionadas 10 radiografias panormicas obtidas por um aparelho radiogrfico
convencional. As radiografias selecionadas tinham o diagnstico definitivo registrado em
seu pronturio, cujo exame anatomopatolgico foi realizado pela disciplina de Patologia
Oral do Departamento de Cincias Estomatolgicas da FO-UFG. Todas as radiografias
apresentavam uma leso benigna de densidade radiolcida e tinham como diagnstico
X Encontro Anual de Computao - EnAComp 2013
189
final umas das 29 leses sseas contidas na base de conhecimento do sistema.
Foram convidados 3 observadores, sendo um acadmico do 6 perodo do curso
de Odontologia, um Radiologista e um Patologista, os dois ltimos com mais de cinco
anos de experincia clnica. Cada observador analisou as 10 radiografias selecionadas e
tinha a opo de escrever at trs hipteses diagnsticas. Depois, os dados analisados
pelo observador foram inseridos no SEDOR e obtidos uma lista de cinco provveis
diagnsticos pelo programa, os quais foram considerados corretos se a leso aparecesse
at o quinto lugar.
Para avaliar as facilidades do sistema, foi tambm realizado um questionrio com
seis perguntas referentes ao sistema, as quais foram respondidas por cada um dos
observadores.
As avaliaes visando a validao do programa foram realizadas pelos trs
observadores. Os valores percentuais de acertos dos observadores convidados e do
sistema so mostrados na Tabela 1. As opinies sobre a usabilidade do sistema so
apresentadas na Tabela 2.
Tabela 1. Valores percentuais de acertos dos observadores e do SEDOR
Acerto sem o SEDOR Acerto do SEDOR
Observador 1 50% 40%
Observador 2 60% 60%
Observador 3 60% 70%
Tabela 2. Nmero de respostas (SIM ou NO) que o sistema obteve dos
observadores para cada pergunta sobre sua usabilidade
Perguntas SIM NO
Voc acha que o programa de fcil manuseio? 3 0
Voc conseguiu utilizar o programa sem a necessidade de explicaes
adicionais?
2 1
O programa apresenta aspectos radiogrficos no avaliados inicialmente? 2 1
Voc utilizaria o programa na prtica clnica? 3 0
Voc adquiriria o programa? 3 0
O programa possui uma boa interface? 2 1
5. Concluso
Os sistemas de apoio deciso clnica tm mostrado bons resultados quando utilizados
para incrementar o conhecimento dos profissionais da Odontologia quando da realizao
de diagnsticos. evidente que tais sistemas no so capazes de sozinhos chegarem a
um diagnstico preciso, mas se converteram em um importante instrumento de apoio,
principalmente para profissionais sem grande experincia em diagnsticos.
Consideramos que o SEDOR atingiu o propsito para o qual foi concebido. Os
percentuais de acerto entre o SEDOR e os observadores so comparveis em relao ao
diagnostico registrado no pronturio das radiografias selecionadas. Alm disso, houve
X Encontro Anual de Computao - EnAComp 2013
190
um alto grau de aceitao do sistema pelos observadores.
No prosseguimento deste trabalho, iremos refinar os pesos das planilhas das
leses j existentes, principalmente aquelas onde h maior dificuldade no acerto do
diagnstico. Alm disso, pretendemos aumentar o nmero de leses da base de
conhecimento para abranger outros grupos de leses e aplicar novas estratgias de
representao. Novos testes sero executados com um nmero maior de casos e de
observadores especialistas, permitindo-nos fazer mais tipos de comparaes.
Referncias
Alty, J. Use of expert systems, Computer-Aided Engineering Journal, 2(1):2-9,
February, 1985.
Bielawski, L.; Lewand, R. Expert Systems Development, QED Information Sciences,
Inc., 1988.
Friedman-Hill, E. Jess the Rule Engine for the Java Platform, Sandia National
Laboratories, November, 2008.
Giarratano, J. CLIPS Users Guide, University of Houston-Clear Lake, december
2007.
Hubar, J.S.; Manson-Hing, L.R.; Heaven, T. COMRADD: Computerized Radiographic
Differential Diagnosis, Oral Surgery, Oral Medicine, Oral Pathology, Alabama, v. 69,
n. 2, p.263-265, 1990.
Leonard, M.S. et al. Automated Diagnosis and Treatment Planning of Craniofacial
Pain, J. Dent. Res., Florida, v. 53, n. 5, p.1155-1159, 1974.
Levine, R.L.; Drang, D. E.; Edelson, B. A Comprehensive Guide to AI and EXPERT
SYTEMS: Turbo Pascal Edition, McGraw-Hill, 1988.
Neville, B.W. et al. Patologia Oral e Maxilofacial, 3 ed. Rio de Janeiro, Elsevier, 2009.
Ralls, S.A.; Cohen, M.E.; Southard, T.E. Computer-Assisted Dental Diagnosis, Dental
Clinic of North America, v. 30, n. 4, p.695-712, 1986.
Rudin, Jonathan L. DART (Diagnostic Aid and Resource Tool): A Computerized
Clinical Decision Support System for Oral Pathology, Compendium, v. 15, n. 11,
p.1316-1328, 1994.
Siegel, M.A.; Firriolo, F.J.; Finkelstein, M.W. Computer Applications in Oral
Diagnosis, Dental Clinics of North America, v. 37, n. 1, p.113-131, 1993.
White, S.C. Computer-aided differential diagnosis of oral radiographic lesions,
Dentomaxillofac. Radiol., v. 18, p.53-59, 1989.
Wiener, F.; Laufer, D.; Ribak, A. Computer-aided diagnosis of odontogenic lesions,
International Journal of Orall and Maxillofacial Surgery, Israel, v. 15, p.592-596,
1986.
X Encontro Anual de Computao - EnAComp 2013
191
Avaliao do Desempenho de Esquemas de Cruzamento em
Algoritmos Genticos na Otimizao de Bandas Proibidas em
Cristais Fotnicos

Francismari Noronha dos Santos
1,2
, Anderson Dourado Sisnando
2
,
Vitaly Felix Rodriguez Esquerre
2
, Gilliard Nardel Malheiros Silveira
3

1
Departamento de Eletrotcnica, Instituto Federal de Educao, Cincia e Tecnologia da
Bahia (IFBA) - Salvador, BA - Brasil.

2
Programa de Ps-graduao em Engenharia Eltrica, Universidade Federal da Bahia
(UFBA) - Salvador, BA - Brasil.

3
Departamento de Microondas e ptica, Universidade Estadual de Campinas
(UNICAMP) - Campinas, SP - Brasil.
mari.noronhas@gmail.com, anderson.sisnando@ufba.br,
vitaly.esquerre@ufba.br, gilliardnardel@yahoo.com

Abstract. The aim of this work is the assessment of two crossover schemes in
genetic algorithms applied for the optimization of the band gap of photonic crystal
structures with two dimensional periodicity and considering the square and
triangular lattices. It was considered the band gap between the first and the second
transverse magnetic modes, denoted TM
12
. The propagation properties of the
crystals are obtained by an efficient finite element method in the frequency domain.
Resumo. O objetivo deste trabalho a avaliao de dois esquemas de cruzamento
em algoritmos genticos aplicados na otimizao da banda proibida em estruturas
de cristal fotnico com periodicidade em duas dimenses e considerando os
arranjos quadrado e triangular. Considerou-se a banda proibida entre o primeiro e
o segundo modos transversais magnticos, denotado TM
12
. As propriedades de
propagao dos cristais so obtidas pelo mtodo de elemento finito eficiente no
domnio da frequncia.

1. Introduo
Dispositivos baseados em cristais fotnicos so de grande aplicao nos sistemas de
comunicaes pticas, tais como: demultiplexadores, cavidades ressonantes, filtros en-
tre outros [Joannopoulos et al. 2008]. Elas apresentam bandas proibidas que so faixas
de frequncias, nas quais a luz no se propaga em nenhuma direo no cristal. Esta pro-
priedade explorada no projeto de novos dispositivos. Uma forma de otimizar esses
cristais implica em obter estruturas que apresentem uma maior banda fotnica proibida
para os modos de propagao desejados, o que permitiria uma maior largura de banda
de operao.
Neste trabalho, a banda fotnica proibida de cristais fotnicos bidimensionais
(arranjos quadrados e triangulares) otimizada, maximizando-a para os primeiros mo-
dos transversais magnticos, denominada TM
12
atravs de algoritmos genticos utili-
zando o cruzamento uniforme, com o objetivo de comparar com os resultados obtidos
em [Malheiros e Esquerre 2007], no qual o cruzamento de dois pontos foi utilizado. A
X Encontro Anual de Computao - EnAComp 2013
192
proposta de utilizar o cruzamento uniforme ao invs do de dois pontos achar novos
timos, j que esse tipo de cruzamento poder aumentar o espao de busca, por possibi-
litar uma maior diversidade na populao.
O algoritmo gentico, assim como outros algoritmos evolutivos, tem se
mostrado uma boa alternativa na soluo de problemas eletromagnticos, que o caso
do problema apresentado neste trabalho. [Malheiros e Esquerre 2007], [Haupt e Werner
2007] e [Preble e Lipson 2005].
So realizadas simulaes considerando uma populao de 20 e 50 indivduos
(cromossomos) em cada gerao, a evoluo acontece durante 1000 geraes para cada
tipo de cruzamento (dois pontos e uniforme).
2. Cristais Fotnicos Bidimensionais
Em um cristal fotnico, a luz que atravessa o mesmo espalhada pela geometria peri-
dica sendo refratada e parcialmente refletida nas interfaces entre os materiais. O padro
resultante das ondas ser reforado ou cancelado dependendo do comprimento de onda
da luz, o ndice de refrao dos materiais, sua direo de propagao atravs do cristal, e
o tamanho e arranjo das estruturas (geometria), e a partir dessas iteraes, aparece
banda fotnica proibida.
Por apresentarem simetrias, os cristais podem ter a anlise dos campos e modos
eletromagnticos a partir de clulas unitrias com condies de contorno peridicas. A
partir desta clula obtida a primeira zona de Brillouin, a qual define a regio do espao
dos vetores de onda que determinam os modos de propagao (Ver Figura 1).

y
x
a
a

2 a
2 a
M M
M M
X
X
X
X

y
k
x
k


0,0
0,1
0,2
0,3
0,4
0,5
0,6


F
r
e
q

n
c
i
a

n
o
r
m
a
li
z
a
d
a

[

a
/
2

c
]
TE
TM

(a) (b) (c)
a
y
x
a

y
k
x
k
M
M
M
M

K K
M
M
K
K
K
K
4 3a
4 3a

0,0
0,1
0,2
0,3
0,4
0,5
0,6



F
r
e
q

n
c
ia

n
o
r
m
a
liz
a
d
a

[

a
/
2

c
]
TM
TE

(d) (e) (f)
Figura 1. (a) Clula unitria do arranjo quadrado [Malheiros, Esquerre e Figueroa 2011].
(b) regio de Brillouin [Malheiros, Esquerre e Figueroa 2011]. (c) estrutura de banda
fotnica para um arranjo quadrado formado por cilindros dieltricos com n=3,6 em ar e
r/a=0,35. (d) clula unitria do arranjo triangular [Malheiros, Esquerre e Figueroa 2011].
(e) regio de Brillouin [Malheiros, Esquerre e Figueroa 2011]. (f) estrutura de banda
fotnica para um arranjo triangular formado por cilindros dieltricos com n=3,6 em ar e
r/a=0,33.
X Encontro Anual de Computao - EnAComp 2013
193
A regio sombreada (tringulo) nas Figuras 1.b e 1.e correspondem regio ir-
redutvel de Brillouin limitadas por =(0,0)/a, X=(1,0)/a, M=(1,1)/a para o arranjo
quadrado e por =(0,0)/a, K=(2/3, 2 3 3 ) /a, e M=(0, 2 3 3 ) /a para o arranjo
triangular.
Nas Figuras 1.c e 1.f so apresentados o comportamento dos vetores de onda pa-
ra os modos TE e TM num cristal com arranjo quadrado e triangular, fica visvel que
para estes casos existe uma Banda Fotnica Proibida entre as frequncias normalizadas
de 0,2-0,24 e 0,2-0,27, respectivamente. As geometrias so geradas no programa compu-
tacional GID
1
e as bandas proibidas so calculadas atravs do mtodo dos elementos
finitos no domnio da frequncia [Malheiros, Esquerre e Figueroa 2011]. Nesse mtodo,
o sistema matricial resultante um problema de autovalores e autovetores. Neste traba-
lho foi considerado um cristal composto de ar e silcio, cujos ndices de refrao so
n=1,0 e n=3,476, respectivamente. As malhas correspondentes s clulas unitrias so
apresentadas na Figura 2. Cada tringulo representa um gene do cromossomo e ele pode-
r ser de ar ou silcio.

(a) (b)
Figura 2. Clula unitria dos cristais fotnicos dividida em 200 tringulos corresponden-
te ao (a) arranjo quadrado e (b) arranjo triangular, respectivamente [Malheiros e Esquerre
2007].

3. Algoritmos Genticos
Para o problema de otimizao da banda fotncia proibida o algoritmo gentico se
mostrou uma boa opo, pois o clculo das bandas proibidas requer de tempo de
computao relativamente longo, o que torna invivel realizar uma varredura em todo o
universo de possibilidades, que corresponde a 2
200
.
O algoritmo gentico utilizado neste trabalho constitudo das seguintes etapas
(ver Figura 3):
a) Inicializao: nesta etapa gerada a populao inicial. Considerou-se uma clula uni-
tria para cada malha, como mostrado na Figura 2. Elas foram divididas em 200 ele-
mentos triangulares, resultando em 441 ns, cada tringulo representa um gene do cro-
mossomo. O indivduo representado como sequncia binria, se o tringulo possuir
valor zero ele composto por ar e caso seja um composto por silcio. Portanto, cada
cromossomo composto de 200 genes (variveis). As simulaes foram feitas com 20 e
50 indivduos.

1
O GID um programa computacional que utiliza o mtodo numrico na anlise de dispositivos.
Informaes sobre o programa podem ser obtidas em: http://www.gidhome.com .

X Encontro Anual de Computao - EnAComp 2013
194
b) Avaliao: consiste em avaliar as aptides das solues, a funo que avalia os indi-
vduos (cromossomos), realizada atravs da seguinte expresso:

100
superior inferior
mdia
Frequncia Frequncia
Funo Objetivo %
Frequncia

=
(1)

c) Seleo: nesta etapa os indivduos so selecionados para reproduo, a probabilidade
de uma determinada soluo ser selecionada proporcional sua aptido, foi utilizada a
seleo por Roulette Wheel [Affenzeler et al. 2009], a qual consiste em colocar os fit-
ness normalizados dos indivduos em uma roleta, a rea a ser ocupada por cada indivi-
duo proporcional ao valor de seu fitness, dessa forma os indivduos com maior fitness
tem mais chances de serem selecionados como pais.
d) Cruzamento (crossover): neste trabalho, foram utilizados os cruzamentos de dois
pontos e uniforme. No cruzamento de dois pontos so sorteados os dois pontos de corte
do par selecionado (cromossomos pais). No cruzamento uniforme uma mscara binria
gerada de forma aleatria, determina de qual dos pais ser selecionado o gene a ser pre-
enchido nos cromossomos filhos. Na Figura 4, a mscara utilizada no cruzamento uni-
forme foi [0,0,1,0,0,1,1,1,0,0,1,0,1,1,0,1,0,0,1,0]. Quando o valor da mscara zero, o
gene a ser herdado pelo filho ser do primeiro pai, e caso este valor seja um, herdar o
gene do segundo pai. Devido ao fato de fazer um sorteio para cada posio, o cruzamen-
to uniforme em mdia tem o seu desempenho superior ao cruzamento de dois pontos
[Linden 2008].
e) Mutao: a cada 5 geraes ocorre a mutao.
f) Atualizao: os indivduos criados (filhos) em cada gerao so inseridos na popula-
o.
g) Finalizao: nesta etapa so verificadas se as condies para o encerramento da evo-
luo foram atingidas. Neste trabalho foi adotado como critrio de parada a quantidade
de geraes.

INCIALIZAO DA
POPULAO
AVALIA BANDA
FOTNICA
PROIBIDA
SELEO
ROULETTE
WHEEL
CRUZAMENTO
DOIS PONTOS E
UNIFORME
MUTAO
AVALIA BANDA
FOTNICA
PROIBIDA
ATUALIZA
POPULAO
ATINGIU
1000
GERAES?
SIM
NO
FIM

Figura 3. Fluxograma simplificado do Algoritmo Gentico utilizado.


X Encontro Anual de Computao - EnAComp 2013
195
Pais
Filhos
Filhos
Crossover de
dois pontos
Crossover
uniforme


Figura 4. Cruzamento de dois pontos e o uniforme. As linhas representam os
pontos de corte.
4. Cristais Fotnicos com Arranjos Quadrado e Triangular
Foram realizadas simulaes com 20 e 50 indivduos com elementos paralelogramos e
tringulos, nas malhas da Figura 2, para os cruzamentos de dois pontos e uniforme. Um
elemento paralelogramo formado por dois tringulos adjacentes.
Nas Figuras 5 e 6 so apresentadas as estruturas cristalinas otimizadas para os
arranjos quadrados e triangulares, respectivamente. Cada cristal formado por 7 clulas
unitrias nas direes horizontal e vertical. As estruturas obtidas com elementos
tringulos foram similares s estruturas encontradas com elementos paralelogramos. Os
resultados referentes banda fotnica proibida dos cristais obtidos com diferentes
cruzamentos e elementos esto apresentados na Tabela 1.

(a) (b) (c) (d)
Figura 5. Cristais Fotnicos do modo TM
12
para o arranjo quadrado com elementos
paralelogramos (a) cruzamento de dois pontos com 20 indivduos (b) cruzamento
uniforme com 20 indivduos (c) cruzamento de dois pontos com 50 indivduos (d)
cruzamento uniforme com 50 indivduos.


(a) (b) (c) (d)
Figura 6. Cristais Fotnicos do modo TM12 para o arranjo triangular com elementos pa-
ralelogramos (a) cruzamento de dois pontos com 20 indivduos (b) cruzamento uniforme
com 20 indivduos (c) cruzamento de dois pontos com 50 indivduos (d) cruzamento uni-
forme com 50 indivduos.
X Encontro Anual de Computao - EnAComp 2013
196

Com base nos resultados apresentados na Tabela 1, foi verificado que com o
cruzamento uniforme obteve-se maiores Bandas Proibidas Relativas (ver Equao 1)
quando o nmero de geraes constante, pois este tipo de cruzamento explora um
maior espao de busca, j que os filhos gerados por esse cruzamento tm sua
composio gene a gene, o que permite uma maior diversidade da populao. O
aumento da banda proibida relativa para o arranjo triangular foi mais acentuado, do que
para o arranjo quadrado, o que demonstra que para este tipo de arranjo o cruzamento
uniforme o mais adequado.

Tabela 1. Banda Proibida Relativa para o Modo TM
12

Cristal com Arranjo Quadrado
20 indivduos 50 indivduos
Elemento Paralelogramo Elemento Tringulo Elemento Paralelogramo Elemento Tringulo
Dois Pontos Uniforme Dois Pontos Uniforme Dois Pontos Uniforme Dois Pontos Uniforme
30,95% 31,67% 29,20% 34,32% 26,49% 31,37% 27,06% 34,25%
Cristal com Arranjo Triangular
20 indivduos 50 indivduos
Elemento Paralelogramo Elemento Tringulo Elemento Paralelogramo Elemento Tringulo
Dois Pontos Uniforme Dois Pontos Uniforme Dois Pontos Uniforme Dois Pontos Uniforme
48,09% 49,18% 48,51% 51,74% 44,81% 49,20% 42,27% 51,65%

As Figuras 7 e 8 apresentam um comparativo da evoluo do melhor indivduo
para cada tipo de cruzamento e tipo de elemento. Foi verificado que no cruzamento
uniforme o valor timo foi atingido antes de completar as 1000 geraes, ou seja,
convergiu mais rpido que o cruzamento de dois pontos.
0 100 200 300 400 500 600 700 800 900 1000
0,00
0,05
0,10
0,15
0,20
0,25
0,30
0,35


B
a
n
d
a

P
r
o
i
b
i
d
a

R
e
l
a
t
i
v
a
Geraes
dois pont os-paralelogramo
uniforme-paralelogramo
dois pont os-tringulo
uniforme-tringulo

0 100 200 300 400 500 600 700 800 900 1000
0,00
0,05
0,10
0,15
0,20
0,25
0,30
0,35


B
a
n
d
a

P
r
o
i
b
i
d
a

R
e
l
a
t
i
v
a
Geraes
dois pontos-paralelogramo
uniforme-paralelogramo
dois pontos-tringulo
uniforme-t ringulo

(a) (b)
Figura 7. Evoluo do melhor indivduo do cristal com arranjo quadrado: (a) populao
com 20 indivduos e (b) populao com 50 indivduos.
X Encontro Anual de Computao - EnAComp 2013
197
0 100 200 300 400 500 600 700 800 900 1000
0,00
0,05
0,10
0,15
0,20
0,25
0,30
0,35
0,40
0,45
0,50
0,55


B
a
n
d
a

P
r
o
i
b
i
d
a

R
e
l
a
t
i
v
a
Geraes
dois pontos-paralelogramo
unf orme-paralelogramo
dois pontos-tringulo
unf iorme-tringulo

0 100 200 300 400 500 600 700 800 900 1000
0,00
0,05
0,10
0,15
0,20
0,25
0,30
0,35
0,40
0,45
0,50

B
a
n
d
a

P
r
o
i
b
i
d
a

R
e
l
a
t
i
v
a
Geraes
dois pontos-paralelogramo
unifome-paralelogramo
dois pontos-tringulo
uniforme-tringulo

(a) (b)
Figura 8. Evoluo do melhor indivduo do cristal com arranjo triangular: (a) populao
com 20 indivduos e (b) populao com 50 indivduos.
A Tabela 2 apresenta o tempo mdio de processamento de cada gerao para
ambos esquemas de cruzamentos, tipo de elementos e arranjos cristalinos. Para todas as
simulaes utilizou-se um Intel Celeron CPU 430 @ 1,80GHz com 2,0 Gb de RAM.

Tabela 2. Tempo mdio de processamento para cada gerao.
Cristal com Arranjo Quadrado
Dois pontos Uniforme
20
indivduos
50
indivduos
20 indivduos 50 indivduos
Elemento paralelogramo 1min 42s 3min 36s 1min 30s 3min 24s
Elemento tringulo 1min 12s 3min 24s 1min 18s 3min 12s
Cristal com Arranjo Triangular
Dois pontos Uniforme
20
indivduos
50
indivduos
20 indivduos 50 indivduos
Elemento paralelogramo 2min 5min 2min 18s 5min 18s
Elemento tringulo 2min 4min 56s 2min 5min

5. Concluses
Com base nos resultados obtidos possvel afirmar que para o problema de otimizao
da banda fotnica proibida para o modo TM
12
dos cristais fotnicos bidimensionais o
cruzamento uniforme mostrou-se melhor que o cruzamento de dois pontos. Isto pode ser
atribudo a maior diversidade dada populao com o cruzamento uniforme, o que
permitiu ampliar o espao de busca e localizar novos pontos de timos. Essa melhoria
obtida com o cruzamento uniforme ficou mais evidente para o arranjo triangular, na
qual banda fotnica relativa apresentou ganhos mais significativos em relao ao
cruzamento de dois pontos.
O estudo com outros algoritmos bio-insprirados e a utilizao de outros
materiais na composio dos cristais fotnicos sero considerados em trabalhos futuros.
Os autores gostariam de agradecer o suporte financeiro da UFBA, IFBA, INCT
Fotonicom, FAPESB, CAPES e CNPq Processo: 302390/2009-0.
X Encontro Anual de Computao - EnAComp 2013
198
Referncias
Affenzeller, H., Wagner, S., Winkler, S. e Beham, A. (2009) Genetic Algorithms and
Genetic Programming: Modern Concepts and Practical Applications. Editora: CRC
Press, Nova York-NY, pginas: 6-7.
Haupt, R. L. e Werner, D. H. (2007) Genetic Algorithms in Electromagnetics. New
York: Wiley.
Joannopoulos, J. D., Johnson, S. G., Winn, J. N. e Meade, R. D. (2008) Photonic
Crystals: Molding the Flow of Light, 2 ed., Princeton University Press.
Linden, R. (2008) Algoritmos Genticos: Uma importante Ferramenta da Inteligncia
Computacional, Editora: Brasport, Rio de Janeiro-RJ.
Malheiros, G. N. S., Esquerre, V. F. R. (2007) Photonic Crystal Band Optimization by
Genetic Algorithms, Microwave and Optoelectronics Conference, 2007. IMOC
2007. SBMO/IEEE MTT-S International, pginas: 734-737.
Malheiros, G. N. S., Esquerre, V. F. R. e Figueroa, H. E. H. (2011) A Strategy of
Search e Refinement by GA in 2D Photonic Crystals with Absolute PBG,
Identificador: JQE-132416-2010, Nmero de pginas: 08. IEEE Journal of Quantum
Electronics.
Preble, S., Lipson, M., e Lipson, H. (2005) 2-D Photonic Crystals Designed by
Evolutionary Algorithms. Appl. Phys. Lett., vol. 86, n. 6, pp. 061111(3).

X Encontro Anual de Computao - EnAComp 2013
199
Avaliao da Usabilidade em Sistemas de Gerenciamento de
Biblioteca: Software SIGA e SophiA
Aparecida de Ftima Vaz
1
, Maria Abadia Pires
1
,

Cristiane de Ftima dos Santos
Cardoso
1
1
Instituto Federal Goiano Campus Uruta (IFG)
Rodovia Geraldo Silva Nascimento Km 2,5. CEP 75790-000 - Uruta - Gois - Brasil.
Fone/Fax: (64) 3465-1900
{cidinha_86v, maria_a_pires}@hotmail.com, crisfsantos@gmail.com
Abstract. Usability is a key requirement for assessing the quality of software,
verification of usability goals will indicate whether it will meet the user
satisfaction or not. Therefore, this work studies were made beyond usability
tests related to management systems and library SIGA Sophia. The usability
tests include experienced users, intermediate and basic and are based on
observation, interviews and performing tasks.
Resumo. A usabilidade um dos principais requisitos para a avaliao da
qualidade de um software, a verificao das metas de usabilidade ir indicar se
o mesmo atender o usurio satisfatoriamente, ou no. Por isso, neste trabalho
foram feitos estudos sobre usabilidade alm de testes referentes aos Sistemas
de gerenciamento de biblioteca SIGA e SophiA. Os testes de usabilidade
contemplam usurios experientes, intermedirios e bsicos e so baseados em
observao, entrevistas e realizao de tarefas.
1. Introduo
No sculo XX com a expanso do uso de computadores surgiram inmeras pesquisas
em IHC (Interao Humano Computador) e ergonomia, mas foi em meados da dcada
de 80 que a palavra usabilidade ganhou notoriedade, ela passou a ser usada para
caracterizar o trabalho do usurio ao utilizar o computador. Rebelo (2009) traz a
definio de usabilidade criada por Nielsen, que estabelece a usabilidade um atributo
de qualidade que avalia quo fcil uma interface de usar, ou seja, reflete a qualidade
da interao com um sistema e est relacionada a diretrizes e metas que facilitem a vida
do usurio.
Diversos so os fatores que podem influenciar na interao com o software, at
mesmo o contexto no qual est inserido, em geral o usurio est envolvido em diversas
tarefas simultaneamente e isso pode ser prejudicial ao bom uso do software. Em
bibliotecas esta situao bastante caracterstica, nelas diversas tarefas so realizadas
em um curto intervalo de tempo, e devem ser feitas com preciso e eficincia. As aes
de consultar, emprestar e devolver obras devem ser realizadas com facilidade e rapidez,
assim o trabalho do bibliotecrio ter maior qualidade no tratamento da informao,
com isso os usurios ficaro mais satisfeitos e a universidade ganha, facilitando no
processo de disseminao do conhecimento. Por isso ter um software que gerencie as
X Encontro Anual de Computao - EnAComp 2013
200
principais funes de forma amigvel torna-se imprescindvel, afinal, a biblioteca
universitria um dos pontos de referncia em uma universidade, representando um
elemento dinmico e propulsor trazendo contribuio cientfica, tcnica, cultural,
humanstica e didtica.
Portanto, de grande valia uma anlise da usabilidade de sistemas gerenciadores
de biblioteca. A seguir sero apresentados conceitos sobre usabilidade, metas
decorrentes da experincia do usurio, e os resultados dos testes de usabilidade em dois
softwares: SIGA e Sophia, sendo o primeiro livre e o segundo proprietrio.
2. Usabilidade
De acordo com Nielsen (1993, p. 26, apud Costa e Ramalho, 2010, p. 111) a usabilidade
est associada a vrios fatores, tais como, a facilidade de aprendizado, eficincia de uso,
facilidade de memorizao, baixa taxa de erros e satisfao subjetiva. Em conjunto,
estes fatores constituem os quesitos primordiais para sua mensurao e
consequentemente a qualidade do software.
Compreender a usabilidade um processo inerente ao bom desempenho do
software, as metas de usabilidade so utilizadas como forma de verificar problemas
quanto a produtividade do usurio ao utilizar o sistema e ao aprendizado eficaz, elas
tambm fornecem solues de interao. Com isso, Preece (2005) define seis metas de
usabilidade: eficcia - uma meta bastante geral e se refere ao quanto um sistema
bom em se fazer o que se espera dele; eficincia se refere maneira como o sistema
auxilia os usurios na realizao de suas tarefas; segurana implica em proteger o
usurio de condies perigosas e situaes indesejveis; utilidade refere-se medida na
qual o sistema propicia o tipo certo de funcionalidade, de maneira que os usurios
possam realizar aquilo que precisam ou que desejam; capacidade de aprendizagem
(learnability) refere-se a quo fcil aprender a usar o sistema; capacidade de
memorizao (memorability) refere-se facilidade de lembrar como utilizar um
sistema, depois de j ter aprendido como faz-lo algo especialmente importante para
sistemas interativos que no so utilizados com muita frequncia.
A usabilidade considerada negativa ou positiva. A usabilidade negativa ocorre
quando existe uma m utilizao do sistema, contribuindo para sua ineficincia e
abandono. Quanto positiva denota as relaes interpessoais, comerciais e
informacionais necessitadas pelo usurio, satisfazendo plenamente a interao com o
sistema.
3. Metas Decorrentes da Experincia do Usurio
Utilizar apenas as metas de usabilidade no suficiente para determinar a qualidade de
um sistema, junto destas h um componente pessoal e subjetivo que deve ser levado em
considerao. Preece et al. (2005) fala das metas decorrentes da experincia do usurio,
que foram criadas para complementar a noo de quo boa a interao com o
software. Portanto, os sistemas devem ser concebidos para serem satisfatrios,
agradveis, interessantes, teis, motivadores e compensadores, aumentando assim a
eficincia e produtividade da interao.
Preece et al. (2005) ressalta ainda que, equilibrar as metas de usabilidade e as
decorrentes da experincia do usurio imprescindvel, e lembra que nem todas as
metas se aplicam a todo produto, pois algumas combinaes so incompatveis.
X Encontro Anual de Computao - EnAComp 2013
201
4. Sistemas gerenciadores de biblioteca
O uso de TI (Tecnologia da Informao) nas bibliotecas vem se aprimorando com o pas-
sar dos anos, existem vrios sistemas gerenciadores de biblioteca no mercado, alguns
gratuitos e outros no. Neste trabalho dois softwares foram testados, SophiA e SIGA,
ambos constitudos de duas partes: o sistema central ou administrativo, no qual admi-
nistradores interagem e o mdulo online direcionado aos usurios da biblioteca.
SophiA Biblioteca um software de gerenciamento de biblioteca proprietrio
muito utilizado, so mais de 2500 clientes, um sistema de soluo modular que opera
de acordo com as normas e padres da biblioteconomia, mas sem exigir conhecimento
profundo em informtica do bibliotecrio. O sistema oferecido em trs verses
distintas (Bsico, Intermedirio e Avanado), sendo que cada verso composta pelo
Mdulo Gerenciador e por mdulos opcionais que permitem ao usurio expandir o
potencial do sistema, o SophiA permite a informatizao da biblioteca de acordo com as
necessidades da Instituio, maiores informaes podem ser obtidas em
(http://www.primasoft.com.br/2006/html/interna_1.php?cod=33).
Um outro software para gerenciamento de biblioteca o Sistema Integrado de
Gesto Acadmica (SIGA), que tm como base para seu desenvolvimento o framework
Miolo, que so aplicaes acessveis via web, utilizando orientao a objetos atravs da
linguagem PHP5. O sistema SIGA possui mdulos que cobrem diferentes reas, sendo
as principais: a biblioteca, recursos humanos e administrao, lembrando que para o
desenvolvimento deste trabalho apenas o mdulo de Biblioteca avaliado. O SIGA
um software livre e faz parte de um grande projeto do governo para informatizao das
instituies federais de ensino, maiores informaes podem ser obtidas em:
( http://www.softwarepublico.gov.br/ ver-comuni dade ?community_id=20428249 ).
5. Reviso Literria
Na literatura no se encontra muitos trabalhos semelhantes a este. Um trabalho que pode
ser destacado apresentado por Evaristo (2011), que analisa as telas de interface do
sistema SophiA sob a tica do bibliotecrio, a usabilidade da tarefa de catalogao do
sistema avaliada com base na opinio de 5 usurios e o mtodo de anlise baseado
em questionrios para medir o grau de satisfao quanto aos itens de interface/interao.
J Marcelino (2008) apresenta uma analise sobre a usabilidade na biblioteca
online do INPE (Instituto Nacional de Pesquisas Espaciais) na qual so realizados testes
com 10 usurios atravs de anotaes e gravaes em vdeo afim de identificar os
problemas de usabilidade e fazer sugestes para melhoria. No referido trabalho os
aspectos visados so: a facilidade de aprendizagem, a baixa taxa de erros, eficincia e
satisfao subjetiva.
Tendo em vista as diversas maneiras de avaliar a usabilidade Pereira (2011),
avaliou a interface por meio de um mtodo analtico (avaliao heurstica) e um mtodo
emprico (teste com usurios), obtendo resultados tanto dos avaliadores quanto dos
usurios. Diante disso, o presente trabalho utiliza mtodo empricos com uma grande
quantidade de usurios e cada meta de usabilidade avaliada, verifica-se tambm as o
alcance das expectativas do usurio atravs das metas decorrentes da experincia do
usurio.
X Encontro Anual de Computao - EnAComp 2013
202
6. Experimento - Testes de Usabilidade
Os testes de usabilidade dos softwares SIGA e SophiA foram realizados no Instituto
Federal Goiano Campus Uruta, contemplando 50 usurios dos mais diversos:
experientes, intermedirios e bsicos nos mdulos online, administradores e avanados
na parte administrativa do sistema. Para os mdulos online foram escolhidos usurios
com pouqussimo ou nenhum conhecimento dos sistemas em questo, sendo a sua
categorizao realizada em funo da experincia no uso de computadores. J nos
mdulos administrativos a classificao foi realizada com base no conhecimento prvio,
usurios frequentes do SophiA foram classificados como administrador, e usurios
experientes, sem conhecimento no uso de software gerenciador de biblioteca foram
classificados como avanado. A princpio seriam feitos testes tambm com usurios
frequentes do SIGA, mas como este sistema ainda est em implantao os testes no
foram possveis, portanto, espera-se algumas distores a favor do SophiA nos mdulos
administrativos, essa questo ser tratada nas anlises.
Os testes consistem da realizao de tarefas por parte de tais usurios e aplicao
de questionrios com o intuito de fazer um comparativo entre os dois softwares. A partir
dos resultados obtidos possvel verificar se as metas de usabilidade esto sendo
cumpridas. Foi estabelecido um roteiro de atividades para o teste, e na realizao do
mesmo, as tarefas realizadas foram cronometradas para definir a eficincia e eficcia.
Para medir o aprendizado e a memorizao foi necessrio dividir o teste em duas etapas:
na primeira as tarefas foram realizadas com o auxlio dos avaliadores e na segunda os
usurios realizaram sozinhos. Foi realizado um pr-teste com usurios selecionados,
apenas 4, para estabelecer medidas de tempos aceitveis para os testes subsequentes,
alm disso, foi determinado o nmero de usurios para estes testes, os valores podem
ser vistos na tabela 1.
Tabela 1. Dados quantitativos para realizao das tarefas
Software/
Mdulo
Tempo Estimado Tempo de eficincia Nmero de
usurios
Especificao dos usurios
SophiA 8 min e 30 segundos 6 min e 48 segundos 10 5 administrativos e
5 avanados
SophiA on-
line
3 minutos 2min e 24 segundos 15 5 experientes
5 intermedirios
5 bsicos
SIGA 8 min e 30 segundos 6 min e 48 segundos 10 5 administrativos
5 avanados
SIGA
on-line
3 minutos 2min e 24 segundos 15 5 experientes
5 intermedirios
5 bsicos
Os princpios avaliados a partir da aplicao do teste foram: eficcia (ser eficaz
no uso), eficincia (ser eficiente no uso), segurana (ser seguro no uso), utilidade (ser de
boa utilidade), learnability (ser fcil de aprender), memorability (ser fcil de lembrar
como se usa). E ainda as metas decorrentes da experincia do usurio: ser satisfatrio,
agradvel, interessante, til, motivador e esteticamente aprecivel. Os resultados, que
podem ser vistos nas tabelas 2 e 3, e na figura 1, sero discutidos a seguir.
5.1 Eficcia e eficincia
A eficcia pode ser entendida como o alcance dos objetivos, enquanto que a eficincia
de um sistema est relacionada com a velocidade de uso do usurio para alcanar seus
X Encontro Anual de Computao - EnAComp 2013
203
objetivos. Com base nessas informaes, as seguintes mtricas foram definidas:
Taxa de eficcia - porcentagem de usurios que conseguiram terminar as tarefas dentro
do tempo determinado.
Taxa de eficincia - porcentagem de usurios que conseguiram terminar as tarefas em
tempo igual ou inferior ao tempo determinado para eficcia reduzido em 20%.
Como pode ser visto na tabela 2, em termos de eficcia dos mdulos online o
desempenho foi ligeiramente melhor no SIGA, os usurios intermedirios conseguiram
rapidamente compreender e interagir com o sistema. J a eficincia foi idntica, com a
diferena que apenas usurios experientes do SophiA conseguiram realizar as tarefas no
tempo determinado, enquanto no SIGA online um usurio intermedirio conseguiu.
Contudo, o que chama a ateno o desempenho na parte administrativa, em que a
diferena foi bastante acentuada, era esperado um excelente desempenho para o SophiA
em funo do conhecimento prvio, o que de fato ocorreu. Os usurios avanados que
no possuam conhecimento prvio em nenhum dos sistemas foram mais eficazes no
SIGA - foram em mdia 6% mais rpidos em relao aos administradores e no SophiA
em mdia 25% mais lentos. No tocante eficincia, o SIGA deixou bastante a desejar.
Assim, as concluses que se pode tirar que o SIGA mais compreensvel para
os novos usurios, mas no os ajuda a ter um desempenho melhor em interaes
subsequentes. Tambm h de se considerar os fatores comportamentais que se traduzem
como resistncia a novos paradigmas. Conforme dito por Turbam et al. (2007), em
face de novos sistemas ocorre uma tendncia natural do usurio em relutar e optar pelos
mtodos antigos, (TURBAN ET AL., 2007).
Tabela 2. Dados sobre taxa de eficincia, eficcia e aprendizado/memorizao
Software/ Mdulo
Tipos de
Usurio
Taxa de
Eficcia
Taxa de Efi-
cincia
Percentual de melhora do tempo en-
tre uma rodada de interao e
outra (aprendizado/memorizao)
Sistema SophiA
Administrador 100% 60% 28,10%
Avanado 60% 40% 34,76%
Sistema SophiA
on-line
Bsico 0% 0% 48,96%
Intermedirio 40% 20% 54,63%
Experiente 100% 100% 43,02%
Sistema SIGA
Administrador 40% 20% 41,72%
Avanado 80% 0% 34,79%
Sistema SIGA on-line
Bsico 0% 0% 43,60%
Intermedirio 80% 20% 33,64%
Experiente 100% 80% 30,97%
5.2 Anlise da Segurana e da utilidade
A segurana serve para a preveno de erros e reduo de riscos, como por exemplo as
proximidades de botes antagnicos salvar-excluir. Em relao segurana do software,
como pode ser visto na figura 1, o SophiA obteve um melhor resultado que o SIGA, as
principais reclamaes foram quanto a falta de organizao dos cones e a ausncia de
botes para retorno ou cancelamento de algumas aes. O SophiA tambm apresentou
como ponto forte o feedback, que deixa o usurio bastante seguro. Nos mdulos online
a avaliao foi a mesma.
X Encontro Anual de Computao - EnAComp 2013
204
Figura 1 Grficos das metas: segurana, utilidade, aprendizado e
memorizao
Para que um sistema tenha utilidade ele deve fornecer o tipo certo de
funcionalidade que o usurio espera dele. No sistema SIGA foram relatados problemas
como: dificuldades na localizao dos cones na interface e tambm disperso de alguns
formulrios. J o sistema SophiA teve problemas com o excesso de campos e m
localizao dos cones principais. Com isso, o SophiA administrativo foi melhor
avaliado, mesmo pelos usurios sem conhecimento prvio, enquanto que os mdulos
online tiveram desempenho semelhante. Poucos usurios consideraram o SIGA
administrativo timo no quesito utilidade.
5.3 Anlise do Aprendizado e Memorizao
O aprendizado tambm conhecido como Learnability e determina a facilidade de
aprender a utilizar um sistema. Como pode ser visto na figura 1, cerca de 30% dos
usurios do sistema SIGA o classificaram como regular, pois tiveram dificuldade no
aprendizado em funo do excesso de cones e vocabulrios incomum. J os usurios
que o classificaram como bom ou timo consideraram os cones como fceis, ou seja,
com a presena de metforas. Curiosamente o mdulo online do SIGA foi o nico que
no obteve voto de regular.
A memorizao est bastante relacionada ao aprendizado, tambm conhecida
como memorability e descrita quando existe a facilidade de lembrar como utilizar o
um sistema aps uma experincia prvia. O sistema SophiA recebeu maior aprovao
dos usurios quanto ao conceito timo tendo 40%, e para o SIGA 20%. Contudo, 30%
dos usurios do SIGA o classificaram como regular, pois encontraram dificuldades na
memorizao devido a ocultao de cones, dificultando a pesquisa bem como a
ausncia de botes cancelar e voltar.
Tanto a memorizao quanto o aprendizado esto intrinsecamente ligados a
experincias prvias. Por isso, os testes foram realizados duas vezes e o tempo medido.
Em seguida foi feito o clculo do quanto o usurio melhorou entre uma rodada de
interao e outra, foram obtidos os seguintes valores: no SophiA os usurio
apresentaram em mdia 31,43% de melhora nos tempos, no mdulo online a melhora
foi bastante significativa e ficou em torno de 48,83%. J no SIGA a melhora foi de
38,25% e no mdulo online de 32,31%. O que claramente evidencia a superioridade do
SophiA online sobre os demais em termos de aprendizado e memorizao. importante
observar que estes valores englobam todos os indivduos envolvidos nos testes, a tabela
2 mostra o ndice de melhora dos tempos por categoria de usurio.
X Encontro Anual de Computao - EnAComp 2013
205
6. Resultados das Metas decorrentes da experincia do usurio
Como foi dito, a satisfao do usurio parte importante do projeto e tem por objetivo
oferecer mais qualidade ao produto, assim, segue a avaliao de algumas metas, os
nmeros relativos a esta avaliao podem ser vistos na tabela 3.
Para que um software seja satisfatrio, ele deve desempenhar e corresponder
todas as expectativas dos usurios. Assim, na tabela 3 observa-se a superioridade do
sistema SophiA sobre o SIGA na meta ser satisfatrio. E para que o sistema seja
agradvel ele deve proporcionar uma interao transparente em que o usurio no se
sinta impedido ou impossibilitado pelo sistema, pode ser percebido que o sistema
SophiA consegue agradar mais os usurios, tanto no sistema como no mdulo online.
Tabela 3: Metas decorrentes da experincia do usurio
Meta ser satisfatrio
Mdulo timo Bom Regular Ruim
SIGA 10% 70% 10% 10%
SophiA 40% 50% 10% -
SIGA online 47% 40% 13% -
SophiA online 40% 60% - -
Meta ser agradvel
SIGA - 70% 30% -
SophiA 40% 40% 20% -
SIGA online 20% 73% 7% -
SophiA online 47% 53% - -
Meta ser interessante
SIGA 20% 50% 30% -
SophiA 40% 30% 30% -
SIGA online 47% 30% 13% -
SophiA online 67% 20% 13% -
Meta ser til
SIGA 20% 70% - 10%
SophiA 70% 30% - -
SIGA online 53% 40% 7% -
SophiA online 67% 33% - -
Meta ser esteticamente aprecivel
SIGA 10% 40% 30% 20%
SophiA 10% 50% 30% 10%
SIGA online 13% 74% 13% -
SophiA online 39% 27% 27% 7%
Meta ser motivador
SIGA 10% 30% 50% 10%
SophiA 50% 20% 30% -
SIGA online 27% 53% 20% -
SophiA online 40% 33% 27% -
O sistema sendo interessante para o usurio provoca mais curiosidade,
correspondendo assim, suas expectativas ao utiliz-lo. Nesta meta destaca-se o SophiA
online, conforme pode ser observado na tabela 3 em que 67% dos usurios o
consideram timo. O sistema tambm deve ser proveitoso e vantajoso, facilitando seu
uso pelos usurios. Observa-se que o sistema SophiA, no quesito utilidade, obteve uma
X Encontro Anual de Computao - EnAComp 2013
206
porcentagem alta em relao ao SIGA, 70% contra 20% de conceito timo. Neste caso
prevaleceu tambm a experincia prvia dos usurios administradores.
O sistema motivador quando ele desperta interesse do usurio e estimula a
interao com o software. Essa meta chama bastante a ateno, pois o desempenho do
SIGA foi bastante inferior. A diferena se d, pelo fato de que, ao abrir o sistema SIGA
o usurio se depara com vrios cones espalhados na interface, o que dificulta as aes,
em contrapartida, no SophiA a interface mais organizada, facilitando a visualizao
dos cones.
O tipo de busca realizada pelo SIGA prejudicou bastante sua avaliao no geral,
o mesmo no aceita qualquer tipo de acentuao nas palavras e no possui a opo de
alto complemento, sendo necessria a digitao correta das palavras.
7. Concluso
Em funo da importncia de se verificar a usabilidade de um sistema, este trabalho
avaliou dois sistemas gerenciadores de biblioteca, e como resultado desse experimento
pode-se perceber que dentre os softwares avaliados o SophiA teve um desempenho
ligeiramente melhor. O principal ponto que levou a aprovao do software foi o fato
dele possuir as caractersticas desejveis em um software desta categoria: a segurana, a
motivao e a utilidade. Por outro lado, os usurios tiveram dificuldades quanto
localizao de funes, pois o sistema possui vrias metforas, as quais nem sempre
esto familiarizados, e as fontes so pequenas dificultando a visualizao. O sistema
SIGA em alguns quesitos como a memorizao no teve muita diferena em relao ao
SophiA, porm os usurios tiveram algumas dificuldades quanto a localizao dos cones na
interface, disperso de formulrios e operaes de busca.
Como trabalho futuro pretende-se fazer uma anlise mais detalhada de algumas
funcionalidades do software SIGA e aplicar outros mtodos de avaliao de usabilidade.
Referncias bibliogrficas
Costa, L. F. e Ramalho, F.A. (2010) A Usabilidade nos Estudos de Uso da Informao:
em cena usurios e sistemas interativos de informao. Perspectivas em cincia da
informao, v.15, n.1, p.92-117, jan./abr.
Evaristo, J. B. (2011) Usabilidade da Tarefa de Catalogao no Sistema de Automao
SophiA biblioteca, Monografia, Universidade Federal de Braslia.
Marcelino, S. C. O (2008) Estudo de usurios de usabilidade de sites de bibliotecas
especializada: o caso da 'biblioteca on line' do Instituto Nacional de Pesquisas
Espacionais (INPE)". Monografia, Instituto Nacional de Pesquisas Espacionais.
Pereira, F. O (2011) Avaliao de Usabilidade em Bibliotecas Digitais: Um estudo de
caso. Monografia, Universidade Federal de Minas Gerais.
Preece, J. (2005) Design de Interao: Alm da Interao Homem-Computador. Porto
Alegre: Bookmam.
Rebelo, I. B. (2009) Interao entre Homem e Computador. Tecnologias Aplicadas a
Sistemas de Informao TASI Apostila desenvolvida para o curso de Sistemas de
Informao. Centro Universitrio Unieuro.
Turban, E. Rainer Jr, R. K. e Potter, R. (2007) Introduo a sistemas de informao:
uma abordagem gerencial. Rio de janeiro: Elsevier.
X Encontro Anual de Computao - EnAComp 2013
207

Padres e diretrizes arquiteturais para escalabilidade
Acrsio J. Nascimento Jr
1
, Pedro Frosi Rosa
2
, Ivens Oliveira Porto
2
, Michel dos
Santos Soares
2

1
Cincia da Computao Universidade Federal de Gois/Campus Catalo (UFG/CAC)
Caixa Postal 536 75.704-020 Catalo GO Brazil.
2
FACOM Universidade Federal de Uberlndia (UFU) Uberlndia, MG Brazil.
acrisiojr@gmail.com, {frosi,michel}@facom.ufu.br,
ivens.porto@gmail.com
Abstract. One issue not fully explored is how to build an architecture for a
scalable system. There are works that discuss principles and general
techniques for scalability, specially about performance improvement.
However, this information is disorganized and unstructured, and are, to an
architect with the responsibility of building a scalable system, a poor source of
information to support his work.
Resumo. Uma questo no totalmente explorada como construir uma
arquitetura para um sistema escalvel. H obras que discutem princpios e
tcnicas gerais para a escalabilidade, especialmente sobre melhoria de
desempenho. No entanto, esta informao desorganizada e no estruturada,
e so, para um arquiteto com a responsabilidade de construir um sistema
escalvel, uma fonte pobre de informao para apoiar o seu trabalho.
1. Introduo
Nos dias atuais, escalabilidade tornou-se uma importante propriedade em sistemas. Com
o volume crescente de usurios e dados que trafegam nas redes, os sistemas devem
atender a esta demanda de maneira mais eficiente possvel. Ento, escalabilidade tornou-
se um desafio para os arquitetos e desenvolvedores. Um exemplo de uso mais evidente
em relao a esta propriedade so as ferramentas de busca (dentre elas, a mais popular:
Google). Ento, como arquitetar um sistema escalvel?
O objetivo deste artigo o de identificar, discutir as diretrizes e tcnicas
arquiteturais para auxiliar arquitetos de sistemas a projetar e construir sistemas
escalveis. As diretrizes e padres deste trabalho so aplicveis particularmente a
sistemas web e sistemas de rede que trabalham com dados armazenados. Durante a fase
de projeto, devem-se observar as diretrizes e tcnicas de escalabilidade para que no se
cometa erros no desenvolvimento. No existe uma estratgia ou diretriz que solucione
todos os problemas relacionados escalabilidade.
Neste trabalho, as diretrizes e tcnicas se preocupam principalmente com a
escalabilidade horizontal, tornando possvel a execuo de um sistema em vrios ns de
processamento de tal maneira que, ao aumentar a quantidade de ns o sistema aumente,
ou mantenha, seu desempenho de maneira satisfatria.
X Encontro Anual de Computao - EnAComp 2013
208

A escalabilidade horizontal tem um fator positivo , custo, que auxilia bastante no
momento de determinar qual tipo de escalabilidade optar. Alm da limitao a que um
determinado n se encontra para se escalar verticalmente.
A escalabilidade vertical possui algumas restries, uma delas o custo, que
inviabiliza seu uso se comparado com as demais formas de escalabilidade. Outro ponto
importante a complexidade de software em uma escalabilidade vertical.
2. Posicionamento de contexto em escalabilidade de sistemas
2.1. Categorias de Escalabilidade
Escalabilidade linear: significa que para cada recurso adicionado a um sistema, o
desempenho aumenta de maneira diretamente proporcional, como mostra a Figura 1. O
fator de escalabilidade aqui igual a 1 [Williams, 2004].

Figura 1. Escalabilidade linear, sublinear e superlinear
Escalabilidade sublinear: significa que para cada recurso adicionado a um
sistema, o desempenho aumenta de maneira no proporcional, e inferior, capacidade
individual dos recursos adicionados, como mostra a Figura 1. O fator de escalabilidade
menor que 1 [Williams, 2004].
Escalabilidade super linear: como mostra a Figura 1 [Williams, 2004], significa
que para cada recurso adicionado a um sistema, o desempenho aumenta de maneira
superior capacidade do recurso. O fator de escalabilidade maior que 1. Isto se d,
porque quando se adiciona um determinado recurso, junto a este pode estar adicionado-
se outros recursos.
2.3. Contexto de Escalabilidade
Construir sistemas de alto desempenho diferente de se construir sistemas escalveis.
Para a construo de sistemas de alto desempenho aplicam-se tcnicas para aumentar a
velocidade de processamento e minimizar o uso de recursos pelo sistema, preocupando-
se apenas em melhorar as mtricas de desempenho de cada n de processamento
individual e no se considera a extenso do sistema como meio para aumentar o
desempenho, como descrito na definio de escalabilidade horizontal.
No ano de 2000, Eric Brewer [Brewer, 2000] fez uma conjectura, que ficou
conhecida como Teorema CAP, que diz o seguinte: Dadas as propriedades de
Consistncia, Disponibilidade e Tolerncia a Particionamento da rede, um servio Web
pode ter no mximo duas destas propriedades. Ela no se aplica apenas a servios Web.
Consistncia um servio dito consistente se todos os clientes que acessam o
objeto de dados vem o mesmo dado, mesmo com a ocorrncia de escritas concorrentes
no objeto de dados.
X Encontro Anual de Computao - EnAComp 2013
209

Disponibilidade para que um sistema distribudo esteja continuamente
disponvel, toda requisio recebida por um n do sistema, que no apresente falhas,
deve ter uma resposta. Em um contexto de acesso a dados, disponibilidade quer dizer
que sempre ser possvel acessar o dado, mesmo que seja uma imagem (rplica) [Porto,
2009].
Tolerncia a parties as definies anteriores de Consistncia e
Disponibilidade so qualificadas com a necessidade de Tolerncia a parties de rede
[Porto, 2009].
A escolha das propriedades de Consistncia e Disponibilidade resulta em
sistemas onde preciso que todos os ns devem comunicar-se para manter a
consistncia dos dados. Exemplos de sistemas deste tipo so: Bancos de Dados
hospedados em um nico local; e Bancos de Dados em cluster (ou qualquer outro tipo
de arranjo). Algumas caractersticas marcantes destes sistemas so o uso de protocolo
2PC (two phase commit) e protocolos de invalidao de cache. Estes so sistemas
distribudos clssicos.
A escolha das propriedades de Consistncia e Tolerncia a Parties resulta em
sistemas onde deve-se tolerar o fato de o sistema parar de responder quando ocorre um
particionamento de rede, j que preciso comunicao entre todos os ns para manter a
consistncia. Exemplos de sistemas deste tipo so Bancos de Dados distribudos,
Sistemas de Travas Distribudas de dados. Algumas caractersticas marcantes destes
sistemas so algoritmos de travas pessimistas, uso de protocolos de quorum, e o fato de
que parties pequenas tornam o sistema indisponvel.
A escolha das propriedades de Disponibilidade e Tolerncia a Parties resulta
em sistemas onde nem sempre se trabalha com dados atualizados. Exemplos de sistemas
deste tipo so DNS (Domain Name System), caches WEB, Coda, Bayou [Demers et. al.
1994]. Suas caractersticas mais marcantes so uso de consistncia temporal (TTL - time
to live), uso de leases [Gray e Cheriton, 1989], algoritmos de travas otimistas e
atualizao otimista dos dados com possvel resoluo de conflitos.
3. Padres Arquiteturais de Escalabilidade
Padres de projeto (Design Pattern), em sua maioria, tratam de problemas relacionados
a armazenamento de dados e uso de transaes.
3.1. Definies e Aspectos
Elaborar arquiteturas de software no uma tarefa fcil. Arquitetos e projetistas
experientes quase nunca criam uma nova soluo. Qualquer sistema composto de
subsistemas. Estes subsistemas disponibilizam uma interface para que possam ser
utilizados por outros subsistemas. Quando subsistemas se tornam grandes e complexos,
interessante que se crie uma fachada de acesso ao subsistema, de tal modo que esta
fachada unifique e facilite o uso do subsistema, como mostra a Figura 2 [Porto, 2009].
X Encontro Anual de Computao - EnAComp 2013
210

Figura 2. Padro fachada
Uma definio ampla do que um padro, segundo [Porto, 2009], a de que um
padro enderea um problema de projeto recorrente que surge em situaes de projeto
especficas, e apresenta uma soluo. Padro arquitetural: expressa o esquema
organizacional estrutural fundamental de um sistema. Ele prov um conjunto
predefinido de subsistemas, especifica suas responsabilidades, e inclui regras e diretrizes
para organizar seus relacionamentos.
Um padro de projeto um esquema para refinar os componentes ou
subsistemas de um sistema, ou o relacionamento entre eles. Ele descreve uma estrutura
comumente recorrente de componentes que se comunicam para solucionar um problema
genrico de projeto em um contexto particular [Porto, 2009], [Gamma et. al., 1995].
3.2. Vantagens no uso de padres
Padres documentam a experincia em projetos de software existentes, o que permite o
uso sistemtico da experincia adquirida em muitos anos de trabalho e auxilia arquitetos
e projetistas menos experientes na criao de sistemas de melhor qualidade.
Identificam e especificam abstraes que esto acima do nvel de classes
individuais e instncias de objetos e de componentes, e detalha suas responsabilidades e
relacionamentos, sendo que estes componentes, juntos e em acordo como padro,
solucionam o problema colocado.
Estabelecem um vocabulrio e um entendimento comuns dos princpios de
projeto, onde os nomes dos padres se tornam parte de uma linguagem de padres que
compartilhada por todos e, esta linguagem facilita a comunicao, o entendimento do
funcionamento do sistema, e a discusso de problemas de projeto, sendo que o nome do
padro pode abstrair sua complexidade e apenas com o nome ser possvel comunicar
toda a soluo de um problema.
Auxiliam na construo de sistemas com propriedades definidas, alm de tratar
tambm de requisitos no funcionais, tais como escalabilidade, confiabilidade,
reusabilidade, disponibilidade, etc.
3.3. Arquitetura Shared Nothing
Auxilia na construo de sistemas facilmente escalveis na horizontal, a partir da
estruturao do sistema em partes independentes, sem compartilhamento de estado
(Shared Nothing), possibilitando a escalabilidade linear. Por exemplo, suponha um stio
onde o usurio fornea seus dados para cadastro e aps isto, o mesmo seja autenticado
na pgina para usufruir dos benefcios oferecidos pelo stio. Normalmente, este tipo de
X Encontro Anual de Computao - EnAComp 2013
211

sistema desenvolvido utilizando-se de uma arquitetura de 3 (trs) camadas tradicional,
sendo elas: apresentao, negcios e acesso a dados [Porto, 2009].
No intuito de aumentar o desempenho da soluo, as camadas so fisicamente
separadas, onde cada camada composta por um cluster de servidores. As camadas de
apresentao e de negcios tm seus dados relativos ao estado do uso do sistema pelo
usurio armazenado em memria, como os que so utilizados por vrias requisies.
Os servidores de cada camada se comunicam para sincronizar o trabalho e para
aumentar a disponibilidade do sistema, alm da comunicao entre as camadas para a
sincronizao de estado. medida que uso do sistema cresce, adicionam-se novos
servidores para atender demanda, escalando-o horizontalmente.
A Figura 3 mostra o aumento da complexidade do sistema com a adio de
novos servidores. Um modelo formal que descreve a escalabilidade linear a lei de
Amdahl [Amdahl, 1967].

Figura 3. Aumento da complexidade do sistema com a adio de novos
servidores e tambm uma possvel soluo com o uso de Shared Nothing
X Encontro Anual de Computao - EnAComp 2013
212

Podem haver sobretaxas de comunicao e sincronizao, mas devem ser as
menores possveis. A idia geral, em um sistema totalmente Shared Nothing, remover
toda a dependncia entre os ns, como mostra a Figura 3.
A estrutura de uma Arquitetura Shared Nothing (SNA) simples, basta que os
ns do sistema sejam independentes. O resultado final da aplicao da SNA depende
muito do problema, apesar do resultado ser sempre ns independentes, os ns
resultantes e suas responsabilidades. A comunicao entre os ns de uma mesma
camada no mais existir, pois ter-se ir apenas comunicao entre camadas.
O padro Sharding, mostrado na Figura 4, proporciona escalabilidade horizontal
para os dados de um sistema, atravs do particionamento dos dados em vrios bancos de
dados, possibilitando uma alternativa de custo mais baixo e sem as limitaes da
escalabilidade vertical que normalmente aplicada a banco de dados.
Figura 4. SNA com Sharding e a Arquitetura de um sistema com Sharding
Um fato relevante que quando h a necessidade de escalar um banco de dados,
ou a camada de dados de uma aplicao, o que geralmente se faz adquirir
computadores com maior capacidade de processamento, escalando verticalmente, e
como se sabe esta abordagem cara e limitada. Nesta situao, a opo escalar o
sistema horizontalmente, realizando uma distribuio dos dados.
Realizar Sharding de um banco de dados, como mostra a Figura 4, significa
dividi-lo em instncias menores, particionando e distribuindo os dados em um nmero
de servidores de banco de dados. Sharding um mtodo de particionamento horizontal
de dados que tem como objetivo a escalabilidade horizontal e o desempenho a um preo
acessvel. O rebalanceamento de dados nos shards pode ser implementado como um
aplicativo separado, que monitora os shards e faz o rebalanceamento dos dados.
3.5. Arquitetura BASE
O padro BASE (Figura 5) permite a construo de sistemas nos quais se troca a
consistncia de dados por escalabilidade ou disponibilidade, atravs da construo de
um sistema que basicamente disponvel, lidando com dados ligeiramente
X Encontro Anual de Computao - EnAComp 2013
213

desatualizados e eventualmente consistentes. O uso de BASE em um sistema significa
que o mesmo ter as seguintes propriedades:
Basicamente disponvel: o sistema ter tolerncia a falhas parciais, mas no a
falhas totais;
Soft state: o sistema trabalhar com dados ligeiramente desatualizados;
Consistncia eventual: a propriedade de consistncia, como especificada no
Teorema CAP, no ser respeitada, isto , uma escrita em determinado dado no
ser visvel a todo o sistema imediatamente, mas eventualmente o novo valor do
dado ser propagado para todo o sistema e todos os clientes e ns do sistema
vero o mesmo dado [Vogels, 2008].
Talvez o uso mais conhecido do padro BASE seja o sistema DNS (Domain
Name System). Os dados so particionados entre vrios servidores.
Figura 5. Estrutura de uma Arquitetura BASE com cache distribudo
4. Concluso
Recentemente muita importncia tem sido dada a sistemas escalveis, pois praticamente
todo sistema desenvolvido nos dias de hoje tem entre seus requisitos no funcionais a
escalabilidade. O padro Arquitetura Shared Nothing objetiva a construo de sistemas
com escalabilidade linear atravs do uso de vrias instncias independentes do sistema
evitando o aparecimento de gargalos. O padro Sharding uma alternativa para escalar
os dados de um sistema, onde existem umas partes mais difceis de serem escaladas
horizontalmente. BASE um padro amplo que ataca vrios problemas, onde se troca
uma consistncia forte dos dados por disponibilidade e tolerncia a parties e se ganha
em consequncia escalabilidade e desempenho.

X Encontro Anual de Computao - EnAComp 2013
214

5. Referncias
Amdahl, G. M., (1967). Validity of the single processor approach to achieving large
scale computing capabilities. In AFIPS 67 (Spring): Proc. of the April 18-20, spring
joint computer conference, pp. 483485, Atlantic City, New Jersey. ACM.
Brewer, E. A. (2000). Towards robust distributed systems (abstract). In PODC. 00:
Proc. of the nineteenth annual ACM symposium on Principles of distributed
computing, p. 7, Portland, Oregon, United States. ACM.
Demers, A., Petersen, K., Spreitzer, M., Terry, D., Theimer, M., e Welch, B., (1994),
The Bayou Architecture: Support for Data Sharing among Mobile Users.
Gamma, E., Helm, R., Johnson, R., e Vlissides, J. (1995). Design pat terns: elements of
reusable object-oriented software. Addison-Wesley Professional.
Gray, C. e Cheriton, D., (1989). Leases: an effient fault-tolerant. mechanism for
distributed le cache consistency. In SOSP 89: Proceedings of the twelfth ACM
symposium on Operating systems principles, pp. 202210, ACM.
Porto, Ivens O. (2009), Dissertao de Mestrado sob o ttulo Padres e diretrizes
arquiteturais para escalabilidade de sistemas, FACOM-UFU.
Vogels, W. (2008). Eventually Consistent. Queue, 6(6):1419.
Williams, L. G. and C. U. S (2004). Web Application Scalability: A Model Based
Approach. Technical report, Computer Measurement Group Conference (CMG04).
X Encontro Anual de Computao - EnAComp 2013
215
Otimizac ao de circuitos usando Simulated Annealing
Vinicius Veroneze R. Costa
1
, Ivan S. Sendin
1
1
Departamento de Ci encia da Computac ao Universidade Federal de Goi as
Campus Catal ao (UFG)
75.704-020 Catal ao GO Brazil
veroneze@gmail.com, ivansendin@yahoo.com
Abstract. In this paper, the Simulated Annealing optimization method is studied
in a introductory way, seeking to build an initial idea about its use in modeling
for circuit design optimization. Graphics and the resulting conguration are
shown proving the efciency, exibility and reliability of the method.
Resumo. O m etodo Simulated Annealing e estudado de forma introdut oria
neste artigo, buscando construir uma ideia inicial sobre seu uso e desenvolvi-
mento numa modelagem para otimizac ao de design de circuitos. S ao mostrados
gr acos e a congurac ao resultado comprovando a ec acia, exibilidade e con-
abilidade do m etodo.
1. Introduc ao
Na metalurgia, annealing (recozimento) e o processo de aquecer um metal e em seguida
resfri a-lo lentamente para reduzir seus defeitos, otimizando sua estrutura. Aquecer o
metal faz com que os atomos movimentem-se aleatoriamente, mas controlando o aquec-
imento e resfriamento, aumenta-se a probabilidade de que os atomos se reorganizem em
cristais maiores, com menor energia interna e, consequentemente, com menos defeitos.
A vers ao para computadores do Simulated Annealing imita a vers ao metal urgica,
determinando menores nveis de energia interna para a func ao objetivo, muitas vezes
chamada de func ao custo. O algoritmo inicia com uma temperatura elevada que
lentamente e reduzida enquanto se realizam modicac oes elementares, buscando uma
aproximac ao do mnimo global da func ao objetivo.
Existemv arios problemas de otimizac ao que se tornamintrat aveis quando se usam
m etodos combinat orios, principalmente se a quantidade de elementos apresenta grande
dimens ao. Para estes problemas, uma metaheurstica para otimizac ao estoc astica, como
Simulated Annealing, e altamente efetiva.
2. O M etodo
A execuc ao do algoritmo Simulated Annealing ocorre da seguinte maneira:
Dada uma congurac ao incial S
i
Obtem-se a temperatura inicial T
Enquanto o sistema n ao est a solidicado, repita:
Modicac ao elementar em S
i
obtendo S
j
Determinac ao da variac ao de energia E
X Encontro Anual de Computao - EnAComp 2013
216
Regra de aceitac ao de Metropolis:
Se E 0, a modicac ao e aceita.
Se E 0, a modicac ao pode ser aceita com probabilidade e
E
T
Reduc ao paulatina de T
Retorne a congurac ao otimizada.
De acordo com [Dreo 2006], a temperatura pode ser um simples elemento con-
trol avel do algoritmo ou pode-se criar uma func ao que a determine, baseada nos
par ametros do problema em quest ao. Na maioria dos casos, pode-se determinar a temper-
atura empiricamente sem perdas na qualidade de execuc ao do algoritmo. Para a reduc ao
da temperatura, e recomend avel que se aplique
T = T, | 0, 5 0, 9 (1)
Para a modicac ao elementar em S
i
, a variac ao de posic ao de um elemento
aleat orio pode ser suciente, mas inverter a posic ao de dois elementos tamb em pode ser
uma boa escolha.
Para a determinac ao da variac ao de energia E, primeiro dene-se a func ao obje-
tivo f (s), que ter a seu valor determinado com base em uma congurac ao passada como
par ametro. Assim, poderemos obter a variac ao de energia:
E = f (S
j
) f (S
i
) (2)
Quando E 0, a modicac ao e aceita e faz-se S
i
= S
j
, mas quando E 0,
S
j
s o ser a aceito se e
E
T
R(0, 1), onde R(0, 1) e um n umero real entre 0 e 1 gerado
aleatoriamente. Note que quanto maior o valor de T, maior a probabilidade de S
j
ser
aceito.
3. O problema
Suponha um circuito com nxm elementos iguais e que cada elemento tenha v conex oes
com outros elementos. A func ao objetivo pode ser determinada como:
f =
q

i=0
v

j=0

(x
j
x
i
)
2
+ (y
j
y
i
)
2
(3)
onde q e a quantidade de elementos do circuito e v e a quantidade de vizinhos de cada
circuito, ou seja, a quantidade de elementos conectados ao elemento q, (x
i
, y
i
) s ao as
coordenadas do elemento q e (x
j
, y
j
) s ao as coordenadas do vizinho v atual. Note que
a func ao custo e simplesmente a soma da dist ancia euclidiana entre os elementos e seus
elementos vizinhos, ou seja, a soma do comprimento das conex oes entre os componentes
do circuito.
Uma aplicac ao para o m etodo Simulated Annealing e a otimizac ao de circuitos
eletr onicos, para obter uma melhor disposic ao dos elementos e diminuir o custo com o
material utilizado nas conex oes entre eles.
Foi criado um circuito de 5 x 5 elementos, e com 80 conex oes, conforme a
(Figura 1). Os quadrados vermelhos representam os componentes do circuito e as lin-
has azuis representam as conex oes.
X Encontro Anual de Computao - EnAComp 2013
217
Figure 1. Circuito com a congurac ao inicial
Esta congurac ao inicial apresentou custo de 143,73 para as 80 conex oes exis-
tentes, o que totaliza 1,797 de custo m edio por conex ao. Foi executado o algoritmo do
Simulated Annealing com T = 100, 85, = 0, 9 e foi determinado que a congurac ao
inicial estaria solidicada ap os 10.000 iterac oes. Em aproximadamente 18 segundos o
algoritmo retornou uma congurac ao otimizada.
Figure 2. Circuito com a congurac ao otimizada
Na congurac ao otimizada, o custo total foi de 80, levando a 1 como custo m edio.
Perceba que esta congurac ao se trata de um mnimo global, e n ao somente um mnimo
local ou uma aproximac ao ao mnimo global (Figura 2).
Um gr aco da execuc ao e mostrado na (Figura 3).

E interessante observar que nas primeiras iterac oes ocorre um aumento na func ao
X Encontro Anual de Computao - EnAComp 2013
218
Figure 3. Gr aco Iterac ao x Custo
custo devido ao fato de os valores de T ainda serem altos. Esses valores aumentam a
probabilidade de ser aceita uma soluc ao que n ao possua custo menor que o atual, ou seja,
e
E
T
R(0, 1) ser a verdadeiro mais vezes para valores maiores de T. Detalhou-se o
incio da execuc ao do algorimo na (Figura 4).
At e a 10
a
iterac ao o algoritmo seleciona uma congurac ao comcusto mais alto que
o inicial. Entre as iterac oes 10 e 40 s ao escolhidas congurac oes com custos menores,
mas que s ao descartadas em detrimento a congurac oes com custo maior. Isso se trata
da capacidade do algoritmo de fugir dos mnimos locais, na busca pela aproximac ao ao
mnimo global.
Em circuitos de maior dimens ao, o algoritmo retornou mais vezes uma
congurac ao com custo aproximado ao mnimo global da func ao ao inv es do mnimo
global exato, como na congurac ao com 5x5 elementos. Em uma das execuc oes, foi ger-
ado um circuito 10x10 (100 elementos, 360 conex oes) que apresentou custo 1734. Ap os a
aplicac ao do Simulated Annealing, foi retornada uma congurac ao com custo de 421, que
representa 1,17 de custo por conex ao. O mnimo global retonaria um custo por conex ao
com valor 1,0. A execuc ao do algoritmo, nesse caso, se deu em 73 segundos.
4. A implementac ao
Apesar de n ao haver grandes complicac oes para a implementac ao do algoritmo, alguns
desaos surgiram e relatam-se a seguir.
Foi escolhida a linguagem Python para a implementac ao, principalmente pela sua
capacidade de manipulac ao de listas. Na (Figura 5) est a o c odigo da func ao que realiza o
Simulated Annealing.
A func ao recebe 4 par ametros:
a e a congurac ao inicial do circuito
X Encontro Anual de Computao - EnAComp 2013
219
Figure 4. Primeiras 60 iterac oes
t e a temperatura inicial
n e a quantidade de iterac oes
alfa e o fator de decremento da temperatura
O algoritmo repete por n iterac oes, calculando o delta, que e a diferenca entre
o custo da congurac ao modicada e o custo da melhor congurac ao atual. Caso delta
seja menor que 0, signica que a congurac ao modicada e melhor que a atual, ent ao
temos uma nova melhor congurac ao. Caso delta n ao seja menor, se e
E
T
R(0, 1), a
congurac ao e aceita mesmo tendo custo maior. Em seguida, t e decrementado propor-
cionalmente a alpha. Ao nal, o algoritmo retorna a melhor congurac ao encontrada.
Note na linha 8 a chamada ` a func ao perturba. Essa func ao e a respons avel por
trocar a posic ao de 2 elementos aleat orios da congurac ao.

E importante ressaltar o uso constante de copy.deepcopy(). Como o Python tra-


balha com refer encias, principalmente com as listas, que s ao objetos, fazer Si = Sj est a
criando uma refer encia somente, ou seja, quando chama-se perturba(Sj), na verdade Si
est a sendo passado como argumento, o que n ao deixar a outra congurac ao para com-
parar o custo, por isso a necessidade do uso de copy.deepcopy(). Apesar do alto custo
computacional dessa func ao, o algoritmo foi executado rapidamente.
5. Conclus ao
Neste trabalho buscou-se introduzir o algoritmo do Simulated Annealing, usando uma
aplicac ao em otimizac ao de design de circuitos. Foi observado que ele consegue encontrar
o mnimo global da func ao custo na maioria das vezes, bastando ajustar os argumentos de
entrada, principalmente a temperatura e a quantidade de iterac oes.
Nos pr oximos trabalhos pretende-se desenvolver o Simulated Annealing para re-
namento de protenas, com estrutura tridimensional e aplicac oes na Bioinform atica. Um
X Encontro Anual de Computao - EnAComp 2013
220
Figure 5. C odigo da func ao principal do Simulated Annealing
dos primeiros passos ser a o desenvolvimento de uma func ao para determinar a temper-
atura inicial do modelo para substituir a temperatura emprica que utilizou-se nesse tra-
balho.
References
Dreo, J. (2006). Metaheuristcs for Hard Optimization. Springer.
Gielen, G., Walscharts, H., and Sansen, W. (1990). Analog circuit design optimization
based on symbolic simulation and simulated annealing. Solid-State Circuits, IEEE
Journal of, 25(3):707 713.
Ji-Yang, Q. (2010). Application of improved simulated annealing algorithm in facility
layout design. In Control Conference (CCC), 2010 29th Chinese, pages 5224 5227.
Kumar, M. (2012). An information guided framework for simulated annealing. In Amer-
ican Control Conference (ACC), 2012, pages 827 832.
X Encontro Anual de Computao - EnAComp 2013
221
Considerac oes sobre um desenvolvimento acessvel por meio
do registro de Design Rationale
Humberto Lidio Antonelli
1
, Thiago J. Bittar
1
, Luanna L. Lobato
1
1
Departamento de Ci encias da Computac ao Universidade Federal de Goi as (UFG)
Avenida Dr. Lamartine Pinto de Avelar, 1120 Setor
Universit ario 75.704-020 Catal ao GO Brazil
humberto.antonelli@gmail.com, jabur@icmc.usp.br, lll@catalao.ufg.br
Abstract. The Internet is an important means of transmitting information, pro-
viding interaction between people, in order to conduct business, education and
government services. However, some accessibility problems, related to Web con-
tent, have been contributed to difcult the acess by the users, particularly those
that present some disability. In this sense, this paper discusses issues about
acessibility, presenting a study on the system accessible development, using De-
sign Rationale as way to capture the best project decisions, which can be reused
as lessons learned about accessibility considerations, that need be considered
during project development acessible.
Resumo. A Internet e um importante meio de transmiss ao de informac ao, pro-
porcionando interac ao entre pessoas, am de realizar neg ocios, educac ao e
servicos governamentais. Por em, alguns problemas de acessibilidade, relacio-
nados ao conte udo Web, t emcontribudo para dicultar o acesso pelos usu arios,
principalmente aqueles com algum tipo de deci encia. Neste sentido, o presente
artigo aborda quest oes sobre acessibilidade, apresentando um estudo sobre o
desenvolvimento de um sistema acessvel, utilizando Design Rationale como
forma de capturar as melhores decis oes de projeto, que podem ser reutilizadas
como lic oes aprendidas sobre as considerac oes de acessibilidade, que precisam
ser consideradas durante o desenvolvimento de um projeto acessvel.
1. Introduc ao
Atualmente, devido a popularizac ao da Internet, grande parte das tarefas di arias passaram
a ser desempenhadas por meio da Web, tornando-a indispens avel na rotina da maioria das
pessoas. Desse modo, a Interface Humano-Computador (IHC), area respons avel pelos
aspectos que evolvem a relac ao homem-m aquina, tornou-se essencial no desenvolvimento
de qualquer aplicac ao Web, buscando alcancar sempre uma interface amig avel, de f acil
entendimento e, principalmente, acessvel.
Para tanto, a acessibilidade e uma area que merece destaque, a qual possibilita
que qualquer pessoa possa usufruir dos benefcios de uma vida em sociedade, ou seja, e a
condic ao de participar de todas as atividades, at e aquelas que incluem o uso de produtos,
servicos e informac ao, como mnimo de restric oes possvel [ABNT 2004]. Na Web, o uso
de recursos tamb em n ao deve ser diferente, para isso diversos org aos criaram diretrizes e
modelos que norteiam o processo de inclus ao de acessibilidade de maneira padronizada e
f acil, a m de que a Web seja acessvel para todos.
X Encontro Anual de Computao - EnAComp 2013
222
O processo de inclus ao de acessibilidade em aplicac oes Web exige que, al em
da conscientizac ao sobre a import ancia do tema entre os desenvolvedores e demais res-
pons aveis por sua concepc ao, tamb em seja realizada avaliac oes por meio de ferramentas
e t ecnicas de acessibilidade. Neste sentido, e importante ressaltar que a busca por aces-
sibilidade deve ser um processo contnuo, visto que a aus encia de acessibilidade gera
consequ encias, como, por exemplo, grupos de pessoas com diculdades para acessar e
obter informac oes [Pinto 2009].
Esta artigo apresenta considerac oes sobre o desenvolvimento de um sistema Web
acessvel, para utilizac ao real pelo Departamento de Ci encias da Computac ao da Universi-
dade Federal de Goi as (UFG), C ampus Catal ao. Por meio desse desenvolvimento visa-se
identicar problemas que possam dicultar ou impedir o acesso aos recursos disponveis
no sistema para qualquer pessoa com deci encia e implementar soluc oes que resolvam
tais problemas, fazendo considerac oes sobre as barreiras de acesso identicadas e como
foram reduzidas ou n ao.
O grande prop osito deste trabalho e retratar a import ancia de um desenvolvimento
Web acessvel, baseado nas diretrizes de acessibilidade, mostrando considerac oes apli-
cadas sobre o desenvolvimento de um sistema real. Neste sentido, busca-se com este
trabalho possibilitar a contribuic ao para o incentivo do processo de acessibilidade em sis-
temas Web, uma vez que a possibilidade de acesso e direito de v arios tipos e pers de
usu arios e, assim, deve ser garantido a todos.
Diante do exposto, a relev ancia da pesquisa consiste em estimular os desenvolve-
dores a adaptarem seus projetos de interface para pessoas com deci encia, aproximando
os sistemas ao cen ario ideal de uso, uma vez que considera as quest oes de acessibilidade.
Assim, neste trabalho s ao destacadas as premissas em relac ao ` as lic oes aprendidas por
meio do desenvolvimento de um sistema para uso real.
Este artigo est a organizado da seguinte forma: a Sec ao 2 descreve sobre os con-
ceitos de acessibilidade empregados no desenvolvimento deste trabalho, na Sec ao 3 s ao
apresentados os conceitos de Design Rationale. A metodologia utilizada e abordada na
Sec ao 4. A Sec ao 5 apresenta uma breve descric ao da ferramenta desenvolvida a partir
das diretrizes de acessibilidade. Os resultados e considerac oes sobre o desenvolvimento
s ao apresentados na Sec ao 6. Por m a Sec ao 7 apresenta as conclus oes.
2. Acessibilidade na Web
A acessibilidade na Web visa garantir que pessoas com deci encia possam perceber, en-
tender, navegar e interagir com a Web, para que, ent ao, livre de barreiras, elas tamb em
possam contribuir [Rutter et al. 2006]. Acessibilidade na Web tamb em benecia outras
pessoas, incluindo pessoas idosas com capacidades de movimentac ao reduzida devido ao
envelhecimento. Al em disso, engloba todas as deci encias que afetam o acesso ` a Web,
seja visual, auditivo, da fala, fsicas, cognitivas e/ou neurol ogicas [W3C 2005].
Embora o acesso as aplicac oes Web pelas pessoas com deci encia seja o prin-
cipal foco da acessibilidade na Web, ela tamb em benecia pessoas sem deci encia
[Rutter et al. 2006]. Por exemplo, a criac ao de sites que sejam exveis para atender
as necessidades de diferentes usu arios aumenta a usabilidade em geral e, permite que as
pessoas sem deci encia usem esses sites de acordo com suas prefer encias, como, por
exemplo, o uso de qualquer navegador.
X Encontro Anual de Computao - EnAComp 2013
223
Com o objetivo de tornar a Web acessvel a um n umero cada vez maior de pessoas
e de lev a-la ao potencial m aximo de interoperabilidade, o W3C criou a WAI, que mant em
grupos de trabalho elaborando conjuntos de diretrizes e recursos que ajudam garantir
a acessibilidade do conte udo Web ` as pessoas com deci encias, ou que acessam a Web
em condic oes especiais de ambiente, equipamento, navegador e outras ferramentas Web
[W3C 2005].
As diretrizes propostas pelo W3C comp oe um conjunto de tr es documentos como
recomendac oes, as quais descrevem os recursos necess arios para alcancar diferentes
nveis de acessibilidade, al em de incluir listas de refer encia e t ecnicas de implementac ao,
os quais s ao:
Web Content Accessibility Guidelines (WCAG): e voltada para o conte udo das
p aginas Web, visto que explica como tornar o conte udo de sites mais acessvel ` as
pessoas com deci encia.
WCAG 1.0: e composta de recomendac oes gerais e pontos de vericac ao
especcos que s ao divididos em 3 nveis de prioridade.
WCAG 2.0: atualizac ao da WCAG 1.0 para abranger tecnologias mais
avancadas da Web.
Authoring Tool Accessibility Guidelines (ATAG): e destinada para fabricantes
de ferramentas de criac ao de conte udo, pois fornece orientac oes para que pos-
sam implementar funcionalidades em seu produto que ajude ao desenvolvedor de
conte udo ` a obedecer as recomendac oes descritas na WCAG.
User Agent Accessibility Guidelines (UAAG): e voltada para desenvolvedores de
navegadores e reprodutores multimdia, incluindo tamb em alguns aspectos das
tecnologias assistivas. Explica como desenvolver navegadores acessveis para pes-
soas com deci encia.
Para o desenvolvimento deste trabalho foram utilizadas as diretrizes propostas
pela WCAG 2.0, visto que e o documento mais atual que norteia o desenvolvimento de
aplicac oes Web acessveis [W3C 2008].
Enm, para que a acessibilidade na Web seja de fato alcancada e importante que os
desenvolvedores de conte udo ou sistemas Web, assim como seus mantenedores, estejam
atentos ` as recomendac oes de acessibilidade proposta por documentos nacionais e inter-
nacionais, em especial as diretrizes do W3C, como tamb em ` as diferentes caractersticas e
limitac oes dos usu arios [Pupo et al. 2006, Nic acio 2010].
3. Design Rationale
Neste trabalho, o conceito de Design Rationale (DR) foi selecionado, para auxiliar no re-
gistro da tomada de decis oes em relac ao ao desenvolvimento do sistema, principalmente,
no que se diz respeito ao emprego dos conceitos de acessibilidade na Web, visto que se
pretende construir uma base util para a gest ao do conhecimento sobre o projeto, bemcomo
garantir o gerenciamento das decis oes tomadas no decorrer do seu desenvolvimento.
Na literatura encontram-se v arias denic oes envolvendo DR, sendo algumas delas
apresentadas a seguir:
Segundo Lee (1997) e Lara (2005), os DRs s ao ferramentas importantes, pois
incluem n ao somente as raz oes por tr as de uma discuss ao de design, mas tamb em as
X Encontro Anual de Computao - EnAComp 2013
224
justicativas para as mesmas, outras alternativas que foram consideradas pela equipe, as
vantagens e desvantagens que foram avaliadas, e principalmente as argumentac oes que
levaram ` as tomadas de decis ao.
Para MacLean et al. (1989) o DR e o conjunto de opc oes que s ao selecionadas para
o projeto nal que descrevem o artefato, em que as alternativas e raz oes para as escolhas
fornecem argumentos que apoiam e ajudam a compreens ao das escolhas realizadas.
Burge e Brown (2000) caracterizam o DR como inestim avel, pois colabora com
a revis ao, manutenc ao, documentac ao, avaliac ao e aprendizagem do projeto, j a que o
mesmo armazena as decis oes tomadas, bem como os motivos que as deniram. Para Faria
e Bittar (2011) o DR ajuda tamb em na identicac ao de premissas inadequadas, auxiliando
os projetistas a perceber alternativas possveis sobre decis oes importantes.
Enm, o DR cont em o registro de todas as informac oes acerca do projeto, o que
congura uma base de conhecimentos que pode ser utilizada para futuras consultas. O
uso do DR melhora a compreens ao do desenvolvimento de um software, o que facilita sua
manutenc ao, sua evoluc ao e o seu reuso em novos projetos. Al em disso, proporciona uma
melhor comunicac ao entre os membros de uma equipe de desenvolvimento, fazendo com
que durante o processo de software seja possvel entender quais foram as decis oes crticas
tomadas, quais alternativas foram investigadas, entre outras informac oes que venham a
ser necess arias para o melhor entendimento do projeto, evitando que enganos posteriores
sejam cometidos.
O registro e uso do DR agrega v arios benefcios ao processo desenvolvimento de
software, dentre os quais pode-se citar:
auxilia na resoluc ao de problemas, pois o DR fornece informac oes sobre o ra-
ciocnio por tr as do projeto [MacLean et al. 1989].
facilita a manutenc ao e evoluc ao do artefato, visto que permite aos stakeholders
um entendimento mais claro e completo acerca do projeto [MacLean et al. 1989];
colabora com a comunicac ao entre os stakeholders;
facilita o aprendizado do projeto, contribuindo para que novos stakeholders pos-
sam facilmente ser integrados na equipe [Conklin and Burgess-Yakemovic 1996];
Em suma, segundo Santos (2007), o objetivo maior do registro e uso do DR e a
produc ao de artefatos mais completos, em menor tempo, com menos esforco, mais f aceis
de serem mantidos e evoludos e com melhor qualidade.
4. Metodologia
A metodologia empregada nesse trabalho levou em considerac ao aspectos relativos ao
aprendizado, visando apresentar o universo da pesquisa te orica e aplicada, envolvendo
as bases da utilizac ao do DR como uma ferramenta de auxlio no processo de tomada de
decis oes no decorrer da construc ao, manutenc ao e evoluc ao de um sistema Web, proporci-
onando o levantamento de considerac ao sobre o emprego dos conceitos de acessibilidades
propostos pelas diretrizes do W3C.
Para o levantamento de considerac oes sobre um desenvolvimento acessvel por
meio do registro de DR, optou-se pelo desenvolvimento de um sistema real. A denic ao
de qual sistema construir partiu do umlevantamento de problemas enfrentados pelos even-
tos acad emicos (congressos, simp osios, encontros, etc) que aconteceram no ambito da
X Encontro Anual de Computao - EnAComp 2013
225
UFG, C ampus Catal ao, no qual se destacou a falta de uma ferramenta que pudesse estar
gerenciando as informac oes geradas com a realizac ao do evento.
Diante do exposto, foi proposta a construc ao de um sistema Web gen erico, para
que qualquer tipo de evento acad emico possa encontrar a melhor estrutura online para
efetuar seu gerenciamento, com uma plataforma inteligente e simplicada para favorecer
a organizac ao do evento, possibilitando um modelo f acil de administrac ao.
O desenvolvimento deste tipo de sistema envolve diversos fatores, como a
elaborac ao de formul arios, grid de dados, disponibilizac ao de calend ario, tabelas, re-
lat orios, entre outros. Desse modo, torna-se um meio propcio para extrair considerac oes
pr aticas sobre o processo de inclus ao de acessibilidade no sistema.
Aconstruc ao deste sistema est a sendo baseada na utilizac ao da metodologia de de-
senvolvimento beta perp etuo, no qual o sistema car a sempre emdesenvolvimento, evo-
luindo com a colaborac ao dos pr oprios usu arios. O DR est a sendo utilizado para armaze-
nar e gerenciar a tomada de decis oes, incluindo as decis oes de acessibilidade, que ocorre
durante todo o processo de desenvolvimento, al em de colaborar com a documentac ao e
manutenc ao do projeto.
O registro do DR conta com o apoio da ferramenta AccessibilityUtil
1
, que e um
reposit orio colaborativo no qual possibilita uma melhor interac ao entre os membros da
equipe, bem como o armazenamento de todas as opini oes acerca de determinada decis ao.
Al em disso, a ferramenta prov e sugest oes de acessibilidade, baseadas no uso de diretrizes
da WCAG 2.0, a serem adotadas em cada t opico, as quais s ao ltradas pelo uso de pala-
vras chaves. Essas sugest oes vem colaborando para que a equipe consiga tornar menos
dispendioso e oneroso o processo de tomadas de decis ao para confecc ao de aplicativos
acessveis por fazer uso dessas diretrizes, juntamente com o reuso das informac oes j a
capturadas e avaliadas anteriormente.
5. A ferramenta SIADE
Por ser tratar de um trabalho com ns acad emicos elaborado dentro de uma instituic ao
p ublica de ensino, o desenvolvimento desta ferramenta foi baseada no uso de tecnologias
denominadas open source. Assim, a ferramenta SIADE foi desenvolvida utilizando a
linguagem PHP, para a programac ao para a aplicac ao no lado do servidor, e com o auxlio
do framework Javascript Dojo Toolkit, para a manipulac ao de eventos na interface. Um
ponto importante para escolha deste framework foi por ele ser projetado para ser acessvel,
desde a sua concepc ao.
O Sistema Gerenciador de Banco de Dados (SGBD) escolhido para esta ferra-
menta foi o MySQL. Entretanto, ressalta-se que a aplicac ao tem suporte a diferentes
banco de dados. Outra caracteristica da ferramenta e ser multiplataforma, visto que as
tecnologias utilizadas s ao preparadas para funcionarem em qualquer sistema operacional.
A ferramenta est a disposta em m odulos, agrupando um conjunto de funcionali-
dades disponveis. Uma das vantagens dessa modularizac ao e a possibilidade oferecida
ao administrador do sistema de apontar as permiss oes de acessos dos usu arios para cada
m odulo. De acordo com as funcionalidades idealizadas para compor a ferramenta, foi
1
http://www.accessibilityutil.com/
X Encontro Anual de Computao - EnAComp 2013
226
denido o modelo relacional da base de dados por meio da criac ao de 37 tabelas com
relacionamentos entre si. A disposic ao da base de dados permite uma melhor adaptabili-
dade, expans ao e evoluc ao do sistema.
6. Resultados e considerac oes
A ferramenta SIADE est a sendo utilizada para administrac ao do X Encontro Anual de
Computac ao (EnAComp)
2
. O volume de informac oes geradas nas duas ultimas edic oes
deste evento, tamb em foram migradas com sucesso para a ferramenta, possibilitando que
os participantes das edic oes anteriores pudessem ter acesso ` as suas informac oes, princi-
palmente, a emiss ao de seus certicados. Atualmente, a ferramenta possui ao todo mais
de 630 inscric oes efetuadas, sendo 150 destas referentes ao X EnAComp.
Como resultados principais, destacou-se a utilizac ao com sucesso e satisfat oria da
ferramenta AccessibilityUtil pela equipe no gerenciamento das decis oes tomadas durante
o desenvolvimento do sistema, com enfase na gest ao de acessibilidade. A captura do DR
em todas as fases deste projeto tem colaborado com a tomada de decis oes proporcionando
um produto nal adequado ` as diretrizes do WCAG 2.0, bem como contribudo para uma
comunicac ao efetiva entre os integrantes da equipe.
Com o uso da ferramenta AccessibilityUtil e possvel gerenciar as decis oes em
forma de t opicos contendo o registro das opini oes dos integrantes da equipe, em forma de
coment arios, e o status de discuss ao em que se encontra, ou seja, se a equipe chegou a um
acordo e concluiu determinada quest ao ou ainda est a em discuss ao [Bittar et al. 2011].
As considerac oes sobre um desenvolvimento acessvel podem ser observadas nos
coment arios de cada t opico, ou seja, por meio dos coment arios que e exposta toda
argumentac ao necess aria para o correto emprego de acessibilidade no projeto
3
.
A Tabela 1 apresenta a relac ao de alguns t opicos criados no AccessibilityUtil para
gerenciamento da tomada de decis oes, com enfase no aspecto de acessibilidade.
Tabela 1. Relac ao de alguns t opicos cadastrados
Ttulo Coment arios Status
Linguagem de programac ao a ser utilizada 4 Concludo
Perl de usu arios - p ublico alvo 4 Concludo
Linguagem narrativa a ser utilizada 3 Concludo

Icones, quais usar? 4 Concludo


Processo de desenvolvimento e acessibilidade 2 Em discuss ao
Quais testes ser ao feitos e em que momento? 3 Em discuss ao
Vers ao de HTML a ser utilizada 2 Em discuss ao
Cores, quais usar? 4 Concludo
Frameworks de javascript 3 Concludo
Como ser a feita a identicac ao de requisitos? 2 Em discuss ao
Validac ao de CSS 3 Em discuss ao
Apesar do sistema j a estar em uso, ainda passa por constantes alterac oes, gracas ` a
2
http://www.enacomp.com.br/siade/
3
Todas essas informac oes podem ser acessadas por meio do link: http://www.accessibilityutil.com
X Encontro Anual de Computao - EnAComp 2013
227
utilizac ao da metodologia beta perp etuo, no qual o sistema evolui continuamente a partir
da colaborac ao dos usu arios que s ao os principais testadores [Bianchini 2008]. A ideia e
engajar os usu arios como testadores em tempo real para que se possa saber qual e como
tal servico est a sendo usado, identicando problemas que estejam ocorrendo para que
correc oes possam ser feitas, como tamb em a criac ao de novas funcionalidades e melhorias
de funcionalidades j a existentes. Tais informac oes geradas s ao armazenadas e utilizadas
na tomada de decis oes.
No que diz respeito a ocorr encia de reclamac ao ou observac ao pelos usu arios
sobre a falta de acessibilidade na ferramenta desenvolvida, n ao foi reportada nenhuma
informac ao at e o momento. Contudo, isto pode ser em decorr encia do p ublico alvo do
evento no qual a ferramenta est a sendo utilizada, ou seja, trata-se de um evento na area de
computac ao, logo, presume-se que os participantes tenham mais facilidade em fazer uso
da tecnologia. Neste caso, este fato e encarado como uma limitac ao dos resultados para
este artigo.
7. Conclus ao
A captura do DR durante todas as fases deste projeto colaborou com a tomada de decis oes
e o correto emprego de caractersticas de acessibilidade no desenvolvimento do sistema,
bem como contribuiu para uma comunicac ao efetiva entre os integrantes da equipe.
O armazenamento das decis oes em um reposit orio colaborativo facilitou o ge-
renciamento das informac oes no decorrer do desenvolvimento, al em de possibilitar a
reutilizac ao das decis oes em outros projetos ou na revis ao de problemas semelhantes en-
contrados no projeto atual.
A inclus ao de acessibilidade no desenvolvimento proposto por este trabalho n ao
foi uma tarefa f acil, por em o aprendizado adquirido por meio do DR juntamente com
o conhecimento aprofundado, sobre os conceitos de acessibilidade na Web, por alguns
integrantes da equipe proporcionaram uma maior facilidade de inclus ao do que em outros
projetos. As considerac oes geradas com este trabalho podem servir de exemplo para
outros desenvolvedores que desejam adapt a-las ` a seus projetos, a m de alcancar tamb em
um desenvolvimento acessvel.
A aplicac ao da metodologia beta perp etuo possibilita uma melhor adaptabilidade
e aceitabilidade do sistema, visto que conta com a colaborac ao dos pr oprios usu arios para
que melhorias sejam feitas de acordo com as sugest oes propostas pelos mesmos.
Refer encias
ABNT (2004). NBR 9050: Acessibilidade a edicac oes, mobili ario, espacos e equipa-
mentos urbanos. Associac ao Brasileira de Normas T ecnicas, Rio de Janeiro.
Bianchini, S. L. (2008). Avaliac ao de m etodos de desenvolvimento de aplicac oes
web. Mestrado em ci encias de computac ao e matem atica computacional, Intituto de
Ci encias Matem aticas e de Computac ao de S ao Carlos (ICMC/USP), Universidade de
S ao Paulo, S ao Carlos - SP.
Bittar, T. J., do Amaral, L. A., and Fortes, R. P. d. M. (2011). Accessibilityutil: a tool
for sharing experiences about accessibility of web artifacts. In Proceedings of the 29th
X Encontro Anual de Computao - EnAComp 2013
228
ACM international conference on Design of communication, SIGDOC 11, pages 17
24, New York, NY, USA. ACM.
Burge, J. and Brown, D. C. (2000). Reasoning with design rationale. In Articial Intelli-
gence in Design 00, pages 611629, Netherlands. Kluwer Academic Publishers.
Conklin, E. J. and Burgess-Yakemovic, K. (1996). Design rationale. chapter A process-
oriented approach to design rationale, pages 393427. L. Erlbaum Associates Inc.,
Hillsdale, NJ, USA.
de Lara, S. M. A. (2005). Um suporte ` a captura informal de design rationale. Mestrado em
ci encias de computac ao e matem atica computacional, Intituto de Ci encias Matem aticas
e de Computac ao de S ao Carlos (ICMC/USP), Universidade de S ao Paulo, S ao Carlos
- SP.
Faria, F. B. and Bittar, T. J. (2011). Uso de design rationale para gest ao de conhecimento
em acessibilidade na web. In Anais eletr onicos..., Catal ao-GO. Encontro Anual de
Computac ao, UFG.
Lee, J. (1997). Design rationale systems: understanding the issues. IEEE Expert, 12(3):78
85.
MacLean, A., Young, R. M., and Moran, T. P. (1989). Design rationale: the argument
behind the artifact. In Proceedings of the SIGCHI conference on Human factors in
computing systems: Wings for the mind, CHI 89, pages 247252, New York, NY,
USA. ACM.
Nic acio, J. M. (2010). T ecnicas de acessibilidade: criando uma Web para todos. Edufal
- Editora da Universidade Federal de Alagoas, Macei o - AL.
Pinto, C. S. (2009). Avaliac ao da acessibilidade de sistemas web de comunicac ao e
de gest ao de grupos visando pessoas com deci encia visual total. Mestrado em in-
form atica, Departamento de Inform atica Aplicada, Universidade Federal do Estado do
Rio de Janeiro (UNIRIO), Rio de Janeiro - RJ.
Pupo, D. T., Melo, A. M., and Ferr es, S. P. (2006). Acessibilidade: discurso e pr atica no
cotidiano das bbilbiotecas. UNICAMP, Campinas - SP.
Rutter, R., Lauke, P., Waddell, C., Thatcher, J., Henry, S., Lawson, B., Kirkpatrick, A.,
Heilmann, C., Burks, M., Regan, B., et al. (2006). Web Accessibility: Web Standards
and Regulatory Compliance. Apresspod Series. Apress.
Santos, D. R. G. (2007). Suporte ao registro e uso de decis oes de projetos de aplicac oes
para a web. Mestrado em inform atica, Pontifcia Universidade Cat olica do Rio de
Janeiro, Rio de Janeiro - RJ.
W3C (2005). Introduction to web accessibility. Disponvel em:
http://www.w3.org/WAI/intro/accessibility.php. Acesso em: 27 set. 2012.
W3C (2008). Web content accessibility guidelines 2.0. Disponvel em:
http://www.w3.org/TR/WCAG20/. Acesso em: 03 set. 2012.
X Encontro Anual de Computao - EnAComp 2013
229
Autenticac ao Biom etrica em Redes de Telecomunicac ao
Aeron autica
Rafael de Amorim Silva
12
, Angelo Zanini
1
1
Departamento de Eletr onica - Instituto Tecnol ogico de Aeron autica (ITA)
S ao Jose dos Campos SP Brasil
{amorim,azanini}@ita.br
2
Instituto de Computac ao
Universidade Federal de Alagoas (UFAL) Macei o, AL Brasil
rafael@ic.ufal.br
Abstract. This paper proposes a network architecture that supports biometric
authentication on aeronautical networks to provide more condent services re-
lated to air passenger communication. The chosen authentication process is the
single logon. This architecture is based on overlay protocol between application
and transport layers, obtaining agents that negotiate the authentication process.
As a result, the architecture enables the development of various applications to
assure information trafcked by aeronautical networks.
Resumo. Este artigo prop oe uma arquitetura de rede que auxilie a autenticac ao
biom etrica em redes aeron auticas para prover servicos mais con aveis relaci-
onados a comunicac ao para passageiros a ereos. O processo de autenticac ao
adotado e o single logon. A arquitetura e baseada em um protocolo overlay
entre as camadas de aplicac ao e transporte, possuindo agentes que negociam o
processo de autenticac ao. Como resultado, a arquitetura permite o desenvolvi-
mento de diversas aplicac oes para assegurar a informac ao trafegada em redes
aeron auticas.
1. Introduc ao
Uma rede de telecomunicac ao aeron autica e capaz de se comunicar com uma aeronave
atrav es de v arios tipos de enlace de dados (e.g. sat elites, comunicac oes a ereo-a ereo e
a ereo-terrestres) [1]. Tais redes s ao projetadas para trabalhar com aplicac oes que exi-
jam um alto nvel ou baixo nvel de seguranca. A rede ATN oferece quatro tipos de
servicos [2]: (i) sistema de tr afego a ereo (ATS); (ii) Controle operacional a ereo(AOC);
(iii) Controle administrativo das linhas a ereas (AAC); e (iv) comunicac ao de passagei-
ros a ereos (APC). Os servicos ATS e AOC exigem um forte nvel de seguranca, usados
geralmente em comunicac oes operacionais. J a os servicos APC e AAC exigem baixos
requisitos de seguranca, usados geralmente em comunicac oes n ao operacionais.
Inicialmente, a ind ustria tem adotado o modelo OSI para comunicac oes ae-
ron auticas. Entretanto, iniciativas como o projeto NEWSKY [3] prop oe a migrac ao do
modelo OSI para o modelo TCP/IP, ofertando uma nova gerac ao de tecnologias que ser ao
empregadas para uso aeron autico. Embora hajam esforcos na direc ao de uma rede de
telecomunicac ao aeron autica baseada na pilha atual da Internet, tal modernizac ao ainda se
X Encontro Anual de Computao - EnAComp 2013
230
encontra em est agio inicial. Diversas aplicac oes ser ao desenvolvidas devido a aquisic ao
deste novo padr ao. Alguns trabalhos [4, 5] t em proposto alternativas para aumentar a
seguranca ` a nvel de arquitetura para estas redes. Todavia, existem poucos trabalhos
que lidem com aspectos relacionados a seguranca das aplicac oes neste novo cen ario
aeron autico. A arquitetura TCP n ao oferece a seguranca adequada para o processo de
autenticac ao, sendo que problemas como erros em canal, excessivos handoffs, falta de
conectividade podem dicultar o uso de algoritmos de seguranca. Para resolver tal pro-
blema, uma aplicac ao que captura uma credencial biom etrica e a distribui para as estac oes
a ereo-terrestres programadas em um plano de v oo estabelece comodidade para o usu ario
e aumenta o desempenho na rede.
Portanto, este artigo prop oe uma arquitetura de rede projetada para suportar a
autenticac ao biom etrica em redes de telecomunicac ao aeron autica que implementem
servicos APC. Tal arquitetura oferece um protocolo overlay entre as camadas de aplicac ao
e transporte, com agentes respons aveis na realizac ao do processo de autenticac ao. Den-
tre os benefcios esperados, tal arquitetura propicia o desenvolvimento de in umeras
aplicac oes para a seguranca de dados dos usu arios que viajam em uma aeronave.
O trabalho e organizado da seguinte maneira: Na Sec ao 2 s ao apresentados al-
guns trabalhos relacionados. A Sec ao 3 apresenta as principais t ecnicas da autenticac ao
biom etrica. A Sec ao 4 descreve a arquitetura proposta neste trabalho, descrevendo o
cen ario, a pilha de protocolos e a arquitetura de agentes envolvida. A Sec ao 5 apresenta
um estudo de caso para avaliar a arquitetura, denindo alguns exemplos de aplicac oes que
se beneciam da implantac ao desta arquitetura. A Sec ao 6 apresenta as considerac oes -
nais deste trabalho.
2. Trabalhos Relacionados
Oprojeto NEWSKY[3] foi pioneiro no desenvolvimento e an alise da nova gerac ao de tec-
nologias baseadas no modelo ATN/IPS que ser ao empregadas no cen ario aeron autico nos
pr oximos anos. O escopo desta investigac ao inclui a rede a ereo-terrestre, considerando
apenas os servicos que exijam um alto nvel de seguranca. Al em do projeto NEWSKY,
outros autores em [10] tamb em propuseram arquiteturas de rede aeron autica baseados no
padr ao ATN/IPS para comunicac oes a ereo-terrestres. Estes autores discutem problemas
relacionados a mobilidade, seguranca e integrac ao em arquiteturas ATN. Autores em [10]
investigam a aplicac ao da tecnologia Mobile IP em programas aeron auticos e da ag encia
espacial norte-americana, discutindo as caractersticas, capacidades e possveis cen arios
de uso. Em particular, estes autores investigam a conectividade IPv4 e IPv6 entre hosts
xos e m oveis atrav es de testbeds. As quest oes relativas a seguranca destas redes s ao
discutidas em [4, 5].
3. Autenticac ao Biom etrica
Identicac ao pessoal e o processo de associar um indivduo particular a uma identidade.
Tal identicac ao pode ser tanto na forma de vericac ao (autenticac ao), o qual autentica
uma identidade exigida, ou reconhecimento (identicac ao), que determina a identidade
de uma pessoa atrav es da consulta de um banco de dados de pessoas conhecidas no sis-
tema. Para identicar automaticamente uma pessoa, usa-se algo que ela possua em m aos
(abordagem baseada em tokens), ou usa-se algo que ela saiba (abordagem baseada em co-
nhecimento), ou usa-se alguma caracterstica siol ogica ou comportamental (abordagem
X Encontro Anual de Computao - EnAComp 2013
231
baseada em biometria). A abordagem biom etrica tem se destacado devido a sua capaci-
dade de identicar, com maior probabilidade, a pessoa correta para autorizac ao de acesso
e recursos em um determinado sistema. As outras abordagens possuem uma capacidade
inferior de identicar corretamente um usu ario, pois os tokens podem ser perdidos, rouba-
dos, esquecidos, ou deixados em algum lugar. Al em disso, um PIN pode ser esquecido ou
pego por um impostor, falhando em distinguir entre uma pessoa autorizada e um impostor.
O processo de identicac ao em um sistema biom etrico e dividido em duas etapas:
(i) captura de uma caracterstica biom etrica atrav es de um sensor e armazenada em um
banco de dados para futuras comparac oes (conhecida como etapa de cadastramento das
credenciais biom etricas); (ii) processo de comparac ao em tempo real de ambas as cre-
dencias (etapa de comparac ao). Na fase de cadastramento, a caracterstica biom etrica e
escaneada por umsensor biom etrico para adquirir a representac ao digital da caracterstica.
Depois, a representac ao digital e processada por um extrator de caractersticas para gerar
uma representac ao expressiva e compacta (template). Este template pode ser armaze-
nado ou em um banco de dados central ou em um cart ao magn etico (local). Na fase de
reconhecimento, o leitor biom etrico captura a caracterstica do indivduo e converte-o a
um formato digital. Depois, processa-se essa captura pelo extrator de caractersticas para
produzir a mesma representac ao como o template. Por ultimo, a representac ao resultante
e passada ao extrator de caracterstica que compara-o novamente com o template para
estabelecer a identidade do indivduo [6].
Para a escolha adequada de uma determinada caracterstica biom etrica, deve-se le-
var em conta os seguintes fatores: universalidade, distinc ao, perman encia, coletabilidade,
desempenho, aceitabilidade e circumvenc ao [7].
3.1. M etodos de Autenticac ao Biom etrica
Existem v arios m etodos para a captura de uma caracterstica biom etrica. Tais m etodos
se diferenciam atrav es dos fatores de escolha citados na Sec ao 3. Estes m etodos s ao:
Reconhecimento de Face, Termograma Facial, Geometria das M aos, Reconhecimento
por

Iris, Assinatura Humana, Fala Humana, Reconhecimento por Retina, Veias da Palma
da M ao e Impress ao Digital [7, 8].
A identicac ao biom etrica por reconhecimento da face humana e uma das mais
comuns caractersticas utilizadas para identicac ao pessoal. Tal identicac ao e baseada
na localizac ao e na forma de atributos como olhos, nariz, l abios, sobrancelhas, queixo e
seus relacionamentos espaciais. Tal identicac ao e adotada por aplicac oes que funcionam
em ambientes controlados ou fundos com imagem distorcida (e.g. identicac ao de presos
e criminosos). Este modo de identicac ao requer iluminac ao especial, sendo de difcil
reconhecimento caso a captura da imagem n ao tenha sido obtida pelo angulo original da
imagem.
O sistema de vasos sanguneos existentes no lado interno da face permite a
identicac ao de um indivduo atrav es de assinaturas faciais, devido a passagem de ca-
lor atrav es do tecido facial. Por isso, um termograma facial identica assinaturas faci-
ais atrav es dessa passagem, utilizando c ameras infra-vermelhas que capturam min ucias
deste sistema. Tal m etodo de identicac ao identica unicamente uma caracterstica do
indivduo e n ao e vulner avel a quaisquer tipos de disfarces. A estrutura vascular e mais
rica em informac ao, fornecendo min ucias mesmo em ambientes com pouca iluminac ao.
X Encontro Anual de Computao - EnAComp 2013
232
O problema principal desta t ecnica e que e suscetvel a mudancas de temperatura, estado
emocional do indivduo e angulo da imagem obtida.
A t ecnica de identicac ao biom etrica pelo uso da geometria das m aos humanas
consiste em considerar a forma da m ao, alturas e tamanhos dos dedos como caracterstica
biom etrica. A t ecnica e simples, de f acil uso e bom custo-benefcio. Fatores como umi-
dade e pele umida n ao inuenciam na ec acia desta t ecnica. Todavia, a mesma possui
baixa capacidade discriminativa. Outro problema e que a geometria da m ao muda ao
longo da vida, oferecendo uma baixa perman encia da caracterstica biom etrica. Outros
fatores como o uso de j oias e artrites podem dicultar a identicac ao.
A t ecnica de identicac ao biom etrica pelo uso da ris e uma das t ecnicas mais
ecazes, devido a sua longa perman encia ( a textura visual da ris estabiliza durante os
dois primeiros anos de vida) e sua unicidade. Al em disso, a caracterstica biom etrica e
mais f acil de capturar do que a t ecnica de reconhecimento por retina. Dentre as suas
vantagens, destacam-se a sua seguranca, visto que e difcil cirurgicamente danicar a sua
textura e a facilidade em detectar ris superciais (fraudulentas).
A assinatura e o m etodo mais tradicional de reconhecer a autenticidade de um
indivduo. Cada indivduo possui um estilo unico de assinatura, sendo que duas assina-
turas deste mesmo indivduo s ao geralmente id enticas. As variac oes dependem do seu
estado fsico e emocional. Existem 2 modos de identicac ao: Est atica e din amica. O
primeiro utiliza apenas caractersticas geom etricas de uma assinatura. O segundo adota
as caractersticas do primeiro e acrescenta fatores como acelerac ao, velocidade, press ao e
trajet orias da assinatura.
A fala humana pode ser utilizada para identicac ao biom etrica. O som carac-
terstico de cada indivduo e formado por diferencas na fala devido a fatores como forma
ou tamanho invariante do trato vocal, boca, cavidades nasais e l abios. A vericac ao pode
ser feita pelo uso de um texto (o individuo deve ler o texto e a comparac ao entre o texto
falado e o armazenado em uma base de dados ser a realizado) ou independente de texto
(o que oferece maior protec ao contra fraudes). A aceitabilidade por parte dos usu arios e
excelente. Fatores como rudos, estado fsico e emocional do indivduo pode inuenciar
em um baixo desempenho da t ecnica. Geralmente, tal t ecnica e adotada em aplicac oes
com baixos requisitos de seguranca devido a alta variabilidade existente na voz.
A t ecnica de identicac ao biom etrica pelo reconhecimento retinal se caracteriza
pelo uso de informac oes capturadas das veias que se situam abaixo da superfcie retinal
em um olho. O dispositivo de captura biom etrica projeta um feixe com baixa intensidade
visual em um olho para capturar uma imagem da retina. Portanto, o indivduo deve se
aproximar do dispositivo e direcionar a sua vis ao para um determinado ponto no campo
visual. O problema desta t ecnica e que e intrusiva e de alto custo. Dentre as suas vanta-
gens, a t ecnica oferece uma caracterstica unica em cada indivduo e e est avel.
A t ecnica de identicac ao biom etrica pelo padr ao das veias de uma palma da
m ao consiste na identicac ao de min ucias devido a absorc ao da luz em determinados
comprimentos de onda que uma hemoglobina reduzida possui em relac ao a hemoglobina
oxigenada [8]. Ou seja, emite-se uma luz em direc ao a uma palma da m ao, sendo que uma
luz com um determinado comprimento de onda ser a reetido. Uma vez que h a absorc ao
de luz pela hemoglobina reduzida, a luz reetida ser a identicada por uma c amera de
X Encontro Anual de Computao - EnAComp 2013
233
infravermelho, formando a imagem das veias da palma da m ao. Dentre as suas vantagens,
o m etodo se apresenta como n ao invasivo, higi enico e unico. Al em disso, e uma t ecnica
de difcil fraude e possui capacidade de detecc ao de vida sem precisar de dispositivos
adicionais.
A t ecnica de identicac ao biom etrica por impress ao digital e a mais popular den-
tre as t ecnicas. O m etodo consiste em capturar min ucias do padr ao de cristas e sulcos na
superfcie de um dedo. As min ucias detectadas s ao transformadas em um vetor de ca-
ractersticas, sendo uma lista de localizac oes e outros atributos (orientac ao da curva, por
exemplo). Posteriormente, compara-se a identicac ao biom etrica com templates armaze-
nados em uma base de dados. A t ecnica possui baixo custo de implementac ao. Dentre as
desvantagens, as impress oes digitais de uma parte da populac ao podem ser inadequadas
devido a quest oes gen eticas, envelhecimento, ambientais e ocupacionais.
4. Arquitetura para Autenticac ao Biom etrica em Redes Aeron auticas
A rede utiliza o conceito de conex oes segmentadas (i.e. split connections [9]). O usu ario
envia um pacote pela rede interna do avi ao at e o roteador m ovel (localizado na aeronave),
respons avel pelo acesso ao canal de comunicac ao aeron autico. Este roteador deve enviar
o pacote para a estac ao a ereo-terrestre cujo enlace esteja ativo. O agente intermedi ario
ir a encerrar esta conex ao TCP e iniciar uma nova conex ao utilizando outra socket at e o
host destino. A arquitetura de agentes e descrita na Figura 3 e a interac ao dos protocolos
e ilustrada na Figura 2.
Figura 1. Descric ao do cen ario aeron autico e protocolos da arquitetura proposta
4.1. Pilha de Protocolos
A pilha de protocolos e caracterizada pela presenca de uma camada overlay entre a ca-
mada de aplicac ao e a camada de transporte da pilha TCP/IP, disponibilizando agentes
de software que realizar ao func oes de gerenciamento de identidades biom etricas. Al em
dessa camada, deve haver uma camada intermedi aria (conhecida como adaptador da ca-
mada de converg encia) respons avel pela comunicac ao entre os protocolos de transporte e
a camada overlay. A Figura 1(b) ilustra os protocolos e as camadas envolvidas. Os agen-
tes s ao divididos em quatro tipos: (i) Agente Cliente; (ii) Agente de Captac ao Biom etrica;
(iii) Agente Gerenciador; e (iv) Agente Bio-proxy.
X Encontro Anual de Computao - EnAComp 2013
234
O Agente cliente e instalado nas m aquinas dos usu arios do sistema. Tal agente e
respons avel pela comunicac ao com os agentes bio-proxies. Este agente envia informac oes
sobre o o seu estado atual na rede, como a associac ao a uma nova rede. Tal informac ao
ser a armazenada pelo agente bio-proxy desta nova rede, permitindo que o agente bio-
proxy controle os dados biom etricos trafegados durante o perodo de conectividade entre
a aeronave e a estac ao a ereo-terrestre. Al em disso, tal agente verica se a aplicac ao atual
do cliente necessita de dados biom etricos, e envia requisic oes de permiss ao do uso de um
identicador biom etrico por um agente bio-proxy, caso seja necess ario.
O Agente de Captac ao Biom etrica e instalado em m aquinas especcas nos aero-
portos. Tal agente realiza a leitura biom etrica atrav es de tecnologias biom etricas (leitura
de impress oes digitais, retina, face, veias da m ao, etc) e envia tais credenciais biom etricas
para o agente gerenciador.
O Agente Gerenciador e respons avel pelo uso do plano de v oo para enviar as
credenciais para as respectivas estac oes a ereo-terrestres. Al em disso, o mesmo armazena
temporariamente tais credenciais, enviados pelo agente de captac ao biom etrica. A medida
que a aeronave vai mudando de estac ao, as credenciais armazenadas em estac oes anteri-
ores v ao sendo apagadas da mem oria (buffer) destas estac oes. Devido a velocidade de
uma aeronave permanecer na maior parte do tempo constante (aproximando a um modelo
matem atico de movimento uniforme), o agente pode estimar o tempo de durac ao que a
aeronave permanecer a em cada estac ao existente no plano de v oo. Portanto, o agente pode
recalcular caso o plano de v oo sofra alterac oes devido a tempestades ou outros fen omenos
n ao previstos no v oo.
O Agente bio-proxy e o agente que armazena as credenciais biom etricas quando
um plano de v oo est a sendo realizado.

E o agente que se situa nas estac oes a ereo-
terrestres, fazendo o interm edio entre o canal aeron autico e a rede aeron autica terrestre.

E
respons avel pela comunicac ao entre os agentes de mesma natureza. O mesmo se comu-
nica com a aplicac ao, enviando IDs para o destino quando exigidos.
Figura 2. Interac ao dos Protocolos na Arquitetura Proposta.
O cen ario adotado neste trabalho e caracterizado como segue: Em primeiro lu-
gar, cada aeronave possui uma rota denida em um plano de v oo elaborado antes da sua
decolagem de um determinado aeroporto. O piloto deve segui-lo corretamente, para que
n ao hajam imprevistos (acidentes). As estac oes a ereo-terrestres s ao denidas por areas,
sendo cada area controlada por um servidor ATN. Estes servidores est ao conectados en-
X Encontro Anual de Computao - EnAComp 2013
235
tre si atrav es de enlaces ponto a ponto. Observe que, para redes aeron auticas maiores, a
topologia estrela e sugerida. Em cada rota aeron autica, a aeronave passar a por X estac oes
conhecidas. Um dos servidores atua como gateway, disponibilizando acesso a Internet
para toda a rede.
Figura 3. Arquitetura de Agentes de Software do Protocolo Overlay.
5. Estudo de Caso
Antes de viajar, o usu ario deve se autenticar em um aeroporto. Sua credencial biom etrica
ser a enviada para as estac oes a ereo-terrestres que se comunicar ao com a aeronave durante
a rota denida em um plano de v oo. Tal informac ao ser a armazenada e controlada por
agentes intermedi arios conhecidos como bio-proxies. O usu ario n ao precisar a mais se
autenticar nas aplicac oes que exigem autenticac ao, pois o envio da credencial assim como
o seu aceite ou rejeite ser a negociado pelos agentes intermedi arios. Caso a identicac ao
seja rejeitada, o agente intermedi ario repetir a a autenticac ao at e um n umero de tentativas
denido em um par ametro. Caso ainda haja a falha, o agente intermedi ario comunicar a e
passar a a func ao de autenticac ao para a camada de aplicac ao do usu ario.
5.1. Cen arios de Aplicac ao
A autenticac ao atrav es de n os intermedi arios auxilia na viabilidade de diversos tipos de
aplicac ao. Dentre as mais signicativas, destacam-se:
Acesso a instituic oes Financeiras: Sites com servicos nanceiros tais como ban-
cos, operadoras de cart ao de cr edito e cooperativas podem se beneciar da arqui-
tetura proposta neste trabalho. O usu ario n ao precisaria se autenticar nestes sites a
cada nova estac ao a ereo-terrestre, o que implicaria em reduc ao de uxo de dados
na rede e um atraso menor na comunicac ao entre hosts.
Acesso a sites privados: Devido ao elevado crescimento do com ercio eletr onico
nos ultimos anos, o usu ario poderia efetuar suas compras sem se preocupar com
o processo de autenticac ao, visto que o mesmo estaria temporariamente acessvel
em cada estac ao a ereo-terrestre.
Acesso a documentos compartilhados: Sites que compartilham documentos po-
dem utilizar as identidades biom etricas sem precisar exigir uma nova captura de
identidade cada vez que a aeronave mudar de estac ao a ereo-terrestre.
Jogos para Passageiros: Aplicac oes como jogos eletr onicos podem utilizar as
identidades biom etricas capturadas pelos agentes bio-proxies para permitir a sua
X Encontro Anual de Computao - EnAComp 2013
236
continuidade. Ou seja, os usu arios podem jogar entre passageiros de outras aero-
naves sem precisar autenticar sua identidade nas estac oes.
Acesso a Intranets: Empresas podem disponibilizar acesso as suas intranets
atrav es do uso das identidades biom etricas capturadas nos agentes bio-proxies.
6. Considerac oes Finais
Este artigo prop os uma arquitetura de rede aeron autica para oferecer servicos relacio-
nados a seguranca biom etrica. Para tal, desenvolveu-se uma arquitetura de agentes de
software que realiza o interm edio entre a aplicac ao do cliente e o servidor de autenticac ao
biom etrica. As estac oes a ereo-terrestres s ao respons aveis por este interm edio, armaze-
nando a identidade biom etrica durante o v oo de uma aeronave convencional que siga um
determinado plano de v oo. O agente captura as informac oes do plano de v oo, e distri-
bui entre os agentes da rota estimada. Como vantagens de obtenc ao desta arquitetura,
o usu ario n ao se preocupa durante o v oo em realizar autenticac oes biom etricas, sendo o
agente intermedi ario respons avel por tal atividade. Como atividade futura, pretende-se
realizar simulac oes com simuladores de eventos discretos que investiguem o desempenho
desta arquitetura em cen arios aeron auticos.
Refer encias
[1] Feighery, P. and Hanson, T. and Lehman, T. and Mondrus, A. and Scott, D. and Signore,
T. and Smith, R. and Uhl, G., The Aeronautical Telecommunications Network (ATN)
testbed, Digital Avionics Systems Conference, 15th Edic ao, 1996.
[2] Jahn, A. and Holzbock, M. and Muller, J. and Kebel, R. and de Sanctis, M. and Rogoyski,
A. and Trachtman, E. and Franzrahe, O. and Werner, M. and Hu, F., Evolution of
aeronautical communications for personal and multimedia services, IEEE Commu-
nications Magazine, vol. 41, no. 7, pp. 36-43, 2003.
[3] Schnell, M. and Scalise, S., NEWSKY Concept for NEtWorking the SKY for Civil Aero-
nautical Communications, vol. 22, no 5. IEEE Aerospace and Electronic Systems
Magazine, 2007.
[4] Stephens, B., Security architecture for aeronautical networks, The 23rd Digital Avionics
Systems Conference, 2004.
[5] Ehammer, M. and Graupl, T. and Rokitansky, C.H. and Brikey, T., Security consideration
for IP based aeronautical networks, 27th Digital Avionics Systems Conference, 2008.
[6] Pankanti, S.; Bolle, R.M.; Jain, A., Biometrics: The Future of Identication, IEEE Com-
puter, 2000.
[7] Jain, A., Hong, L., Pankanti, S., Biometric Identication. ACM Communications, vol. 43,
no. 2, 2000.
[8] Fonseca, J., Zanini, A., Autenticac ao Biom etrica pelas veias da palma da m ao, Instituto
Tecnol ogico de Aeron autica, 2009.
[9] Pucha, H. and Hu, Y.C., Overlay TCP: Ending end-to-end transport for higher through-
put, Poster in ACM SIGCOMM, 2005.
[10] Brooks, D. and Wilkins, R. and Hoder, D. and InfraStruct, I.G. and LLC, W.C. Mobile IP
communications for aeronautical applications, The 23rd Digital Avionics Systems
Conference, DASC, 2004.
X Encontro Anual de Computao - EnAComp 2013
237
Recongurac ao de Redes de Distribuic ao de Energia El etrica
Utilizando Metaheurstica Col onia de Formigas Modicada
Huilman S. Sanca
1
, Niraldo R. Ferreira
1
, Benemar A. Souza
2
1
Departamento de Engenharia El etrica Universidade Federal da Bahia (UFBA)
Rua Aristides Novis, 02, Federac ao, 40210-630 Salvador BA Brasil
2
Departamento de Engenharia El etrica Universidade Federal de Campina Grande (UFCG)
Av. Aprgio Veloso, 882, Bodocong o, 58429-900 Campina Grande PB Brasil
huilman.sanca@gmail.com, niraldo@ufba.br, benemar@dee.ufcg.edu.br
Abstract. This paper introduces a modied ant colony optimization algorithm
(ACO) to solve the optimal reconguration problem of electric power distribu-
tion network. This optimization problem is nonlinear, combinatorial. In coop-
eration, ants nd the shortest paths between the nest and a food source by using
an indirect mechanism of communication. Seeking to improve the performance
of the algorithm we will use a elitism technique in the process of convergence.
The method was applied to a 69 buses distribution feeder.
Keywords. Reconguration, ant colony, elitism, distribution network, active
losses, radial load ow.
Resumo. Neste artigo apresenta-se um algoritmo col onia de formigas (ACO)
modicada para resolver o problema de recongurac ao otima de redes de
distribuic ao de energia el etrica. Este problema de otimizac ao e n ao linear e
de natureza combinatoria. Em cooperac ao as formigas descobrem os menores
caminhos entre o formigueiro e uma fonte de alimento usando um mecanismo de
comunicac ao indireta. Visando melhorar o desempenho do algoritmo proposto
foi dotado de uma t ecnica de elitismo no processo da converg encia. O m etodo
foi aplicado a um alimentador de 69 barras.
Palavras Chaves. Recongurac ao, col onia de formigas, elitismo, rede de
distribuic ao, perdas ativas, uxo de carga radial.
1. Introduc ao
Os sistemas de distribuic ao de energia el etrica devem operar de forma con avel
e econ omica, respeitando os par ametros de qualidade da energia. O problema da
recongurac ao consiste em encontrar outra congurac ao radial que apresente o menor
valor de perdas de pot encia ativa do sistema melhorando o perl de tens ao nas barras. A
recongurac ao de sistemas de distribuic ao de energia el etrica e levada a efeito operando-
se chaves existentes de modo que a topologia da rede seja alterada para que haja trans-
fer encia de cargas de um alimentador fortemente carregado para outro, relativamente,
menos carregado.
Recongurac ao de redes e um problema de otimizac ao combinatoria n ao
diferenci avel [Ching-Tzong et al. 2005]. Devido ao elevado n umero de combinac oes
necess arias, metaheursticas t em sido empregadas para resolv e-lo. Diferentes m etodos
X Encontro Anual de Computao - EnAComp 2013
238
e t ecnicas de intelig encia articial t em sido aplicados a recongurac ao de re-
des. Em [Lin et al. 2000], utiliza algoritmos gen eticos. Em [Jeon et al. 2002],
[Parada et al. 2004], os autores propuserama aplicac ao do algoritmo de t empera simulada
(simulated annealing algorithm). Em [Olamaei et al. 2007], [Lu et al. 2009], obtem-se a
soluc ao do problema mediante o algoritmo de nuvem de partculas (Particle Swarm Opti-
mization).
O algoritmo col onia de formigas foi aplicada pela primeira vez ao
problema cl assico do caixeiro viajante, Traveling Salesman Problem (TSP)
[Dorigo and Stutzle 2004]. O algoritmo col onia de formigas e inspirado no com-
portamento das formigas reais, em particular, como e conhecido, as formigas reais s ao
capazes de encontrar o caminho mais curto a partir do formigueiro para a fonte de
alimento sem a utilizac ao de sinais visuais, o meio de comunicac ao das formigas ocorre
mediante uma subst ancia qumica depositada por elas chamada de ferom onio.
Neste artigo, se prop oe um m etodo ACO modicado que emprega regras de
atualizac ao global e local de ferom onio, para efeito de melhoramento de seu desempenho.
Com a nalidade de demonstrar a ec acia do algoritmo e aplicada para recongurar um
alimentador de 69 barras apresentado em [Chiang and Jean-Jumeau 1990], e que consta
de 69 barras e 73 ligac oes, fornecendo bons resultados.
2. Formulac ao do Problema
2.1. Formulac ao do problema de recongurac ao de redes para o ACO Elitista
A recongurac ao de redes pode ser formulado como um problema de otimizac ao
n ao linear mista, de vari aveis inteiras e reais, cuja express ao e a seguinte:
Minimizef(x) = P
T,Perdas
=
N
B
1

i=1
P
perdas
(i, i + 1) (1)
Sujeito as restric oes:
1. de uxo de carga;
2. limites de corrente nos trechos:
|I
j
| I
j,max
; j, j N
T
(2)
3. congurac ao radial da rede.
P
T,perdas
e a perda de pot encia total do sistema, |I
i
| e I
i,max
s ao a amplitude da corrente e
o limite m aximo de corrente em cada trecho i, respectivamente, N
B
e o n umero de barras
e N
T
e o n umero de trechos do sistema.
O problema de otimizac ao com restric oes expresso em (1), pode ser convertido
num problema de otimizac ao irrestrito cuja func ao objetivo incorpore a restric ao de cor-
rente m axima nos trechos [Lin et al. 2000].
Minimizef(x) =
N
B
1

i=1
P
perdas
(i, i + 1) +
N
T

j=1

I
(I
j
I
j,max
)
2
(3)
sendo
I
um fator de penalidade com respeito ` a corrente admissvel no trecho.
X Encontro Anual de Computao - EnAComp 2013
239
2.2. C alculo das perdas
O c alculo das perdas de pot encia e parte do problema do uxo de carga, que aqui
e resolvido empregando-se o m etodo da soma de pot encia (MSP). O MSP, e um m etodo
iterativo nas vari aveis de perdas de pot encia ativa e reativa do tipo forward - backward
[Haque 2000]. Os valores absolutos das tens oes das barras s ao calculadas sequencial-
mente no sentido das subestac oes para as barras terminais (forward). As pot encias dos tre-
chos s ao calculados sequencialmente no sentido das barras terminais para as subestac oes
(backward). Para o c alculo de um trecho (i,i+1). Referido ` a Figura 1, podem-se escrever
estas equac oes como em [Haque 2000]:
}
i
i+1
P
i
, Q
i
R
i,i+1
jX
i,i+1
P
i+1
, Q
i+1
P
m
, Q
m
V
i+1
P
Li+1
, Q
Li+1
I
i,i+1
V
i
P
Li
, Q
Li
Figura 1. Trecho de uma rede de distribuic ao simples.
P
i
= P
i+1
+ P
Li+1
+ R
i,i+1

P
2
i
+ Q
2
i
|V
i
|
2

(4)
Q
i
= Q
i+1
+ Q
Li+1
+ X
i,i+1

P
2
i
+ Q
2
i
|V
i
|
2

(5)
|V
i+1
|
2
= |V
i
|
2
2(R
i,i+1
P
i
+ X
i,i+1
Q
i
) + (R
2
i,i+1
+ X
2
i,i+1
)
(P
2
i
+ Q
2
i
)
|V
i
|
2
(6)
sendo P
i
e Q
i
s ao os uxos de pot encia ativa e reativa no trecho entre as barras i
e i + 1, respectivamente. P
Li
e Q
Li
s ao as pot encias ativa e reativa das cargas instaladas
na barra i, respectivamente. A resist encia e a reat ancia do trecho entre as barras i e i + 1,
s ao indicadas por R
i,i+1
e X
i,i+1
, respectivamente.
Uma express ao alternativa ` a (6) e:
|V
i+1
| =

A +

A
2
B, (7)
sendo:
A =
|V
i
|
2
2
(R
i,i+1
P
i
+ X
i,i+1
Q
i
)
e
B = (R
2
i,i+1
+ X
2
i,i+1
)(P
2
i
+ Q
2
i
).
A perda de pot encia ativa no trecho e dada por:
P
perdas
(i, i + 1) = R
i,i+1
P
2
i
+ Q
2
i
|V
i
|
2
. (8)
X Encontro Anual de Computao - EnAComp 2013
240
A perda de pot encia ativa total do sistema P
T,Perdas
, e a soma das perdas de
pot encia ativa de todos os trechos do sistema:
P
T,Perdas
=
N
B
1

i=1
P
perdas
(i, i + 1). (9)
3. Algoritmo Col onia de Formigas
3.1. O comportamento da col onia de formigas
O algoritmo col onia de formigas, ACO, e uma metaheurstica inspirada nas formi-
gas reais [Dorigo and Stutzle 2004], [Ding and Loparo 2012].
Na busca por alimento as formigas inicialmente se movimentam sem orientac ao
tomando decis oes com base em crit erios individuais. Mais tarde, as formigas que es-
colheram o caminho mais curto entre o formigueiro e a fonte de alimento completar ao
suas expedic oes mais rapidamente. Isto far a que mais formigas escolham o menor cam-
inho devido ` a maior concentrac ao de ferom onio. No m, todas as formigas ir ao escolher
o mesmo caminho devido ` a atualizac ao constante do ferom onio. Este comportamento
mostra o paradigma fundamental do algoritmo de busca por col onia de formigas.
3.2. Escolha pseudo-aleat oria das ligac oes
Trazendo o modo natural das formigas descobrir e coletar alimentos para resolver
o problema da recongurac ao de redes se pode imaginar o seguinte: a formiga escolhe
a barra seguinte a ser visitada com base em seu pr oprio conhecimento que tem da rede
(resist encia das ligac oes entre a barra onde cou a formiga e as barras vizinhas a ela) e
no conhecimento coletivo (quantidade de ferom onio depositado nas ligac oes durante o
percurso). O conhecimento coletivo e cumulativo, sendo alterado sempre que uma nova
congurac ao radial se completa. A probabilidade de uma das ligac oes vizinhas vir a ser
escolhida por uma formiga e dada pela express ao:
Prob
(i,j)
=

[
(i,j)
]

[
(i,j)
]

mJ
K(i)
[
(i,m)
]

[
(i,m)
]

se j J
K(i)
;
0 se j / J
K(i)
,
(10)
sendo a quantidade de ferom onio na ligacao escolhida (i, j), cuja resist encia e 1/
(i,m)
.
e s ao os pesos do grau de atratividade e a visibilidade do ferom onio respectivamente.
J
K(i)
e o conjunto das ligac oes vizinhas que poder ao ser visitadas pela formiga K que se
encontra no n o i.
3.3. Regra de atualizac ao local do ferom onio
Logo ap os as formigas percorrerem cada trecho, entre as barras i e j, aplica-se a
regra de atualizac ao local do ferom onio, conforme a seguinte express ao:

(i,j)
= (1 )
(i,j)
+
0
(11)
Onde
(i,j)
e a carga de ferom onio na ligac ao (i, j),
0
e o valor inicial do
ferom onio e e a taxa de evaporac ao do ferom onio, [0, 1]. Esta regra de atualizac ao
local serve para diminuir a possibilidade de estagnac ao do processo e aumentar a proba-
bilidade de encontrar uma melhor soluc ao at e o momento[Dorigo and Stutzle 2004].
X Encontro Anual de Computao - EnAComp 2013
241
3.4. Regra de atualizac ao global do ferom onio
Logo ap os uma congurac ao radial factvel ser achada s ao calculadas as perdas
de pot encia ativa da rede e a carga de ferom onio nas ligac oes da melhor congurac ao e
incrementada do seguinte modo:

(i,j)
= (1 )
(i,j)
+ (12)
sendo:
=
1
F
melhor
(13)
e F
melhor
e o valor da func ao objetivo da melhor soluc ao achada at e o momento, e a taxa
de evaporac ao da regra de atualizac ao global, [0, 1]. O ferom onio e uma subst ancia
vol atil o suciente para evitar que soluc oes antigas sejam demasiadamente persistentes.
(1 ) modela a evaporac ao do ferom onio.
4. Aplicac ao do Algoritmo para o Problema de Recongurac ao de Redes
Inicialmente todos os trechos t em a mesma quantidade de ferom onio, todos os
n os-fontes est ao ligados, portanto os n os de carga est ao todos desligados, mas nenhuma
ligac ao est a ativada. N o ligado e aquele onde est a a formiga no momento, ligac ao ativada
e aquela que j a foi percorrida e ligac ao ativ avel e aquela ligac ao vizinha para a qual a
formiga pode se deslocar. O algoritmo ACO Elitista proposto e aquele que se apresenta
na Figura 2.
Inicio
L os dados do sistema
ACO Elitista e MSP
Deposita uma mesma quantidade de
feromnio inicial em todas as ligaes
Comea o ACO Elitista, colocando uma
formiga em cada n fonte
H ligaes
ativveis?
Calcula a probabilidade por (10)
para escolher uma das ligaes
ativveis
Desloca a formiga para o n
ativvel escolhido aplicando a
regra 2
Sim
No Aplica a regra de atualizao
local do feromnio por (11)
Executa o fluxo de carga
MSP
Clculo do Backward do MSP Clculo do Forward do MSP
Calcula as perdas de potncia
ativa do sistema por (8), (9)
Calcula o valor da
funo objetivo por (3)
Aplica a regra de atualizao
global do feromnio por
(12), (13)
a ultima
expedio?
No
Imprime o valor de funo
objetivo e as ligaes
desativadas
Fim
Sim
Menor perda no
momento
(Melhor soluo)
Figura 2. Fluxograma do ACO com Elitismo.
As formigas partem simultaneamente de forma aleat oria de n os ligados respei-
tando as seguintes regras:
1. As formigas se deslocam exclusivamente por ligac oes ativ aveis;
2. Quando uma formiga chega ao n o desligado da ligac ao ativ avel que tenha percor-
rido:
este n o torna-se ligado e a ligac ao ativada;
surge outra formiga para ocupar o n o originalmente ligado deixado por ela;
X Encontro Anual de Computao - EnAComp 2013
242
3. O percurso de uma formiga se completa quando ela n ao puder mais seguir por
ligac oes ativ aveis;
4. A expedic ao termina quando nenhuma formiga tiver mais mobilidade, ou seja,
quando n ao houver nenhuma ligac ao ativ avel.
Durante uma iterac ao, apenas uma lista de barras a serem visitadas (barra ativ aveis viz-
inhas ao n o ligado) e utilizada e escolhida de forma probabilstica, atualiza-se a lista
conforme os agentes caminham sobre a rede. Quando um agente se encontra sobre a
barra i, seleciona a barra vizinha j (diretamente conectada a i) a ser visitada com base
na concentrac ao de ferom onio sobre a linha (i,j) e no inverso da resist encia desta, s o s ao
consideradas barras ativ aveis aquelas barras que s ao diretamente conectadas a barra ligada
(barra onde a formiga esta no momento).
5. Teste e Resultados
O algoritmo proposto foi implementado emMatlab

e testado com o alimentador


de 69 barras da Figura 3, no qual h a 5 chaves de interconex ao e 73 chaves seccionadoras,
originalmente 68 chaves est ao fechadas (chaves de 1 a 68) e 5 abertas (chaves de 69 a 73).
Para esta congurac ao inicial as perdas ativas iniciais s ao de 20,9 kW e a tens ao de linha
na sada da subestac ao (barra 1) e de 12,66 kV. Os par ametros utilizados no algoritmo s ao
mostrados na Tabela 1. A soluc ao, que se v e na tabela 2, foi alcancada em 3,79 segundos
utilizando-se um computador com processador Intel core i5-2410M de 2,3 GHz e 6 GB
de RAM.
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44 45 46
51 52
68 69 66 67
53 54 55 56 57 58 59 60 61 62 63 64 65 47 48 49 50
s69
s71
s70
s73
s72
S
u
b
e
s
t
a

o
Barra (n)
Ligaes ativadas
Chaves seccionadores sN
Ligaes interrompidas
Figura 3. Sistema de distribuic ao de 69 barras e 73 ligac oes,
[Chiang and Jean-Jumeau 1990].
A perda ativa total para a congurac ao inicial do sistema e de 20,9 kW, enquanto
para a congurac ao obtida pelo algoritmo proposto elas foram de 9,35 kW, isto equivale
a uma reduc ao de 55,26%.
Fazendo-se uma comparac ao com os resultados publicados por
[Chiang and Jean-Jumeau 1990] e [Abdelaziz et al. 2012], tal como mostrado na
X Encontro Anual de Computao - EnAComp 2013
243
Tabela 1. Par ametros usados para o teste do algoritmo
Par ametros Smbolo Valor Par ametros Smbolo Valor
Alfa 0,1 Expedic oes 170
Beta 1,9 Sigma 0,01
R o 0,1 Ferom onio inicial
0
1
Toler ancia do MSP 10
3
Tabela 2. Resultados do teste
Congurac ao Perdas nais Reduc ao Chaves desligadas
(kW) (%)
Inicial 20,9 - - - s69, s70, s71, s72, s73
ACO Elitismo 9,35 55,26 s10, s57, s62, s70, s71
[Chiang and Jean-Jumeau 1990] 9,34 55,31 s15, s57, s62, s70, s71
[Abdelaziz et al. 2012] 9,355 54,30 s14, s58, s61, s69, s70
tabela 2, nota-se o bom desempenho do algoritmo proposto. A Figura 4 apresenta uma
comparac ao das tens oes em cada barra nas congurac oes inicial e nal ( otima).
10 20 30 40 50 60
0.97
0.975
0.98
0.985
0.99
0.995
1
1.005
1.01
Barras
T
e
n
s

o

(
p
.
u
)


Configurao inicial
Configurao final
Figura 4. Comparac ao de tens oes das barras para a congurac ao inicial e a
comgurac ao otima encontrada.
Observa-se a melhoria obtida no perl de tens ao decorrente da recongurac ao
alcancada desativando-se as chaves seccionadoras s10, s57, s62, s70, s71 que equivalem
aos trechos dos n os: 10-11, 57-58, 62-63, 13-21, 15-46.
6. Conclus ao
Um algoritmo de formigas modicado (ACO Elitista) foi proposto neste artigo
com o objetivo de encontrar uma congurac ao radial otima, minimizando as perdas de
pot encia ativa totais. O escopo do trabalho foi resolver o problema de recongurac ao
otima de redes de distribuic ao de energia el etrica aplicando uma metodologia inspirada
no comportamento de col onia de formigas.
X Encontro Anual de Computao - EnAComp 2013
244
Para melhorar o desempenho, o algoritmo desenvolvido incorpora uma t ecnica
de elitismo no processo de converg encia mediante regras de atualizac ao local e global
do ferom onio. Dos resultados optidos, conclui-se que o ACO proposto e promisor para
a soluc ao do problema de recongurac ao de redes apresentando um bom desempenho.
Pretende-se agora investigar melhorias nas propriedades de converg encia do algoritmo.
7. Agradecimentos
Os autores deste artigo agradecem ` a Coordenac ao de Aperfeicoamento de Pessoal
de Nvel Superior - CAPES e a Fundac ao de Amparo ` a Pesquisa do Estado da Bahia -
FAPESB.
Refer encias
Abdelaziz, A. Y., Osama, R. A., and El-khodary, S. M. (2012). Reconguration of dis-
tribution system for loss reduction using the hyper-cube ant colony optimization algo-
rithm. IET Generation, Transmition and Distribution, 6(2):176187.
Chiang, H.-D. and Jean-Jumeau, R. (1990). Optimal network recongurations in distri-
bution systems:part 2 : Solution algorithms and numerical results. IEEE Transactions
on Power Delivery, 5(3):15681574.
Ching-Tzong, S., Chung-Fu, C., and Ji-Pyng, C. (2005). Distribution network recon-
guration for loss reduction by ant colony search algorithm. Electric Power Systems
Research, 7:190199.
Ding, F. and Loparo, K. A. (2012). A simple heuristic method for smart distribution
system reconguration. Energytech, IEEE Conference, pages 16.
Dorigo, M. and Stutzle, T. (2004). Ant colony optimization. MIT Press, 3(2):12.
Haque, M. H. (2000). A general load ow method for distribution systems. Electric
Power System Research, 54(1):4754.
Jeon, Y., Kim, J. C., Kim, J., Shin, J. R., and Lee, K. (2002). An efcient simulated
annealing algorithm for network reconguration in large-scale distribution systems.
IEEE Transactions on Power Delivery, 17:10701078.
Lin, W. M., Cheng, F. S., and Tsay, M. T. (2000). Distribution feeder reconguration with
rened genetic algorithm. IEE Procedings Generation, Transmition and Distribution,
147(6):349354.
Lu, L., Liu, J., and Wang, J. (2009). A distributed hierachical structure optimization
algorithm based poly-partical swarm for reconguration of distribution network. SU-
PERGEN 09 International Conference on Sustainable Power Generation and Supply,
pages 15.
Olamaei, J., G., G., and T., N. (2007). An approach based on particle swarm optimiza-
tion for distribution feeder reconguration considering distributed generators. Power
Systems Conference: Advanced Metering, Protection, Control, Communication, and
Distributed Resources, pages 326330.
Parada, V., Ferland, J. A., Arias, M., and Daniels, K. (2004). Optimization of electrical
distribution feeders using simulated annealing. IEEE Transactions on Power Delivery,
19:11351141.
X Encontro Anual de Computao - EnAComp 2013
245

Uma proposta de desenvolvimento de um sistema de
software para apoio ao gerenciamento de doenas
relacionadas Leishmaniose
Ludmylla Lopes Lobato
1
, Luiz Arthur Lopes Lobato
1
, Luanna Lopes Lobato
2

1
Curso de Medicina Universidade Presidente Antnio Carlos (UNIPAC)
Juiz de Fora MG Brasil
2
Departmento de Cincia da Computao Universidade Federal de Gois (UFG)
Catalo GO Brasil
{ludmyllalopeslobato,luizarthurlopeslobato}@gmail.com,
lll@catalao.ufg.br
Abstract. The American Cutaneous Leishmaniasis, or Leishmaniasis, is an
endemic zooantroponose in the tropics and neotropics caused by the
protozoan parasites from the Leishmania, which was identified with more 20
different species related to it. The disease is found worldwide and, according
to published studies, present a high incidence in the Brazil, with six species
associated that can be contracted by humans. Thus, this work is focused on
present a study about Leishmaniasis, in order to propose the development of a
software system to facilitate the identification of this disease, as well as
facilitate the verification of its impacts and provide the monitoring of the
disease and possible ways to prevention. In this sense, we presented an initial
study related to the disease in a region of Brazil, followed by the proposal of a
software system to help manage the data collected through the observance of
the disease type.
Resumo. A Leishmaniose Tegumentar Americana, ou simplesmente
Leishmaniose, uma zooantroponose endmica nos trpicos e neotrpicos
causada pelos protozorios parasitas do gnero Leishmania, possuindo mais
de 20 diferentes espcies diferentes. A doena encontrada em todo o mundo
e, de acordo com estudos apresentados, no Brasil apresenta alta incidncia,
sendo seis espcies associadas doena nos seres humanos. Assim, este
trabalho tem como foco o estudo da Leishmaniose e a proposta de um sistema
de software para identificao da doena, verificao de seus impactos, bem
como o monitoramento da doena e a possvel preveno. Neste sentido,
apresenta-se um estudo inicial sobre a doena em uma regio do Brasil,
seguido pela proposta de um sistema de software para auxiliar no
gerenciamento dos dados coletados relacionados observncia da doena.
1. Introduo
A cincia tem avanado muito em relao a identificao de doenas e seus possveis
tratamentos, sendo interligadas vrias rea de conhecimento para que as melhores
solues sejam produzidas, como a qumica, possibilitando a interveno por diferentes
X Encontro Anual de Computao - EnAComp 2013
246

medicamentos, a biologia, em que so apresentadas as prprias defesas do corpo
humano, a computao permitindo o uso de softwares para auxiliar na identificao e
acompanhamento das doenas. De uma maneira particular, o uso de sistemas
desenvolvidos com o propsito de, alm de identificar, monitorar as doenas e seus
avanos tem sido frequentemente apresentado em vrios estudos.
Neste contexto, este trabalho justificado visto que o desenvolvimento de
software um dos grandes aliados da medicina, uma vez que possibilita e facilita a
execuo automatizada de estudos que poderiam demorar dias ou at anos. Assim,
apresenta-se, neste artigo, um estudo inicial sobre os reflexos da leishmaniose no Brasil
e a possvel reduo do impacto dessa doena e controle da mesma, se constatada e,
possivelmente, acompanhada atravs da otimizao de sistemas de software.
A leishmaniose tegumentar americana (LTA) uma zooantroponose endmica
nos trpicos e neotrpicos causada pelos protozorios parasitas do gnero Leishmania
(Krauss et al., 2003) que possuem mais de 20 espcies diferentes. A doena
encontrada em todo o mundo, com uma prevalncia estimada de 12 milhes de casos
por ano, havendo cerca de 50.000 mortes, e uma estimativa de que 350 milhes de
pessoas em todo o mundo esto em situao de risco de adquirir a doena.
No Brasil, pode ser encontrada em todas as macrorregies, com alta incidncia
anual, estando seis espcies associadas doena no homem, sendo uma do gnero
Leishmania e cinco do subgnero Viannia. A Leishmania (Viannia) brasiliensis
caracteriza-se por diversas manifestaes clnicas, que abrangem desde pequenos
ndulos destruio da mucosa, sendo a principal espcie responsvel pela LTA no
pas, sendo o foco de estudo desta pesquisa inicial.
O trabalho apresentado como segue: Na Seo 2 apresentada uma pesquisa
relacionada. Na Seo 3 so descritas informaes sobre a Leishmaniose, sendo esta a
doena em estudo neste artigo. A proposta do sistema de software apresentada na
Seo 4. J na Seo 5 so apresentadas as concluses, sendo apresentadas algumas
discusses sobre o tema abordado, bem como os impedimentos para esta pesquisa e
sugestes de trabalhos futuros.
2. Trabalho Relacionado
Como exemplo de trabalho relacionado, tem-se o software VINA, proposto pelo The
Scripps Research Institute, situado em La Jolla, California. Este software usado para
executar experimentos virtuais com o objetivo de encontrar milhes de componentes
que podem ser capazes de desativar algumas protenas especficas, as quais so
essenciais para a sobrevivncia de parasitas (World Community Grid).
Neste sentido, a pesquisa apresenta que uma busca, ou tambm conhecida como
triagem, para obter os melhores compostos de drogas potenciais um passo inicial no
processo de desenvolvimento de tratamentos eficazes para a doena. Ainda ressaltado
que, com suficiente poder computacional esta rastreio pode ser feita muito mais
rapidamente do que atravs de experimentos de laboratrio convencionais.
No entanto, se os meios computacionais no so utilizados em sua alta
performance, ainda seriam necessrios cerca de 120 anos para os pesquisadores
realizarem tal triagem. Um exemplo de sistema que pode auxiliar em muito tal tarefa o
X Encontro Anual de Computao - EnAComp 2013
247

uso de Grids computacionais
1
. O poder da World Community Grid pode reduzir o
tempo necessrio para a menos de um ano, facilitando dessa forma o trabalho dos
pesquisadores e permitindo que os melhores candidatos identificados por este projeto
possam levar ao desenvolvimento de melhores medicamentos para combater a
leishmaniose.
3. A Leishmaniose
A leishmaniose tegumentar americana (LTA) uma doena infecciosa, no contagiosa,
que provoca a destruio das clulas fagocitrias pelos parasitas amastigotas da
leishmania. Tal doena pode levar a um estado clnico conduzido a um processo de
leses drmicas e da mucosa, o que caracteriza-se pelas formas localizada e
disseminada, sendo um dos primeiros sinais clnicos apresentados pelo hospedeiro. Ela
pode manifestar-se com maior ou menor severidade e at mesmo passar despercebida,
pois tudo depende da patogenicidade do agente causador e suscetibilidade do
hospedeiro.
A contaminao humana ocorre atravs da picada do vetor mecnico
flebotomneo fmea infectado, no
2
. Como meio de inocular seu sangue, o inseto lacera
a pele do ser humano, transmitindo assim para o hospedeiro a forma promastigota do
parasita. Em contrapartida, a contaminao do vetor acontece por meio de vertebrados
infectados, o que pode ocorrer durante a inoculao do sangue contaminado com a
forma amastigota pelo inseto (Krauss et al., 2003).
Em relao ao habitat dos flebtomos, estes costumam viver em reas quentes e
midas,. Como exemplo pode-se citar troncos de rvores podres e folhas, os quais so
ideais para o desenvolvimento do mosquito, que, uma vez estando em forma de larvas,
se alimentam de materiais orgnicos.
O mosquito flebtomo pica entre o entardecer e a noite. Segundo estudos feitos,
os dados epidemiolgicos da microrregio de Juiz de Fora Minas Gerais, local onde a
pesquisa tm sido conduzida, a maior incidncia ocorre por volta das oito e dez horas da
noite. No entanto, se o ser humano tem contato direto com o habitar natural, o mosquito
pode picar a qualquer momento.
3.1. Morfologia e Ciclo Biolgico
Os protozorios de gnero Leishmania so parasitas digenticos, causadores das doenas
conhecidas por Leishmanioses (Krauss et al., 2003). Este um protozorio dimrfico,
que existe como promastigota flagelado no tubo digestivo de sugadores de sangue
invertebrados (fmeas de flebotomneos), de corpo alongado, medindo entre 10 e 15
micras de longitude, com ncleo na parte mdia do corpo e no externo anterior do
organismo est o cinetoplasto onde sai o flagelo para sua locomoo, sendo a forma que
inocula os vertebrados. E como amastigota, intracelular obrigatrio, medindo de 2 a 5
micras de longitude, sem flagelo, arredondada, localiza-se no interior de macrfagos e

1
Grids so uma forma de computao distribuda, em que um "super computador virtual" composto
de muitos computadores em rede de baixo acoplamento, agindo em conjunto para realizar tarefas de
grande porte.
2
Explicao de termos em: Etymological Dictionary of Veterinary Medicine and its Auxilliary Sciences
X Encontro Anual de Computao - EnAComp 2013
248

clulas dendrticas de hospedeiros vertebrados. Podendo tambm infectar fibroblastos e
neutrfilos. No citoplasma observa-se o ncleo que pode ser ovide ou esfrico situado
na parte central da clula.
A reproduo ocorre de forma assexuada, caracterizando-se por diviso binria
longitudinal, ocorrendo de forma metacclica. O ciclo de vida ocorre em dois tipos de
hospedeiros. Nos hospedeiros invertebrados iniciado quando o flebtomo fmea pica a
pele de vertebrados infectados, formando uma leso com sangue e macrfagos na derme
onde esto os parasitas. Durante esse repasto sanguneo se ingere as clulas fagocticas,
principalmente macrfagos, abrigando essas formas amastigotas. Aps o rompimento
dos macrfagos, os amastigotas no intestino do inseto assumem a forma de
promastigotas procclicos, que se multiplicam ativamente por diviso binria e esto
aderidos a parede do intestino do inseto evitando sua expulso. Tendo inoculado ao
corpo do vetor mecnico, os promastigotas passam por alguns processos para infectar o
hospedeiro. Detalhes deste ciclo podem ser verificadas em (Krauss et al., 2003).
3.2. Manisfestaes Clnicas
A picada do flebtomo em algumas vezes pode ser verificada pelo surgimento de leso
na pele. A forma cutnea a representao clnica mais comum, podendo surgir como
ppulas e se desenvolver lceras. A forma mucosa, na maioria das vezes so secundria
s leses cutneas, surgindo geralmente meses ou anos aps a resoluo das leses de
pele.. Em geral acometem as vias areas superiores, como cavidades nasais
(principalmente o septo nasal), seguidas da faringe, laringe e cavidade oral. As queixas
mais comuns no acometimento nasal so: obstruo, epistaxes, rinorria e crostas; da
faringe, odinofagia; da laringe, rouquido e tosse; da cavidade oral, feridas na boca. As
leses podem ser discretas, sendo apresentados poucos sintomas, por isso a necessidade
de se buscar a identificao de doena em mucosas, uma vez que as leses mucosas no
curam espontaneamente. Atravs do exame clnico, possvel observar infiltrao,
ulcerao, perfurao do septo nasal, leses ulcero vegetantes, ulcero crostosas ou
ulcero destrutivas.
Dessa forma, verificou-se a importncia em reportar em um sistema de software
os dados coletados sobre a doena e seus impactos no paciente. Tal sistema tem por
objetivo permitir a otimizao na busca pelos resultados, bem como possibilitar a
viabilidade de se associar os medicamentos ao estgio em que a doena se encontra.
Assim, espera-se com o sistema permitir a verificao, anlise e acompanhamento do
prognstico do paciente de forma gil e precisa.
4. Proposta de Trabalho
As formas de diagnstico para esta doena esto presentes em mbito clnico,
epidemiolgico e laboratorial. Visto que a LTA um problema recorrente em vrias
partes do mundo e se enquadra em um problema endmico de sade no Brasil. Dessa
forma, justifica-se a necessidade de um diagnstico eficiente e eficaz, assim espera-se
ter um diagnstico rpido e preciso que identifique os indivduos infectados e exponha
resultados sobre a existncia de material do parasita em indivduos considerados
curados, tais aes devem ser verificadas de modo a prevenir reincidentes, prover
X Encontro Anual de Computao - EnAComp 2013
249

acompanhamento dos casos j identificados, bem como monitorar e controlar at a
expanso da endemia.
O tratamento da doena atravs de frmacos e o controle da infeco
Leishmaniose em pacientes pode ser verificada devido resposta imune celular, de
modo que a reativao da doena pode ocorrer como resultado de imunossupresso.
Como meio de facilitar a identificao e acompanhar o tratamento da doena,
prope-se neste trabalho o desenvolvimento de um sistema de software. Tal sistema
deve ser integrado com diferentes projetos, em que tem-se como entrada a possibilidade
de identificao de casos de pacientes infectados, os quais so mantidos atravs da base
de dados possibilitando o acompanhamento e, eventual, tratamento desses casos.
Neste sentido, para a proposta deste trabalho inicialmente desenvolveu-se uma
pesquisa sobre o estudo da arte da Leishmaniose no Brasil. Como exemplo prtico,
estudos de casos foram verificados na cidade de Juiz de Fora, Minas Gerais, onde os
autores deste artigo puderam realizar pesquisas relacionadas ao contexto da
Leishmaniose na cidade.
Esta pesquisa est sendo desenvolvida por pesquisadores de duas instituies de
ensino, em que um estudo inicial j foi iniciado com vistas a atender os objetivos
descritos neste trabalho. Assim, a escolha pelo estudo inicial sobre o cenrio da
Leishmaniose na cidade de Juiz de Fora, Minas Gerais, justificada devido a
disponibilidade de recursos providos pela Universidade Presidente Antnio Carlos
(UNIPAC), atravs do auxlio de professores e alunos do curso de Medicina.
Adicionalmente, este trabalho tem como apoio a Universidade Federal de Gois,
campus Catalo, mais especificamente o grupo de pesquisa ReSEArch (Reuse in
Software Engineering and Architecture), o qual contribui para os estudos referentes ao
desenvolvimento do sistema de software para facilitar o gerenciamento dos dados
coletados.
Em relao ao desenvolvimento do sistema, cinco reunies foram realizadas
entre os pesquisadores envolvidos de modo a detalhar as necessidades e os requisitos
funcionais e no funcionais que o sistema deva prover. Para tanto, utilizar-se- a
Engenharia de Software como metodologia para desenvolvimento do sistema, seguindo
as recomendaes impostas por Pressman (2001). Dessa forma, os requisitos, casos de
uso, diagrama de classe, bem como diagramas de atividades foram desenvolvidos e
validados por outros integrantes do grupo de pesquisa ReSEArch e verificados pelos
estudantes de medicina envolvidos.
5. Concluso
A Leishmaniose brasiliensis uma doena hemoprotozoria, sendo transmitida pela
picada do inseto flebtomo para o homem e outros animais como, equinos, ces e
roedores (Krauss et al., 2003). uma doena que agride as reas primarias de entrada ao
organismo, como a pele e a mucosa. Os sintomas mais comuns so da doena esto
relacionados ao aparecimento de leses epidrmicas em forma de ulceraes nicas,
mltiplas, disseminadas ou difusas, com contornos e inodoros, e, em algumas situaes,
tambm apresentada febre. Pode-se citar algumas reas especificas em que so
X Encontro Anual de Computao - EnAComp 2013
250

observadas os impactos da doena, como lbio superior, nariz, regio malar, pavilho
auricular, pernas, ps, braos e antebraos.
Ao ser detectada a infeco, o sistema imune hospedeiro ativado e passa a
responder positivamente na tentativa de eliminar o parasito. No entanto, a Leishmania
consegue evadir aos eventos do organismo e explorar seu sistema imune, modulando-o
em beneficio prprio, para assim formar um ambiente favorvel ao estabelecimento da
infeco. Esse desequilbrio na relao parasita-hospedeiro que causa a eliminao da
infeco.
Um dos grandes problemas relacionados a esta doena que o diagnstico no
simples, devido demora de manifestao do quadro infeccioso o que pode chegar de
meses a anos. Assim, pode ser tornar difcil uma identificao diagnostica,
principalmente casos fora das reas endmicas.
Com o desenvolvimento deste trabalho, mesmo que inicial, foi possvel
identificar informaes relevantes sobre a Leishmaniose brasiliensis (Leishmania
Tegumentar Americana), o que fortaleceu o conhecimento da equipe de pesquisa em
relao aos impactos da doena e possveis danos irreparveis. Espera-se que uma
pesquisa mais detalhada possa respaldar-nos o suficiente para contribuir para a proposta
de desenvolvimento de um sistema de software que possa auxiliar no tratamento da
doena descrita.
Neste sentido, como trabalho futuro prope-se que mais estudos sejam
integrados. Assim, sugere-se que seja feita uma pesquisa sistemtica sobre as pesquisas
que tm sido publicadas sobre Leishmaniose no mundo, de modo a identificar os
principais pontos que foram observados por estes trabalhos. Tais resultados so
relevantes visto que podem ser utilizados para desenvolvimento e melhoria do sistema
proposto neste artigo.
Adicionalmente, espera-se desenvolver mais pesquisas relacionando a medicina
s facilidades providas pela otimizao da execuo das tarefas atravs da Computao.
O alinhamento e parceria entre essas reas tm se mostrado interessantes e essenciais,
uma vez que podem facilitar a identificao, prover o tratamento, facilitar o
acompanhamento e a preveno de doenas inerentes ao ser humano.
Referncias
Pressman, R. S. 2001. Software Engineering: A Practitioner's Approach (5th ed.).
McGraw-Hill Higher Education.
Krauss, H., Weber, A., Appel, M., Enders, B., Graevenitz, A. V., Isenberg, H. D.,
Schiefer, H.G., Slenczka, W. and Zahner, H. 2003. Zoonosis. Infectious Diseases
Transmissible from Animals to Humans. ASM Press. American Society for
Microbiology, Washington DC., USA. 2003. 3rd Edition, 456 pages. ISBN: 1-55581-
p. 236-8.
World Community Grid Technology solving problems. Drug Search for
Leishmaniasis, Disponvel em: http://www.worldcommunitygrid.org/research/dsfl/o
verview.do. Acesso em: Fevereiro de 2013.

X Encontro Anual de Computao - EnAComp 2013
251

Um breve estudo sobre Gerenciamento de Riscos em
Projetos de Software no Brasil
Lorena T. de Carvalho, Hugo S. de Andrade, Luanna L. Lobato
1
Departamento de Cincia da Computao Universidade Federal de Gois, Campus
Catalo (UFG/CAC) - Sala 202 - Bloco Didtico 2, Avenida Dr. Lamartine Pinto de
Avelar, 1120, Setor Universitrio, Catalo/GO CEP: 75704-020.
2
Departmento de Cincia da Computao Universidade Federal da Bahia (UFBA)
Salvador, BA - Brasil
{lorena.computacao, hugosica, luannalopeslobato}@gmail.com
Abstract. This paper presents a systematic study on the state of the art of risk
management during software development. The studies considered in this work
were made available through scientific events held in Brazil, and also obtained
from journals and the internet. journals and the internet. The goal is to collect
information about what has been developed in order to verify how risk
management has collaborated over the lifecycle of software projects and
proposal for further development of studies on this area.
Resumo. Neste artigo apresentado um estudo sistemtico sobre o estado da
arte de gerenciamento de riscos durante o desenvolvimento de software. Como
fonte de pesquisa so considerados trabalhos que foram disponibilizados em
eventos cientficos realizados no Brasil, sendo verificados eventos relacionados
rea, revistas cientficas e a internet. O objetivo coletar informaes sobre
o que j foi desenvolvido a fim de verificar o quanto o gerenciamento de riscos
tem colaborado em relao ao ciclo de vida dos projetos de software para
posterior proposta e desenvolvimento de estudos sobre esta rea.
1. Introduo
O crescente uso de tecnologia para o desenvolvimento e prestao de servios tm exigido
da indstria de software projetos cada vez mais complexos. Para tanto, normal que, em
projetos de software, surjam problemas relacionados qualidade, cronograma, custos,
dentre outros. Tais situaes podem estar relacionadas a riscos que no foram
previamente identificados ou, simplesmente, foram ignorados durante o planejamento do
projeto.
Desde 1995 tais problemas tem sido discutidos em estudos da engenharia de
software. Segundo Pressman (1995), a utilizao de modelos de melhorias, processos,
mtodos e ferramentas vem para aumentar a probabilidade de sucesso na execuo de
projetos de software, focando na qualidade de seus produtos. Diante disso, medida que
a complexidade dos softwares aumenta, cresce tambm a necessidade de metodologias
para gerir as incertezas contidas nos projetos.
Assim, neste trabalho, tem-se como justificativa a necessidade de verificar o
cenrio atual em relao ao que tem sido desenvolvido sobre gerenciamento de riscos no
Brasil, visto que no foi identificado nenhum estudo sistemtico que contemple
X Encontro Anual de Computao - EnAComp 2013
252

discusses ou experincias de projetos brasileiros. Dessa forma, espera-se com este
trabalho reunir dados atravs de estudos sobre gerenciamento de riscos para futuras
propostas de melhorias na rea.
O presente artigo apresentado como segue. Na seo 2 so discutidos os estudos
relacionados. A seo 3 composta pela fundamentao terica. Na seo 4, descrito o
processo de reviso, a seo 5, discute os resultados encontrados. E, por fim, na seo 6,
so apresentadas as consideraes finais.
2. Trabalhos Relacionados
Gerenciamento de riscos durante o desenvolvimento de projetos de software no um
assunto recente. A prtica foi inicialmente avaliada por Boehm (1988), que publicou um
estudo mostrando que a aplicao de gerenciamento de riscos capaz de contribuir de
maneira positiva para o sucesso de projetos de software.
O trabalho realizado por Andrade (2010) incluiu um estudo sistemtico
exploratrio sobre abordagens, prticas e estratgias de gerenciamento de riscos em
desenvolvimento de software. O estudo aborda uma srie de publicaes relevantes que
discutem o gerenciamento de riscos no desenvolvimento de software, embora a pesquisa
no se limite ao Brasil.
Santos (2011) tambm utiliza a engenharia de software emprica para realizar seu
estudo. Atravs de uma reviso sistemtica, foi possvel reunir ferramentas utilizadas para
o gerenciamento de riscos em desenvolvimento de software.
Lobato (2012) discutiu o tema atravs de uma srie de trabalhos empricos focados
em gerenciamento de riscos: (i) duas revises sistemticas; (ii) uma sntese narrativa
relacionada s revises sistemticas; (iii) dois estudos de caso, sendo um na academia e
outro na indstria; (iv) um estudo cross case realizando uma comparao entre os estudos
de caso desenvolvidos; (v) um survey com especialistas, relacionando a academia e a
indstria; e, por fim, (vi) uma sntese de evidncias que teve como objetivo comparar os
resultados dos estudos realizados a fim de se desenvolver uma abordagem para
gerenciamento de riscos.
Tais trabalhos apresentam estudos empricos aplicados ao gerenciamento de
riscos a fim de reunir informaes sobre abordagens, ferramentas, e estratgias de
gerenciamento de riscos, sendo assim considerados importantes para o trabalho
desenvolvido, visto que apresentaram resultados relevantes em relao ao contexto de
gerenciamento de riscos durante o desenvolvimento de software.
3. Fundamentao Terica
O termo risco se refere a qualquer evento que gere consequncias negativas a um projeto
[Boehm 1991], podendo ser classificado como um evento ou condio incerta que, se
ocorrer, ter um efeito negativo sobre pelo menos um objetivo do trabalho, como relatado
no Project Management Body of Knowledge (PMI, 2004).
Para avaliar o gerenciamento, a abordagem desenvolvida por Boehm (1989) foi
considerada neste trabalho. Para tal considerao, foi avaliado o nmero de autores da
rea que utilizam tal trabalho como referncia para seus estudos. O estudo em questo
apresentou uma abordagem para gerenciar riscos dividida em duas etapas: a etapa de
Avaliao de Riscos (composta por identificao, anlise e priorizao de riscos), e a
X Encontro Anual de Computao - EnAComp 2013
253

etapa de Controle dos Riscos (composta pelo plano de gerenciamento de riscos, a
resoluo dos riscos e o monitoramento dos riscos).
O processo estratgico deve envolver diferentes stakeholders e incluir as tarefas
de identificao, anlise, planejamento, monitoramento, controle e comunicao de
riscos. Os princpios bsicos da gerncia de risco so os fatores norteadores das atividades
que precisam ser desenvolvidas [Gusmo e Moura 2004].
4. Processo de reviso
O processo de reviso incluiu uma busca na forma de reviso sistemtica. Eventos
cientficos realizados no pas, bases de dados de bibliotecas digitais, e a internet foram as
fontes utilizadas a fim de obter os estudos avaliados.
4.1. Tipos de Busca e Seleo
Para obter resultados consistentes, foram utilizados dois tipos de pesquisa. A primeira de
forma manual, incluindo anais de eventos e a internet, enquanto que a segunda consistiu
de busca automtica englobando repositrios online de artigos cientficos.
A busca manual em eventos cientficos foi realizada em 3 etapas. Na primeira
etapa, foi feita uma pesquisa a respeito dos eventos cientficos relevantes de Engenharia
de Software realizados no Brasil. Essa tarefa gerou uma lista com 24 eventos descritos na
tabela 1.
Tabela 1. Lista de Eventos Cientficos sobre Engenharia de Software realizados
no Brasil
CBSOFT CISBE CLEI ESELAW
IDEAS IHC LA-WASP SBCARS
SBCCI SBES SBLP SBQS
SBSC SBSEG SBSI SEAS
SEMISH WDBC WER WGRS
WoLLIC WPERFORMANCE WSCAD WTF
Na segunda etapa foi realizada uma busca manual nos anais dos eventos
selecionados, restringindo-se ao perodo de 2002 a 2012. Artigos e tutoriais publicados
foram considerados nesta pesquisa. importante destacar que alguns destes eventos no
ocorrem anualmente.
A terceira etapa foi realizada a fim de restringir a busca ao objetivo do trabalho.
O primeiro critrio de seleo baseou-se na leitura dos ttulos das publicaes resultando
em uma lista com 36 artigos que mencionavam riscos, gerenciamento de riscos ou
ameaas em desenvolvimento de software. Para tanto, a leitura dos resumos das
publicaes selecionadas foram avaliadas e, assim, foi possvel obter uma nova lista de
resultados contendo 21 publicaes. A partir desta fase, critrios de incluso e excluso
foram aplicados s publicaes e, por meio de leitura completa das publicaes a busca
manual resultou em 8 publicaes.
Como critrios de incluso foram consideradas as pesquisas que aplicam o
gerenciamento de riscos em projetos de software, e as abordagens e ferramentas
destinadas atividade de gerenciamento de riscos em software. Como critrios de
X Encontro Anual de Computao - EnAComp 2013
254

excluso foram retidos pesquisas que apenas referenciavam a atividade de gerenciamento
de riscos alm de trabalhos com informaes inconsistentes e que no apresentavam
metodologias para gerenciar os riscos em projetos de software.
A busca automtica teve como princpio uma pesquisa similar busca manual
para incluso e excluso de resultados porm, o mtodo de pesquisa foi definido de forma
diferente. Inicialmente, as strings de busca foram definidas atravs de reunies com
experts em gerenciamento de riscos, sendo estas combinadas com expresses booleanas
AND e OR a fim de obter expresses que definam o escopo da pesquisa. A tabela 2
representa a lista de strings utilizadas na pesquisa.
Tabela 2. Strings de busca
Strings de busca na Lngua Portuguesa Strings de busca na Lngua Inglesa
Brasil AND (gesto OR gerenciamento
OR gerncia) AND riscos AND software
Brazil AND "management" AND "risks" AND
"Software"
Brasil AND (gesto OR gerenciamento
OR gerncia) AND riscos AND projetos
de software
Brazil AND "management AND "risks" AND
"software projects"
Ferramentas AND Brasil AND (gesto OR
gerenciamento OR gerncia) AND
riscos AND projetos de software
Brazil AND Tools AND "management" AND
"risks" AND "software projects"
Brasil AND Abordagens AND (gesto OR
gerenciamento OR gerncia) AND
riscos AND projetos de software
Brazil AND Approaches AND "management"
AND "risks" AND "software projects"
Brasil AND Modelos AND (gesto OR
gerenciamento OR gerncia) AND
riscos AND projetos de software
Brazil AND Models AND "management" AND
"risks" AND "software projects"
Brasil AND (gesto OR gerenciamento
OR gerncia) AND incertezas AND
projetos de software
Brazil AND ("management" OR "management"
OR "management") AND "uncertainty" AND
"software projects"
As mquinas de busca selecionadas so compostas por campos de busca
avanados, possibilitando a busca automatizada e, seleo de filtros de resultados. Assim,
para esta pesquisa foi aplicado um filtro de classificao focado na relevncia das
publicaes. No contexto deste estudo, as ferramentas utilizadas foram o Google
Acadmico, Scielo Brasil, ACM e IEEE Xplore.
Na terceira etapa foi encontrado um valor mdio de 7205 resultados por strings
considerando a repetio de resultados para cada string. Apenas os estudos que continham
ttulo resultante do casamento de padro das strings foram utilizados para a pesquisa.
Devido aplicao do filtro de relevncia das mquinas de busca, optou-se por avaliar os
100 resultados com maior relevncia de acordo com cada string. Para realizar a seleo
dos estudos, foi necessrio avaliar os resumos de todos os trabalhos a fim de adequar aos
critrios de incluso e excluso apresentados anteriormente. Para os trabalhos
selecionados, realizou-se uma leitura do resumo de cada publicao e por sequncia,
publicaes que se enquadraram no contexto do estudo receberam ateno especial
atravs de leitura completa.
X Encontro Anual de Computao - EnAComp 2013
255

4.2. Avaliao da Qualidade
A avaliao da qualidade aplicada ao trabalho foi realizada com base em um esquema de
pontuao. Para pontuar as perguntas, utilizou-se a seguinte estratgia: respostas que
satisfazem plenamente as perguntas receberam o valor 1; respostas que satisfazem
parcialmente as perguntas receberam o valor 0,5 e, por fim, respostas que no satisfazem
as perguntas recebem o valor 0.
A figura 1 representa as questes propostas para avaliar a qualidade dos estudos
selecionados.

Figura 1. Questes de critrio de qualidade
Com a aplicao da reviso sistemtica foi possvel obter um total de 37 pesquisas
relacionadas ao tema deste estudo. Dentre as 37 pesquisas foram destacados os trabalhos
que apresentaram maior relevncia e maior incidncia entre os meios de busca.
5. Resultados
O estudo emprico aplicado neste trabalho mostrou resultados importantes. Dentre as
pesquisas encontradas, algumas foram consideradas mais relevantes devido sua
classificao por meio de mquinas de busca e, tambm, com base no ndice de incidncia
apresentados nas buscas realizadas.
A seguir so apresentadas em ordem cronolgica de tempo as pesquisas que
obtiveram maior destaque neste estudo:
Machado (2002) apresentou um mtodo de gerncia de risco, chamado de A-Risk.
O A-Risk focado na identificao e quantificao de riscos de prazo de projeto,
que pode ser aplicado antes e durante o desenvolvimento do projeto, ou seja, em
todas as suas fases.
Costa et. al. (2004) desenvolveu uma abordagem para avaliar projetos com riscos
de nvel global por meio de um estudo emprico planejado e executado para
quantificar a importncia relativa dos riscos do projeto para uma categoria
especfica do sistema.
Fontoura et. al. (2004) props um paradigma para gerir riscos em projetos de
software conhecido com GQM (Goal/Question/Metric). Tal paradigma baseado
X Encontro Anual de Computao - EnAComp 2013
256

em mtricas do processo de software utilizadas para acompanhar o progresso dos
fatores de risco, possibilitando ao gerente de projeto tomar aes corretivas,
quando necessrio e no momento adequado.
Gusmo e Moura (2004) apresentaram uma anlise detalhada sobre as atividades
de gerenciamento de riscos presente nos modelos de qualidade de software. O
trabalho demonstra que no h um processo padro para gerenciar riscos, apenas
prticas consolidadas, alm de no existir indicao de processos e mtodos que
podem ser utilizados na execuo de atividades de gerenciamento, fazendo com
que as organizaes ajustem seus processos atividades de gerenciamento de
risco, de acordo com sua realidade.
Leopoldino e Bezerra (2004) desenvolveram um estudo sobre avaliao de riscos
em projetos de software julgando riscos encontrados no desenvolvimento de
software por meio de experincias de desenvolvedores e gerentes de projetos.
Oliveira e Bastos (2005), apresentaram um mtodo para aplicao de gerncia de
riscos em projetos de software com o objetivo de propor um processo de gerncia
de risco aplicado s dimenses de custo, prazo e qualidade de projetos
desenvolvidos para integrao com um processo de desenvolvimento de software
focado em sistemas de informao.
Knob et. al. (2006), desenvolveu a ferramenta RiskFree com o objetivo de auxiliar
equipes de projeto de desenvolvimento de software;
Leme (2007) desenvolveu uma estratgia e um prottipo de ferramenta de apoio
ao gerenciamento de riscos para um ambiente de desenvolvimento distribudo de
software integrando ao ambiente DiSEN.
Mendes et. al. (2007) identificou na literatura os problemas e riscos mais citados
com o intuito de gerar uma lista dos dez riscos mais recorrentes alm de propor
um mtodo para minimizar o impacto e/ou probabilidade de ocorrncia do risco.
Dantas et. al. (2009) descreve um mdulo de controle de riscos, conhecido como
Risys, este mdulo de gerenciamento de riscos aplicado na execuo de projetos
desenvolvidos pela utilizao do Webbased Groupware on Project Management
System (WGPMS).
Falbo (2010) apresenta uma ontologia de riscos de software, estabelecendo uma
conceituao comum acerca do domnio de riscos de software, a qual pode ser
adotada por organizaes de software como um vocabulrio bsico para se falar
sobre riscos.
Lima et. al. (2010) propuseram modificaes na ferramenta Risys de modo a
ampliar o tratamento de riscos no WGPMS.
Lobato et. al. (2010) apresenta uma reviso sistemtica sobre gerenciamento de
riscos onde so apresentadas algumas estratgias e passos que podem ser
utilizados durante o gerenciamento de riscos para desenvolvimento de software.
Com base nas pesquisas apresentadas, possvel afirmar que a rea de
gerenciamento de risco necessita de mais ateno relacionado a qualidade de pesquisas
disponveis na literatura. Os principais problemas identificados foram questes sobre as
atividades de gerenciamento de riscos que nem sempre foram tratadas e etapas para
X Encontro Anual de Computao - EnAComp 2013
257

realizar o gerenciamento de riscos que no foram bem descritas. Estas desvantagens
impactam nos resultados obtidos neste trabalho, uma vez que o estudo obteve um ndice
alto de respostas negativas em comparao com as respostas positivas.
6. Consideraes Finais
O principal objetivo deste trabalho foi investigar o estado da arte em pesquisas sobre
gerenciamento de riscos atravs de um estudo de reviso sistemtica. O estudo
desenvolvido foi o primeiro a apresentar uma reviso sistemtica com o foco em
pesquisas desenvolvidas utilizando gerenciamento de riscos em projetos de software no
Brasil. Este trabalho serve como referncia a trabalhos futuros, uma vez que apresenta
diretrizes de pesquisa quanto s atividades de gerenciamento de riscos e s etapas para
controlar os riscos.
Este o estudo foi capaz de fornecer medidas e ideias teis sobre o gerenciamento
de riscos tanto na indstria quanto na academia alm de vantagens e tcnicas para realiz-
lo. Ainda assim, importante destacar que os recursos utilizados nas pesquisas no foram
bem explorados apesar do nmero crescente de estudos sobre este tema nos ltimos anos,
indicando que o gerenciamento de riscos ainda se trata de um alvo de pesquisa na
engenharia de software.
Como ameaa a validade da pesquisa, pode-se citar que alguns trabalhos
relevantes podem no ter sido selecionados, uma vez que as mquinas de busca no
indexam artigos de todas as conferncias brasileiras.
Para trabalho futuro, pretende-se investigar profundamente os recursos utilizados
pelas pesquisas a fim de avaliar e propor melhorias para abordagens e ferramentas sobre
gerenciamento de riscos em desenvolvimento de software.
Referncias
Andrade, H. S. (2010) Systematic scoping study on risk management in software
development. In: Universidade Federal de Gois, Campus Catalo UFG, Catalo,
Brasil.
Boehm B. W. (1988) A spiral model of software development and enhancement In:
IEEE Computer, 21(5), 61-72.
Boehm B. W. (1989) Software risk management Em: IEEE Computer Society Press.
Boehm B. W. (1991) Software risk management: Principles and practices Em: IEEE
Software.
Costa H. R., Barros M. de O. e Travassos G. H. (2004) Evaluating risk factors in
software projects Em: Eselaw Experimental Software Engineer Latin American
Workshop.
Dantas B. T., David J. M. N, Avelar A. J. N., Ferreira L. A. S. e Jesus L. M. S. (2009)
Risys Uma ferramenta de apoio gerncia de riscos em um ambiente colaborativo
de gesto de projetos Em: SBSC Simpsio Brasileiro de Sistemas Colaborativos.
Falbo R. A. (2010) Uma ontologia de riscos de software In: SBQS Simpsio
Brasileiro de Qualidade de Software.
X Encontro Anual de Computao - EnAComp 2013
258

Fontoura L. M., Price R. T. e Phil D. (2004) Usando GQM para gerenciar riscos em
projetos de software Em: SBES XVIII Simpsio Brasileiro de Engenharia de
Software.
Gusmo, C. M. G. and Moura, H. P. (2004) Gerncia de risco em processos de qualidade
de software: uma Anlise Comparativa Em: Anais do III Simpsio Brasileiro de
Qualidade de Software, Braslia DF Brasil.
Knob F., Silveira F., Orth A. I., Prikladnicki R. (2006) RiskFree Uma ferramenta de
gerenciamento de riscos baseada no PMBOK e aderente ao CMMI Em: SBQS -
Simpsio Brasileiro de Qualidade de Software.
Leme L. H. R. (2007). Uma estratgia para apoiar o gerenciamento de riscos em um
ambiente distribudo de desenvolvimento de software,
http://200.17.137.109:8081/xiscanoe/Members/vollare/risk-analysis-and-productivity
-in-software-engineering/. Acesso em 01/02/2013.
Leopoldino C. B. e Bezerra C. (2004) Avaliao de riscos em desenvolvimento de
software Em: Dissertao de Mestrado, Programa de Ps-Graduao em
Administrao Universidade Federal do Rio Grande do Sul UFRGS.
Lima M. P., David J. M. N., Dantas B. T. (2010) Gerenciamento de riscos e contexto em
ambientes colaborativos de gesto de projetos de desenvolvimento de software Em:
SBSC Simpsio Brasileiro de Sistemas Colaborativos.
Lobato L. L., O'Leary, P., Almeida, E. S., Meira, S. R. L. (2010) The Importance of
Documentation, Design and Reuse in Risk Management for SPL Em: 28th ACM
International Conference on Design of Communication (SIGDOC), So Carlos.
Lobato L. L. (2012) An Approach for Risk Management in Software Product Line Tese
de doutorado. Em: Universidade Federal de Pernambuco, PE, Brasil.
Machado C. A. F. (2002). A-RISK : Um mtodo para identificar e quantificar riscos de
prazo em projetos de desenvolvimento de software,
http://www.inforede.net/Technical/Business/IT/PM%20Risco%20em%20Desenvolvi
mento.pdf. Acesso em 28/01/2013.
Mendes F. F., Oliveira J. L., Fernandes P. G. e Souza A. S. (2007) Anlise de riscos na
implantao de melhorias de processos de software,
http://www.softex.br/portal/softexweb/uploadDocuments/_mpsbr/[03]%20Anali
seRiscosImplantacao_FINAL.pdf, acesso em 01/02/2013.
Oliveira G. da C. e Bastos R. (2005) No-Risk - Um Mtodo para Aplicao de Gerncia
de Riscos em Projetos de Software Em: SBSI Simpsio Brasileiro de Sistemas de
Informao, Florianpolis, 2005.
PMI Project Management Institute (2004) A guide to the project management body of
knowledge 3 edio, PMBOK Guide.
Pressman, R. S. (1995) Engenharia de software So Paulo: Ed. Makron Books.
Santos, M. R. (2011) Um estudo sistemtico sobre gerenciamento de riscos para projetos
de software Trabalho de concluso de curso. Em: Universidade Federal de Gois -
UFG, Catalo, Brasil.

X Encontro Anual de Computao - EnAComp 2013
259
Concepo de uma Ferramenta Parser para Extrao de
dados do metamodelo ECore
talo de Pontes Oliveira
1
, Lucas Arajo Ramos
1
, Rhavy Maia Guedes
1

1
Instituto Federal de Educao, Cincia e Tecnologia da Paraba (IFPB) Campina Grande, Paraba
Brasil
italo.oliveira@ieee.org, {lucas.du.a7x@gmail.com, rhavy.maia}@gmail.com

Abstract. The Software Engineering offers clear and objective techniques for
systems building. There are model based approaches for the software
development cycle, such as the MDA. The OMG defines models as graphs that
provide important information about the system. It is necessary that modeling
teams seeking qualify and quantify the entities that are involved in the process.
For this, they need to extract information from files based on the standard MOF
metamodels. Thus, this study aims to perform data extraction for ECore
metamodel by creating a tool-based software that allows the analysis of the
elements contained in the model.
Resumo. A Engenharia de Software oferece tcnicas claras e objetivas na
construo de sistemas. Existem abordagens baseadas em modelo para o
desenvolvimento do ciclo de software como, por exemplo, o MDA. A OMG define
os modelos como representaes grficas que trazem informaes importantes
sobre o sistema. necessrio que as equipes de modelagem busquem qualificar e
quantificar as entidades que esto envolvidas no processo. Para isso, necessitam
extrair informaes de arquivos de metamodelos baseados no padro MOF.
Desse modo, o presente trabalho tem como objetivo realizar a extrao de dados
do metamodelo ECore atravs da criao de uma ferramenta baseada em
software que permitir a anlise dos elementos contido no modelo.
1. Introduo
A engenharia de software oferece tcnicas claras e objetivas na construo de sistemas, a
fim de obter melhores resultados. Para isso, o modelo de processo de software composto
por atividades de apoio como, por exemplo, o Levantamento e Anlise de Requisitos, a
Modelagem do Sistema, a Implementao e os Testes [Presman 2010]. A Anlise de
Requisitos o processo de avaliao das funcionalidades do sistema, e tem como objetivo
evitar redundncia e esclarecer os procedimentos a serem realizados pelo software. A
Modelagem do Sistema constri uma visualizao prvia das funcionalidades de
abrangncia. O Desenvolvimento do Sistema define a estrutura de cdigo. Os Testes tratam
as falhas e excees do desenvolvimento.
Para Qiuyan (2012), a modelagem permite uma representao mais clara dos
requisitos a serem implementados no sistema. Alm disso, serve como documentao de
X Encontro Anual de Computao - EnAComp 2013
260
contrato entre a equipe de desenvolvimento e o cliente. A Object Management Group
(OMG) [OMG 2013] define os modelos como representaes grficas que trazem consigo
informaes importantes sobre o sistema. Segundo Liu (2005), os modelos so estruturados
a partir de seus metamodelos que contm uma sintaxe abstrata e semntica esttica de uma
linguagem de modelagem especfica de domnio.
Alm disso, Piers (2012) ressalta a possibilidade de realizar transformaes
automticas em modelos com o objetivo de melhorar a qualidade, evitar erros e economizar
esforos no processo de desenvolvimento de software. A tcnica de transformao
automatizada permite que atravs de um modelo de entrada seja gerado um ou mais
modelos de sada. O procedimento possibilita que as alteraes sofridas em processos
organizacionais modelados sejam rapidamente refletidas no software. Para isso, a OMG
define padres e metodologias para o processo de transformaes de modelos como, por
exemplo, o Meta Object Facility (MOF) que define uma arquitetura para criao de
metamodelos, e o Atlas Transformation Language (ATL) linguagem procedural capaz de
executar transformaes unidirecionais.
No entanto, antes da execuo da transformao do modelo ou modelagem, as
equipes buscam qualificar e quantificar as entidades que esto envolvidas no processo, a
fim de identificar relaes e dependncias dos elementos e o impacto causado pelas
mudanas. A anlise geralmente realizada atravs das imagens dos diagramas gerados
pelas ferramentas. No entanto, a anlise visual passvel de erro, pois os diagramas podem
estar representados em um nvel de abstrao alto.
Para extrair as informaes contidas em um metamodelo necessrio que seja
interpretados a estrutura de metadados do arquivo baseado em XML Metadata Interchange
(XMI). O XMI permite o intercmbio de metadados entre ferramentas baseadas no padro
da OMG como, por exemplo o Eclipse Model Framework (EMF) que utiliza o metamodelo
ECore.
Neste sentido, o presente trabalho tem como objetivo realizar a extrao de dados
do metamodelo ECore atravs da criao de uma ferramenta baseada em software que
permitir a anlise dos elementos contidos no modelo. Essas informaes daro subsdios
para que equipes de modelagem tomem decises acerca da transformao de modelos.
2. Background
O Model Driven Engineering (MDE) uma tendncia da engenharia de software que rene
todas as abordagens baseadas em modelo para o ciclo de desenvolvimento de software.
[Rensink 2006]. O Model Driven Architecture (MDA) faz parte do conjunto proposto pela
MDE. O Objetivo do MDA definir a estrutura e o comportamento do sistema em um nvel
de abstrao mais alto que desconsidera tecnologias e implementaes subjacentes. Sua
proposta principal diminuir o contato com cdigo-fonte, deixando o esforo voltado para
a anlise e desenvolvimento de modelos. Dessa forma, o modelo deixa de ser apenas um
guia, uma referncia para o desenvolvimento, e passa a compor o software assim como o
cdigo-fonte [Moraes 2002].
X Encontro Anual de Computao - EnAComp 2013
261
Para definir sua estrutura semntica e sinttica, o modelo p
metamodelos. Segundo a OMG, o metamodelo confere vantagens na implementao e
interoperabilidade de modelos, pois define regras, restries e teorias teis para a
modelagem.
2.1. Estrutura de um modelo
A OMG padronizou a arquitetura de metamodelo atravs da criao do
Facility (MOF), desenhada quatro meta
sintaticamente e semanticamente
as camadas que compe o padro MOF,
ndices M0 at o M3.
Figura 1.
O nvel M0 a camada mais baixa da arquitetura que constituem as instncias
concretas dos elementos represen
por representar os elementos que constituem as abstraes definidas pelo utilizador da
UML no seu processo de modelagem; O nvel M2 de
elementos que constituem as abstraes definidas pelos criadores da UML, ou seja,
estruturas para definio d
Relacionamento, etc.); Por fim, o nvel M3 de Meta
elementos que sero responsveis pela especificao dos metamodelos (Por exemplo:
MetaClasse, MetaAtributo, MetaMtodo, MetaRelacionamento, etc.) [Silva 2008][Rensink
2006]. Durante a implementao do padro MOF as ferramentas podem optar em reduzir
ou aumentar a quantidade de camadas definidas pela OMF.
Baseado nas especificaes da OMG o EMF permite a construo de ferramentas e
aplicaes baseadas em modelo de classe baseado na UML
converte os modelos criados para o form
classes definidas pelo modelo [Vogel, 2008]. importante ressaltar que o metamodelo
definido pelo ECore baseado no padro
permite maior integrao do EMF com o
MOF.
Para definir sua estrutura semntica e sinttica, o modelo pode utilizar um ou mais
metamodelos. Segundo a OMG, o metamodelo confere vantagens na implementao e
interoperabilidade de modelos, pois define regras, restries e teorias teis para a
2.1. Estrutura de um modelo
A OMG padronizou a arquitetura de metamodelo atravs da criao do
(MOF), desenhada quatro meta-camadas. O MOF capaz de estruturar
semanticamente um conjunto de modelos [Silva 2008]. A Figura 1 mostra
compe o padro MOF, possvel identifica-las de baixo para cima pelos

Figura 1. Arquitetura do Metamodelo MOF [OMG 2013].
O nvel M0 a camada mais baixa da arquitetura que constituem as instncias
concretas dos elementos representados num modelo; O nvel M1 de Modelos responsvel
por representar os elementos que constituem as abstraes definidas pelo utilizador da
UML no seu processo de modelagem; O nvel M2 de Metamodelo
elementos que constituem as abstraes definidas pelos criadores da UML, ou seja,
io dos modelos (Por exemplo: Classe, Atributo, Mtodo,
Relacionamento, etc.); Por fim, o nvel M3 de Meta-metamodelo que permite definir
elementos que sero responsveis pela especificao dos metamodelos (Por exemplo:
MetaClasse, MetaAtributo, MetaMtodo, MetaRelacionamento, etc.) [Silva 2008][Rensink
2006]. Durante a implementao do padro MOF as ferramentas podem optar em reduzir
aumentar a quantidade de camadas definidas pela OMF.
Baseado nas especificaes da OMG o EMF permite a construo de ferramentas e
aplicaes baseadas em modelo de classe baseado na UML [Steinberg et al 2009].
converte os modelos criados para o formato ECore que contm informaes acerca das
classes definidas pelo modelo [Vogel, 2008]. importante ressaltar que o metamodelo
definido pelo ECore baseado no padro Meta-Object Facilities (MOF). Essa caracterstica
permite maior integrao do EMF com outras ferramentas que tambm utilizam o padro
ode utilizar um ou mais
metamodelos. Segundo a OMG, o metamodelo confere vantagens na implementao e
interoperabilidade de modelos, pois define regras, restries e teorias teis para a
A OMG padronizou a arquitetura de metamodelo atravs da criao do Meta Object
camadas. O MOF capaz de estruturar
um conjunto de modelos [Silva 2008]. A Figura 1 mostra
las de baixo para cima pelos
].
O nvel M0 a camada mais baixa da arquitetura que constituem as instncias
tados num modelo; O nvel M1 de Modelos responsvel
por representar os elementos que constituem as abstraes definidas pelo utilizador da
Metamodelo composto por
elementos que constituem as abstraes definidas pelos criadores da UML, ou seja,
os modelos (Por exemplo: Classe, Atributo, Mtodo,
que permite definir os
elementos que sero responsveis pela especificao dos metamodelos (Por exemplo:
MetaClasse, MetaAtributo, MetaMtodo, MetaRelacionamento, etc.) [Silva 2008][Rensink
2006]. Durante a implementao do padro MOF as ferramentas podem optar em reduzir
Baseado nas especificaes da OMG o EMF permite a construo de ferramentas e
[Steinberg et al 2009]. O EMF
ato ECore que contm informaes acerca das
classes definidas pelo modelo [Vogel, 2008]. importante ressaltar que o metamodelo
(MOF). Essa caracterstica
utras ferramentas que tambm utilizam o padro
X Encontro Anual de Computao - EnAComp 2013
262

Figura 2. Modelo de classe gerado pelo EMF [EMF 2013].
possvel observar na A Figura 2 um simples modelo de classe gerado atravs do
EMF. A classe denominada Book contm o atributo title do tipo String, e pages do tipo
int. O modelo da Figura 2 descrito atravs da meta-informaes presentes no documento
do XML Metadata Interchange visto na Figura 3.

Figura 3. Representao textual XML Schema para um modelo EMF [EMF 2013].
A Figura 4 representa as quatro entidades bsicas do metamodelo ECore. O ECore
composto pela entidade EClass, EAtrribute, EDataType, EReference. A EClass modela
uma classe que pode possuir um identificador, cardinalidade e referncias. A EAttribute
modela um atributo que pode possuir nome e tipo. A EReference, representa a extremidade
de uma associao entre as classes. A EDataType modela um tipo de atributo, podendo ser
um tipo de dado primitivo ou composto.

Figura 4. Diagrama de Classes para a representao feita por um modelo ECore.
3. Materiais e Mtodos
O trabalho foi desenvolvido por um grupo de Iniciao Cientfica que investiga temticas
relacionadas a Modelagem Dirigida a Modelos (MDD) no Instituto Federal de Educao,
X Encontro Anual de Computao - EnAComp 2013
263
Cincia e Tecnologia da Paraba campus Campina Grande. O grupo formado por
estudantes do curso Superior em Telemtica e pelo professor orientador. Durante o perodo
de reviso da literatura foram levantados aspectos importantes sobre a transformao
automtica de modelos como, por exemplo, a anlise esttica e extrao de dados de
metamodelos.
3.1 Ferramentas de modelagem
A pesquisa utilizou o ambiente de modelagem baseado no (EMF) para desenvolver o
modelo presente na Figura 5. O modelo representa o Sistema de Orientao Docente-
Discente que servir como artefato de anlise da ferramenta de anlise esttica e extrao
de informaes de modelos.

Figura 5. Modelo Sistema de Orientao Docente-Discente.
3.2. Especificao de Requisitos
Tabela 1 - Lista de requisitos para construo do sistema
Requisito Descrio
Extrair dados do ECore Extrair as informaes contidas no arquivo XMI que
representa o modelo de classe baseado em ECore. A
extrao resultar na criao de uma instncia de objeto
Java composto por uma lista de Classes que seguir a
definio do modelo EClass.
Exibir Relacionamento Exibir informaes sobre as classes que compe o
modelo. Ser possvel visualizar os atributos, agregaes e
X Encontro Anual de Computao - EnAComp 2013
264
heranas presentes nos relacionamentos bem como sua
cardinalidade.
Gerar Relatrio para Anlise Gerar um relatrio capaz de quantificar e analisar as
caracteristicas do modelo. O documento sintetizado e de
fcil interpretao, pois auxiliar no processo de
transformao de modelo.
3.3. Implementao das funcionalidades
O sistema foi estruturado a partir da arquitetura prevista pelo Model-View-Controller
(MVC) e codificado atravs da linguagem de programao Java. A codificao dos
requisitos de Extrao de dados do ECore e Gerao de relatrio realizou-se no ambiente de
desenvolvimento do Eclipse. No entanto, para a construo das interfaces grficas baseadas
em Swing utilizou-se a ferramenta NetBeans.
Como forma de modularizar os comportamento referentes a Extrao de dados do
ECore a equipe resolveu criar uma API base responsvel por transformar o arquivo XMI,
baseado no ECore, em instncia de objeto que representa o diagrama de classe mostrado na
Figura 4.
4. Resultados
A aplicao inicia o procedimento de interpretao da estrutura do modelo de classe atravs
da leitura de um arquivo XMI disponibilizado pela equipe de modelagem. A interpretao
desde arquivo gera a instncia de objeto que contem a lista de classe com suas
caractersticas e comportamento. possvel observar na Figura 6 a exibio de todas as
entidades existentes no modelo da Figura 5. A interface permite que a equipe de
modelagem acesse as opes de atributos, mtodos, relacionamentos inerente a cada classe.
A opo Gerar Relatrios fornece um detalhamento quantitativo de relacionamentos,
heranas, quantidades de atributos e comportamentos presentes em todo o modelo.

Figura 6. Tela exibindo as classes de um modelo de entrada.
5. Consideraes Finais
A ferramenta poder auxiliar empresas de desenvolvimento ou pesquisadores durante a
realizao da avaliao de estrutura de modelos baseados em ECore. Ser possvel que
X Encontro Anual de Computao - EnAComp 2013
265
uma equipe de engenharia de software avalie, atravs da ferramenta desenvolvida, a
maturao de um modelo em linha de desenvolvimento de software, evitando assim, erros
durante o processo de codificao de sistemas humanos.
Referncias
Piers, W. and Bruneliere, H. (2012). ATL Concepts. Disponvel em:
<http://wiki.eclipse.org/ATL/Concepts>. Acessado em: 10 fev. 2013.
Vogel, L. (2008). Eclipse EMF. Disponvel em: <http://www.vogella.com/
articles/EclipseEMF/article.html>. Acessado em: 19 fev. 2013.
Burbeck, S. (1987). Applications programming in smalltalk-80(tm): How to use model-
view-controller (mvc).
Castro, S. (2008/2009). Modelos de cdigo java eclipse java model e emf java model.
Technical report, Instituto Superior de Engenharia do Porto.
EMF (2013). Emf. the eclipse modeling framework (emf) overview. Disponvel em:
http://help.eclipse.org/indigo/nav/22 0. Acessado em: 07 jan. 2013.
Flix, R. (2010). Dsltranslator - ferramenta para transformacoo de modelos. Masters
thesis, Universidade Nova de Lisboa, Faculdade de Cincias e Tecnologia,
Departamento de Informtica.
Kleppe, A. G., Warmer, J., and Bast, W. (2003). MDA Explained: The Model Driven
Architecture: Practice and Promise. Addison-Wesley Longman Publishing Co., Inc.,
Boston, MA, USA.
Kreutz, M. and Silva, D. R. C. (2013). Metrpole digital. Disponvel em:
http://www.metropoledigital.ufrn.br/aulas
avancado/web/disciplinas/desktop/aula03.html. Acesso em: 18 jan. 2013.
Lapenda, R., Madruga, P., and Loniewski, G. (2008). Utilizando transformaco de modelos
para o desenvolvimento de softwares de qualidade.
Liu, J., He, K., Li, B., He, C., and Liang, P. (2005). A transformation definition metamodel
for model transformation. In Information Technology: Coding and Computing, 2005.
ITCC 2005. International Conference on, volume 2, pages 373 378 Vol. 2.
Lucrdio, D. (2009). Uma Abordagem Orientada a Modelos para Reutilizao de Software.
PhD thesis, Instituto de Cincias Matemticas e de Computao. Universidade de So
Paulo.
Moraes, T. (2012). Extrao do comportamento especificado em modelos uml usando o
eclipse modeling framework.
Oliveira, . P., Bezerra, T. S., Ramos, L. A., Guedes, R. M. (2012). Uso de modelos de
integrao para transformaes de modelos baseados em metamodelos. VII CONNEPI.
OMG (2013). Documents associated with mof version 2.0. Disponvel em:
http://www.omg.org/spec/MOF/2.0/. Acesso em: 07 jan. 2013.
X Encontro Anual de Computao - EnAComp 2013
266
Pressman, R. (2010). Software engineering: a practitioners approach. McGraw-Hill higher
education. McGraw-Hill Higher Education.
Qiuyan, L., Jie, T., Qiuhong, P., Ji, W., and Chao, L. (2011). Automatic transformation
technology from aadl model to uml model. In Communication Software and Networks
(ICCSN), 2011 IEEE 3rd International Conference on, pages 255258.
Rahimi, S. (2010). Specification of uml model transformations. In Software Testing,
Verification and Validation (ICST), 2010 Third International Conference on, pages 323
326.
Selic, B. (2003). The pragmatics of model-driven development. IEEE Softw., 20(5):1925.
Silva, A. d., Videira, C., and Atlntico, C. (2008). UML, metodologias e ferramentas
CASE: linguagem de modelao UML, metodologias e ferramentas CASE na concepo
e desenvolvimento de sistemas de informao. Number v. 1. Centro Atlntico.
Sommerville, I. (2003). Engenharia de Software. Addison Wesley, So Paulo, SP, 6
edition. Traduo Andr Maurcio de Andrade Ribeiro; Reviso tcnica Kechi Hirama.
Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2009). EMF: Eclipse
Modeling Framework 2.0. Addison-Wesley Professional, 2nd edition.
Zhang, J., Liu, S., Wang, X., and Qin, T. (2008). A model transformation classification
method used in qvt. In IT in Medicine and Education, 2008. ITME 2008. IEEE
International Symposium on, pages 464 468.
X Encontro Anual de Computao - EnAComp 2013
267





Aplicando Padres de Seleo no Ensino de Programao de
Computadores para Estudantes do Primeiro Ano do Ensino
Mdio Integrado
Alexis V. de A. Leal
1
, Deller J. Ferreira
2

1
Instituto Federal de Mato Grosso campus Barra do Garas (IFMT)
Estrada de acesso a BR-158, S/N 78.600-000
Barra do Garas MT Brazil
2
Instituto de Informtica Universidade Federal de Gois (UFG)
Caixa Postal 131 79-001-970 Goinia GO Brazil
{alexisleal,deller}@inf.ufg.br

Abstract. This paper describes an experience related to the use of
programming patterns in the teaching of algorithms and computer
programming to students the first year of high school in integrated mode. We
present and discuss the preliminary results of ongoing research, which
addresses the combined use of algorithmic programming patterns with
concrete materials and games.
Resumo. O presente artigo descreve uma experincia relacionada ao uso de
padres de programao no ensino de algoritmos e programao de
computadores, para estudantes do primeiro ano do Ensino Mdio na
modalidade Integrado. So apresentados e discutidos os resultados
preliminares da pesquisa em andamento, que aborda a combinao do uso de
padres de programao de programao e jogos com materiais concretos.
1 - Introduo
A preocupao com a falta de mo de obra em tecnologia, especialmente na rea de
Informtica, vem chamando muito a ateno nos dias atuais, tanto por parte do governo,
quanto pela iniciativa privada. Conforme o MINISTRIO DA EDUCAO [2010], o
Governo Federal investir R$ 1,2 bilho nos Institutos Federais de Educao, Cincia e
Tecnologia at o ano de 2014. Parte destes recursos ser destinada formao de
profissionais de informtica de nvel superior e mdio tcnico, conforme Lei
11.892/2008, a prioridade a formao na modalidade Integrada ao Ensino Mdio.
Grande parte dos Institutos Federais no Brasil oferece o curso Tcnico em Informtica
Integrado ao Ensino Mdio.
Com relao aos cursos onde a base da formao tcnica deve ser em
programao, o objetivo inicial o domnio dos conceitos bsicos de algoritmos e
programao de computadores, justamente para o prosseguimento dos estudos nos anos
subsequentes. Grande parte dos estudantes encontram grandes dificuldades, sejam elas
decorrentes de uma formao deficitria no Ensino Fundamental ou o total
X Encontro Anual de Computao - EnAComp 2013
268





desconhecimento do foco do curso no qual se est ingressando, j que muitos so
exmios usurios de tecnologias computacionais e aliam a escolha do curso a este fator.
Para suprir a demanda dos profissionais de Tecnologia da Informao,
fundamental que se aprimore a qualidade do processo de ensino e aprendizagem nos
cursos da rea de computao e informtica. Um dos gargalos destes cursos o alto
ndice de reprovao e/ou evaso, desde o incio do curso, em disciplinas de algoritmos
e programao [PEREIRA JNIOR et al, 2005]. Em geral, os estudantes que ingressam
nos cursos tcnicos integrados so adolescentes, com idade entre 13 e 15 anos. No caso
do IFMT, metade das vagas dos cursos destinada a alunos que cursaram todos os nove
anos do Ensino Fundamental em escolas pblicas e a outra metade, para o chamado
acesso universal [IFMT, 2011], que so as vagas destinadas a alunos que, ou no
cursaram todo o Ensino Fundamental em instituies de ensino pblicas ou so egressos
de instituies privadas.
Neste sentido, dadas s particularidades dos estudantes em questo, faz-se
necessria a busca de novas abordagens e metodologias de ensino, em contraponto ao
ensino tradicional de algoritmos e programao de computadores. No chamado modo
tradicional, o contedo de tal disciplina apresentado de forma expositiva
concentrando-se na soluo de problemas. Conforme apresentado em PEREIRA
JUNIOR & RAPKIEWICZ [2004], no modo tradicional, o professor apresenta o
contedo atravs do chamado portugol, apresenta alguns exemplos e prope exerccios
para a turma. Segundo BORGES [2000], o modo tradicional no consegue facilmente
motivar os alunos a se interessar pela disciplina, pois no claro para os alunos a
importncia de certos contedos para sua formao.
Desta forma, este artigo descreve uma primeira experincia, realizada no
primeiro bimestre de 2012, entre os meses de abril e junho, numa turma de primeiro ano
do Ensino Mdio Integrado a Informtica. A experincia ocorreu no IFMT campus
Barra do Garas, na disciplina Algoritmos e Lgica de Programao, utilizando quatro
padres de programao de seleo para resoluo dos problemas apresentados em uma
lista de exerccios.
O restante deste artigo est organizado da seguinte forma. A Seo 2 faz um
estudo do uso de padres para ensino de programao. O desenvolvimento do trabalho
apresentado na Seo 3. Na Seo 4, apresentamos a concluso e as possibilidades de
trabalhos futuros e por ltimo, na seo 5, agradecemos aos rgos que apoiaram esta
pesquisa.
2. Ensino e Padres de Programao
Estudantes novatos em programao apresentam muitas dificuldades, tais como
problemas relacionados com a capacidade de abstrao, falta de habilidades para lidar
com problemas e, no caso de estudantes recm-sados do nono ano do Ensino
Fundamental, problemas de aprendizagem, principalmente em contedos de Cincias
Exatas. Dois grandes desafios para o estudante, conforme WINSLOW [1996] so
aprender uma nova linguagem de programao e aprender como criar uma soluo
computacional que resolva um dado problema. Com relao ao primeiro problema,
aprender as regras de sintaxe e semntica da linguagem torna-se relativamente
X Encontro Anual de Computao - EnAComp 2013
269





complexo, ainda mais se considerarmos que os comandos, como no caso da linguagem
C++, so em ingls. Entretanto, o maior desafio para o programador iniciante, realmente
interpretar o problema, resolv-lo algoritmicamente e codificar o algoritmo em uma
linguagem de programao.
Programadores experientes conseguem, a partir do problema a ser resolvido,
identificar qual estrutura usar, quais os tipos de dados envolvidos, bem como outras
formas de resolver o mesmo problema usando estratgias diferentes. Resoluo de
novos problemas utilizando experincias prvias, adaptando as solues para resolv-
las, discutida por JOHNSON e SOLOWAY [1984] atravs do sistema PROUST, que
trabalha com experincias de programao anteriores dos estudantes para o ensino da
linguagem de programao Pascal. Estas experincias prvias contm a base para os
padres de programao, que so solues que, com frequncia, aparecem na resoluo
de problemas computacionais. Padres traduzem estratgias de programao criadas por
especialistas. Desse modo, os alunos tiram proveito de boas prticas de programao.
Estes padres elementares, tambm chamados de padres pedaggicos de
programao [PORTER e CALDER, 2003], contm o esqueleto no qual o problema
ser resolvido pelo ento iniciante em programao de computadores. Padres de
programao formam uma base inicial de micro solues que podem ser adaptadas e
combinadas pelos alunos durante a elaborao de seus programas.
Um padro um modelo que relata uma soluo para um problema e fornece
informaes sobre o contexto em que ele deve ser aplicado [BARROS, et al, 2005].
Assim, o estudante iniciando seus estudos em programao, ao se deparar com
determinado tipo de problema, pode direcionar sua resoluo a partir dos padres j
conhecidos, sendo que o professor tem um papel fundamental neste processo, que ser
discutido mais adiante. CLANCY e LINN [1999] descreveram como padres podem ser
utilizados no ensino de programao, concluindo que os estudantes necessitam fazer o
processo de aprender, criar e reformular padres, tornando isso uma prtica regular em
seu processo de aprendizagem de programao. Desta forma, os exerccios devem ser
criados pelo professor de forma a estimular o uso de padres simples, combinaes
entre diferentes padres, bem como estimular a criao de novos padres pelo prprio
estudante.
Padres de programao so solues para problemas computacionais
recorrentes, formando blocos para o desenvolvimento de algoritmos. Padres de
programao se referem classificao de problemas computacionais de acordo com o
seu objetivo. [MULLER, 2005]. Assim, o aluno pode, atravs de uma classificao
identificar, a partir do problema a ser solucionado, qual padro pode ser utilizado para
elaborao do algoritmo que soluciona o problema. Outro problema para o iniciante em
programao a questo da capacidade de abstrao. Em HABERMAN e MULLER
[2008], proposto um mtodo de ensino de abstrao, combinado com resoluo de
problemas atravs de padres. Neste trabalho, as autoras pesquisaram a influncia da
combinao de padres com ensino baseado em tipos abstratos de dados. Sendo assim,
o estudo mostrou que possvel combinar ensino baseado em padres com outros
mtodos de ensino.
X Encontro Anual de Computao - EnAComp 2013
270





Outros problemas relacionados ao ensino de programao so discutidos por
MULLER [2005]. Um deles a capacidade do estudante de reconhecer similaridades
entre problemas, particularmente entre o problema em questo e problemas encontrados
e resolvidos previamente. Por conta disso, existe a necessidade de se categorizar,
catalogar e descrever os principais padres de forma que, quando o estudante se deparar
com determinado problema, possa inferir qual padro ou combinao de padres de
programao pode ser utilizado na resoluo do mesmo.
As categorias de padres mais citadas em artigos da rea esto descritas em
BERGIN [1999] com relao a padres de seleo e em ASTRACHAN &
WALLINGFORD [1998], que descreve os padres de repetio. BERGIN [1999] se
preocupa tambm em apresentar, alm dos padres se seleo propriamente ditos,
padres de estratgia de resoluo de problemas, padres auxiliares e padres
estilsticos. Todavia, neste estudo, foram abordados apenas quatro padres de seleo
que sero descritos posteriormente.
3. Desenvolvimento do trabalho
A presente Seo demonstra os detalhes de como o trabalho foi desenvolvido. Na Seo
3.1, demonstramos o ambiente escolar, destacando como ofertado o Ensino Mdio
Integrado no IFMT, o perfil dos estudantes que participaram do estudo, bem como
alguns problemas encontrados no trabalho. A Seo 3.2 pontua os quatro padres de
programao abordados no trabalho. A Seo 3.3 discorre sobre o mtodo de ensino
utilizado discutindo alguns resultados obtidos.
3.1 - Caracterizaes do ambiente escolar
Na modalidade Ensino Mdio Integrado, os alunos do IFMT frequentam as aulas das
disciplinas do ncleo comum, tais como Lngua Portuguesa, Matemtica, Histria,
Geografia dentre outras no perodo da manh, das 07:00 s 12:30, sendo que as
disciplinas do ncleo profissionalizante so cursadas no perodo da tarde. Nesta
modalidade, o campus Barra do Garas oferece os cursos de Tcnico em Alimentos,
Tcnico em Comrcio, Tcnico em Controle Ambiental e Tcnico em Informtica.
O trabalho foi desenvolvido com alunos do primeiro ano do Ensino Mdio, nos
meses de abril, maior e parte de junho, o que corresponde ao primeiro bimestre de 2012.
A classe, inicialmente, era composta por 39 estudantes, na faixa etria entre 13 a 15
anos, sendo que a distribuio por sexo se d em 23 alunos do sexo masculino e 17
alunas do sexo feminino. A maioria, num total de 25 estudantes, egressa de escolas
pblicas e o restante de escolas privadas. As aulas da disciplina Algoritmos e Lgica de
Programao aconteceram s teras-feiras, das 14:30 s 17:30, com intervalo de 20
minutos iniciando s 16:00. A disciplina ofertada anualmente para o primeiro ano do
Ensino Mdio, com 120 horas/aula de durao, sendo 30 horas/aula por bimestre letivo.
3.2 - Padres de Seleo Utilizados no Trabalho
Para a apresentao e discusso dos padres de programao com os alunos foi
desenvolvido material instrucional baseado nos padres de programao apresentados
por BERGIN [1999]. Os padres de programao apresentados e aplicados neste
trabalho, bem como o foco do material instrucional, so apresentados a seguir.
X Encontro Anual de Computao - EnAComp 2013
271





3.2.1 - Seleo nica
Este padro de seleo utilizado quando existe a necessidade de testar se uma condio
apropriada dependendo da condio de teste. No exemplo abaixo, o comando c = a +
b s ser executado se a condio de teste for verdadeira, caso contrrio o programa
continuao sua execuo.

3.2.2 - Escolha alternativa
Este padro utilizado quando se tem exatamente duas condies possveis no teste
lgico relacional. Ao contrrio do padro seleo nica este padro contm uma
segunda parte, que executada caso o primeiro teste for falso. No exemplo abaixo, caso
a varivel a seja menor ou igual a b, ser executada a parte do else, que c = a + b.

3.2.3 - Escolha sequencial
O padro escolha sequencial utilizado quando existem mais de duas condies
possveis no teste, desde que haja a necessidade de se fazer testes relacionais entre uma
ou mais variveis e um valor, ou entre uma ou mais variveis com outras variveis. O
exemplo abaixo contm o trecho de um programa que verifica que tipo de tringulo
formado, dada as entradas realizadas pelo usurio. O uso do padro escolha sequencial
indicado, pois existem mais de dois testes a serem realizados e existem testes entre
variveis.

3.2.3 - Srie de Possibilidades
Este padro utilizado quando existem vrias condies possveis no teste, desde que
no seja necessrio algum teste relacional entre a varivel de teste com algum valor ou
da uma varivel de teste com outra varivel. O exemplo a seguir utiliza o padro Srie
de Possibilidades, para fazer um programa que simula uma calculadora contendo as
quatro operaes bsicas. Cada possibilidade possui uma instruo break, que
interrompe a execuo do comando relacionado ao padro.
X Encontro Anual de Computao - EnAComp 2013
272






3.3 - Mtodo de Ensino Utilizado
Nesta Seo, descrevemos o a aplicao do mtodo de ensino utilizado no trabalho que
resultou em um experimento bem sucedido. O experimento foi dividido em duas partes:
apresentao e discusso dos padres de programao e aplicao de uma lista de
exerccios a serem codificados em uma linguagem de programao, explorando os
padres apresentados.
3.3.1 - Apresentao e discusso dos padres de programao
Primeiramente, os alunos foram apresentados aos padres, tentando manter sempre um
paralelo entre o que eles vivem diariamente. Por exemplo, o padro da escola no
utilizar bon ou bermuda em sala de aula. Ou o padro das carteiras do laboratrio a
cor azul. Assim, solicitado que eles apontem o que est fora dos padres dentro de sala
de aula. As apresentaes dos padres desta forma tm como objetivo deixar a aula
mais leve, buscando que os exemplos sejam retirados do mundo no qual o aluno vive,
no o mundo abstrato da programao de computadores.
Os alunos trabalharam em duplas nos computadores do laboratrio. Conforme
McDOWELL [2002], estudantes que estudam programao em pares produzem
melhores programas que alunos que estudam individualmente. Parte do trabalho
tambm foi feito em ambientes fora do laboratrio de informtica.
Aps a discusso dos padres, os mesmos so mostrados em forma de
linguagem de programao. A linguagem de programao utilizada nas aulas foi a
linguagem C++ e os exemplos foram mostrados utilizando a IDE Dev C++ verso 4.9.2.
3.3.2 - Implementao da Lista de Exerccios
Aps a apresentao dos padres, foi lanada uma lista contendo 10 exerccios,
com diferentes graus de dificuldade e foi disponibilizada no grupo virtual IFMT-
Informtica na rede social Facebook. Para cada exerccio da lista, foi solicitado que,
atravs de um comentrio no cabealho do cdigo de implementao, o estudante
responda qual padro est sendo utilizado na resoluo do problema bem como o
porqu da utilizao do referido padro. Assim, para cada exerccio, o estudante poder
refletir, tanto individualmente, quanto em dupla, como se chegou resoluo do
problema. Dessa forma, ele pode utilizar a resoluo de um problema atravs de um
padro, para resolver outro problema semelhante, utilizando a mesma estrutura.
Com o objetivo de diagnosticar qual padro os alunos tiveram mais dificuldades
de compreender para a resoluo da lista de exerccios, foi lanada uma enquete via
internet, onde os estudantes tinham que responder, dentre os padres utilizados em sala,
baseando-se na resoluo da lista de exerccios, qual foi o que o ele teve mais
X Encontro Anual de Computao - EnAComp 2013
273





dificuldades para utilizar. A enquete foi criada no Wordpress, com bloqueios atravs de
cookies e endereo IP, para garantir que um aluno participasse mais de uma vez da
enquete. Dos 39 alunos, 15 responderam a enquete on-line. O padro considerado de
maior dificuldade de compreenso foi o Srie de Possibilidades, com 71,43% (11
votos). A tabela a seguir, mostra o resultado da enquete.
Tabela 1: resultado da enquete on-line
Padro Votos Percentual
Seleo nica 0 0.00%
Escolha alternativa 1 7.14%
Escolha sequencial 3 21.43%
Srie de possibilidades 11 71.43%

Considerando minha experincia prvia como docente, ao basear as solues dos
problemas em padres de programao, os estudantes conseguiram solues mais
rpidas para os problemas dados. Muitos alunos, apesar da soluo do problema estar
correta, confundiram alguns comandos, especialmente os de relao entre uma varivel
e outra, bem como uma varivel e um valor (igual, atribuio, diferente, maior, maior
ou igual, menor, menor ou igual).
4. Concluso e Trabalhos Futuros
A abordagem utilizando-se padres de programao contextualizados no mundo real
mostrou-se promissora, pois desta forma, o estudante consegue, atravs de modelos
previamente estudados, resolver problemas de programao com maior eficincia com
relao ao mtodo tradicional de ensino. Interpretar o problema, buscando sua resoluo
atravs de solues j conhecidas e testadas (padres), parece ser uma abordagem eficaz
no ensino de algoritmos para estudantes iniciantes em programao no Ensino Mdio.
Trabalhos futuros sero elaborados utilizando padres e jogos com materiais
concretos em ambientes no formais para o ensino de programao de computadores.
Outros trabalhos futuros podero envolver estudos de combinao de padres de seleo
e padres de programao de repetio.
5. Agradecimentos
Agradecemos o auxlio financeiro da Fundao de Amparo Pesquisa do Estado de
Gois (FAPEG), e a cesso do espao para a realizao da pesquisa pelo Instituto
Federal de Mato Grosso (IFMT), campus Barra do Garas.
6. Referncias
ASTRACHAN, O. , WALLINGFORD E. (1998). Loop Patterns,
http://www.cs.duke.edu/~ola/patterns/plopd/loops.html, Junho 2012.
X Encontro Anual de Computao - EnAComp 2013
274





BARROS, L. N., MOTA, A. P. S., DELGADO, V. K., MATSUMOTO, P. M. (2005) A Tool
for Programming Learning with Pedagogical Patterns, In: Proceedings of the 2005
OOPSLA - Workshop on Eclipse Technology eXchange, ACM Press, p. 125-129.
BORGES, M. A. F. (2000) Avaliao de uma Metodologia Alternativa para a Aprendizagem
de Programao. In: VIII Workshop de Educao em Computao WEI 2000. Curitiba,
PR, Brasil.
BERGIN, J. (1999). Patterns for Selection Version 4,
http://csis.pace.edu/~bergin/patterns/Patternsv4.html, Junho 2012.
CLANCY, J. e LINN, M. C. (1999) Patterns and Pedagogy, In: Proceedings of the
30th SIGCSE Technical Symposium on Computer Science Education, ACM Press, p. 37-
42.
HABERMAN, B. e MULLER, O. (2008) Teaching Abstraction to Novices: Pattern-Based
and ADT-Based Problem-Solving Processes, In: 38th ASEE/IEEE Frontiers in Education
Conference, IEEE, p. F1C-7-F1C12.
IFMT (2011). Exame de Seleo 2012/1 - Ensino Mdio Integrado - Edital N
61/2011, http://selecao.ifmt.edu.br/download.aspx?cod_arquivo_download=3864,
Junho, 2012.
JOHNSON, W. L. e SOLOWAY, E. (1985) PROUST: Knowledge-based program
understanding.In: IEEE, Transactions on Software Engineering, IEEE, p. 369-380.
MINISTRIO DA EDUCAO. Institutos Federais Uma Conquista de Todos os
Brasileiros, http://portal.mec.gov.br/dmdocuments/folheto_setec.pdf, Junho 2012.
MULLER, O. (2005) Pattern Oriented Instruction and the Enhancement of Analogical
Reasoning, In: Proceedings of the first international workshop on Computing education
research (ICER), ACM Press, p. 57-67.
MULLER, O., HABERMAN, B.,GINAT, D. (2007) Pattern-Oriented Instruction and its
Influence on Problem Decomposition and Solution Construction, In: Proceedings of the
12th Annual SIGCSE - Conference on Innovation and Technology in Computer Science
Education (ITiCSE'07), ACM Press, p. 151-155.
PEREIRA JNIOR, J. C. R., RAPKIEWICZ, C.E. (2004) O Processo de Ensino-
Aprendizagem de Programao: Uma Viso Crtica da Pesquisa no Brasil, In: WEI -
Workshop de Informtica na Educao 2004.
PEREIRA JNIOR, J. C. R., RAPKIEWICZ, C. E, DELGADO, C., XEXEO, J. A. M. (2005).
Ensino de Algoritmos e Programao: Uma Experincia no Nvel Mdio. In: XIII
Workshop de Educao em Computao - SBC2005, 2005, So Leopoldo.
PORTER, R. e CALDER, P. Pattens in Learning to Program An Experiment?(2004), In:
Proceedings of the Sixth Australasian Conference on Computing Education, ACM Press, p.
241-246.
SOLOWAY, E. (1986) Learning to Program = Learning to Construct Mechanisms
and Explanations, In: Communications of the ACM, ACM Press, p. 850-858.
WINSLOW, L. E. (1996) Programming Pedagogy A Psycological Overview, In:
ACM SIGCSE Bulletin, ACM Press, p. 17-22.
X Encontro Anual de Computao - EnAComp 2013
275
Modelagem de Vdeo MPEG-4 Utilizando Cascata
Multifractal com Multiplicadores Autorregressivos

Flvio Geraldo Coelho Rocha, Flvio Henrique Teles Vieira e Douglas Borges de
Oliveira Filho
Escola de Engenharia Eltrica e de Computao (EEEC/UFG)
Av. Universitria, n.1488, Qd. 86, Bloco A
74605-010, Goinia, GO, Brasil
flavio.geraldo@gmail.com, flavio@eee.ufg.br, douglasfilho@gmail.com

Abstract. In this paper we propose a multifractal model for MPEG-4 video
traffic based on a multiplicative cascade. In this proposed model we model the
multipliers distribution for each scale by autoregressive processes. We also
verify the model performance in capturing the real traffic traces
characteristics compared to other multifractal models.

Resumo. Neste artigo, propomos um modelo multifractal para trfego de
vdeo MPEG-4 baseado em uma cascata multiplicativa. Nesta proposta
modelamos a distribuio dos multiplicadores atravs de processos
autoregressivos a cada escala. Verificamos tambm o desempenho do modelo
em capturar as caractersticas das sries reais de trfego em comparao a
outros modelos multifractais.
1. Introduo
Aplicaes que envolvem trfego de vdeo so amplamente utilizadas em redes de
telecomunicaes. O crescente nmero de aplicaes multimdia com requisitos de
qualidade de servio (QoS) sugere que grande parte do trfego da rede mundial de
computadores ser composta por trfego de vdeo [Fei e Zhimei 2003]. Mesmo
utilizando-se de tcnicas de compresso como o MPEG-4, o trfego de vdeo demanda
uma grande largura de banda, principalmente em aplicaes de tempo real, cada vez
mais requeridas pelos usurios [Wang e Qiu 2005].
A modelagem de vdeo no um tpico recente. Para um melhor
dimensionamento, utilizao dos recursos e compreenso dos dados que trafegaro na
rede, a modelagem de dados de vdeo tem sido um tpico de pesquisas constante.
Inicialmente, modelos baseados em cadeias de Markov, assim como processos
autoregressivos foram desenvolvidos [Heyman et al. 1992 ],[Maglaris et al.1988]. No
entanto, estes modelos eram capazes apenas de capturar as caractersticas de curta
dependncia entre as amostras. Em outras palavras, um processo com curta dependncia
significa que sua funo de autocorrelao que mede essa dependncia, apresenta um
rpido decaimento (exponencial) medida que se considera amostras mais distantes no
tempo. Quando caractersticas de longa dependncia foram consideradas, modelos,
como por exemplo, FGN [Huang et al. 1995] e FARIMA [Cruz et al. 1998] foram
aplicados. Pesquisas recentes tm mostrado que o trfego de vdeo possui propriedades
X Encontro Anual de Computao - EnAComp 2013
276
que vo alm daquelas relativas a simples processos auto-similares. Longa-dependncia
entre as amostras e trfego em rajadas persistentes nas mais diversas escalas tm sido
observadas [Feldman et al. 1998], [Wang e Qiu 2006]. Neste sentido, modelos
multifractais proporcionam melhores resultados em termos de desempenho de
modelagem de trfego [Riedi et al. 1999],[Krishna et al. 2003],[Vieira e Ling 2008].
Uma vez modelado o trfego de rede, um projetista poder valer-se do
entendimento do comportamento do trfego para, posteriormente, tomar decises com
base nas caractersticas encontradas, por exemplo dimensionar a banda realmente
necessria para a transmisso dos dados. Alm disso, modelos de trfego podem ser
utilizados em algoritmos para alocao eficiente de recursos e controle de taxa de
transmisso em tempo real [Ouyang et al. 2006],[Aquino e Barria 2006].
Este trabalho tem o objetivo de propor um modelo baseado em cascata
multifractal para modelagem do trfego de vdeo de taxa varivel (VBR- Variable Bit
Rate) que utiliza MPEG-4 como tcnica de compresso. O modelo proposto foi
chamado de CMAM (Cascata com Modelagem Autorregressiva para os
Multiplicadores). Testes de desempenho foram realizados e confirmaram o bom
desempenho do modelo em comparao a outros modelos multifractais. O foco deste
artigo o de avaliar o modelo CMAM em termos de desempenho de modelagem,
inclusive para sries de vdeo diferentes das apresentadas em [Rocha e Vieira 2011].
Alm disso, o objetivo principal do artigo [Rocha e Vieira 2011] o de utilizar o
modelo como entrada para um esquema de controle de taxa de trfego de vdeo que
atualiza parmetros de um codificador de vdeo de forma adaptativa.
O artigo est organizado da seguinte forma: na seo 2, discursamos sobre
princpios de modelos multifractais baseados em cascata multiplicativa. Na seo 3,
apresentamos o modelo multifractal CMAM proposto. Na seo 4, revemos alguns
conceitos e caractersticas da modelagem de vdeo MPEG-4 e so mostrados os testes
realizados para validar o modelo multifractal CMAM. Por fim, na seo 5, conclumos.
2. Anlise Multifractal
A descrio do comportamento local de medidas e funes em uma forma geomtrica e
estatstica de interesse da anlise multifractal [Park e Willinger 2000]. Na anlise
multifractal verifica-se o comportamento em escala de momentos estatsticos dos
processos para estimar suas regularidades locais [Feldman et al. 1998],[Riedi et al.
1999]. Atravs de ferramentas da anlise multifractal algumas propriedades encontradas
em processos reais podem ser verificadas. O trfego de redes, por exemplo, ao ser
considerado multifractal significa que possui uma estrutura de forte dependncia
inerente entre as amostras, com incidncia de rajadas em vrias escalas [Riedi et al
1999]. Estas caractersticas podem degradar o desempenho de rede em relao a fluxos
de trfego Gaussianos e de curta-dependncia [Riedi et al. 1999],[Vieira e Ling
2008],[Park e Willinger 2000].
2.1. Cascatas Multiplicativas
O conceito de cascata multiplicativa nos remete ao conceito de cascata binomial. A
cascata binomial um mtodo de se obter um processo multifractal que consiste de um
processo iterativo no intervalo compacto [0,1]. Ao se permitir que os multiplicadores da
cascata sejam variveis aleatrias independentes em [0,1] com densidade de
X Encontro Anual de Computao - EnAComp 2013
277
probabilidade ( )
R
f X , obtm-se uma estrutura geral chamada cascata multiplicativa em
que os multiplicadores so valores fixos.
2.2. Estimao da Densidade de Probabilidade dos Multiplicadores
Seja
N
X o processo de trfego no estgio N da cascata. A srie de trfego no estgio
( 1) N da cascata pode ser obtida agregando valores consecutivos do estgio N em
blocos no-sobrepostos de tamanho 2. De forma anloga, dada a srie na escala ( ) N j ,
N j
i
X

onde ( 1,..., 2 )
N j
i

= , obtemos os dados na escala ( 1) N j pela soma consecutiva
dos valores do estgio ( ) N j da seguinte forma:


1
2 1 2
N j N j N j
i i i
X X X

= + (1)
para
1
1,..., 2
N j
i

= . Este procedimento termina quando a agregao dos valores forma
apenas um ponto na ltima escala da cascata. Uma estimativa
( ) i
j
r dos multiplicadores da
cascata pode ser obtida pela equao [Feldman et al. 1998]:

1 ( )
2 1
N j i N j
j i i
r X X

= (2)
para 1,..., 2
N j
i

= . Podemos considerar
( ) i
j
r como sendo amostras da distribuio ( )
i
R
f r
dos multiplicadores no estgio j . A distribuio dos multiplicadores na escala j pode
ser obtida pelos histogramas de
( ) i
i
r . O modelo multifractal VVGM [Krishna et al. 2003],
por exemplo, uma cascata multiplicativa que aproxima os histogramas obtidos por
gaussianas. Ou seja, neste modelo assume-se que a distribuio dos multiplicadores
( )
i
R
f r gaussiana centrada em 0.5 e com varincias que mudam a cada escala. Essas
varincias so estimadas a partir de histogramas [Krishna et al. 2003].
3. Cascata com Modelagem Autorregressiva para os Multiplicadores
(CMAM)
3.1. Modelo CMAM
Nesta seo, apresentamos o algoritmo de sntese do processo CMAM. O algoritmo de
sntese de trfego de vdeo proposto faz uso do valor agregado de trfego na ltima
escala da cascata e da densidade de probabilidade dos multiplicadores estimada atravs
de processos autoregressivos.
A partir das equaes (1) e (2) pode-se representar a estrutura de construo da
cascata multiplicativa, descrita na seo 2, atravs da Figura 1:

X Encontro Anual de Computao - EnAComp 2013
278

Figura 1. Processo de construo da cascata multiplicativa
Assim, o algoritmo de sntese do processo CMAM consiste basicamente dos
seguintes passos:
Algoritmo 1
1) Calcula-se o valor agregado da srie de trfego obtido na ltima escala N;
2) Estimam-se os multiplicadores usando as equaes (1) e (2);
3) Calcula-se, atravs do mtodo dos mnimos quadrados apresentado em [Neumaier e
Schneider 2001], os parmetros do modelo de regresso (processo autorregressivo) para
cada escala da cascata;
4) Estima-se a distribuio dos multiplicadores em cada escala atravs de um processo
autorregressivo;
5) Com os multiplicadores disponveis, gera-se amostras de um processo multifractal
por meio do procedimento descrito na seo 2.
4. Modelagem de Vdeo
Por existirem semelhanas entre os quadros sucessivos gerados a partir de uma mesma
cena, o MPEG-4 uma tcnica de compresso que utiliza codificao tanto de
redundncia espacial (intra-frames) quanto codificao de redundncia temporal (inter-
frames) [ISO/IEC 2000]. No MPEG-4 existem trs tipos diferentes de quadros, os
quadros do tipo I, os quadros do tipo P e os quadros do tipo B. Os quadros do tipo I so
os quadros mais importantes, maiores em bits e que carregam o maior nmero de
informaes importantes, estes quadros no dependem de nenhum outro. J os quadros
do tipo P dependem de quadros tipo I ou tipo P anteriores, enquanto os quadros do tipo
B dependem de quadros anteriores e sucessivos dos tipos I e P.
Os quadros dos tipos I, P e B so organizados em grupos chamados de GoPs
(Group of Pictures Grupo de imagens), cada GoP composto por um quadro do tipo I,
de um certo nmero de quadros do tipo P e opcionalmente de alguns quadros do tipo B
localizados entre os quadros I e P, e entre quadros do tipo P consecutivos. Uma srie de
GoPs compe uma srie de vdeo. Desta forma os quadros do tipo I so chamados de
intra-frames e os quadros dos tipos P e B so chamados de inter-frames.
X Encontro Anual de Computao - EnAComp 2013
279
Com a finalidade de gerar sries sintticas de trfego de vdeo MPEG-4 foi
utilizado o modelo multifractal baseado em cascata multiplicativa CMAM, apresentado
na seo anterior, e sintetizado a partir do algoritmo 1. Um modelo de trfego
multifractal foi utilizado por j ter sido mostrado que o trfego de vdeo MPEG-4 possui
caractersticas multifractais, tais como diferentes leis de escala, decaimento lento da
funo de autocorrelao e rajadas que persistem para diferentes escalas [Fei e Zhimei
2003],[Wang e Qiu 2005].

4.1. Comparao de Estatsticas do Modelo Multifractal Proposto em Relao a
outros Modelos Multifractais
Com o objetivo de comparar as caractersticas estatsticas do modelo CMAM e do
trfego de vdeo real, assim como de outros modelos multifractais de trfego, so
apresentados resultados e testes estatsticos como: mdia, varincia e funo densidade
de probabilidade (pdf-probability density function).
Neste artigo, comparamos o desempenho de nosso modelo com o do modelo
multifractal VVGM (Variable Variance Gaussian Model) [Krishna et al. 2003], que se
destaca por sua simplicidade, e tambm o comparamos com o MWM (Multifractal
Wavelet Model) [Riedi et al. 1999], que apresenta um timo desempenho para o trfego
multifractal [Riedi et al. 1999],[Vieira e Ling 2008],[Ribeiro et al. 2000].
Como exemplos, apresentamos nesta seo os resultados obtidos para duas
sries de vdeo, sendo elas: Silence of the Lambs (O Silncio dos Inocentes) e Lord
of the Rings 3 (Senhor dos Anis 3), chamados neste trabalho de S.LAMBS e LORD3,
respectivamente. Estes vdeos utilizam compresso MPEG-4 parte 2, resoluo de 352 x
288 pixels e para anlise apresentada foram considerados os 32768 primeiros quadros
das sries. A srie de vdeo S.LAMBS possui taxa de 30 quadros por segundo e
agrupamento de 16 quadros por GoP, ordenados da seguinte forma
(IBBBPBBBPBBBPBBB G16B3). A srie de vdeo LORD3 possui taxa de 25
quadros por segundo e agrupamento de 12 quadros por GoP ordenados da seguinte
forma (IBBPBBPBBPBB G12B2). Mais informaes sobre as caractersticas das
sries de vdeo podem ser encontradas em [Seeling et al. 2004],[Rocha e Vieira 2011].

Figura 2 Funo densidade de probabilidade (pdf) S.LAMBS
A Figura 2 apresenta as funes de densidade de probabilidade reais e sintticas
da srie de vdeo S.LAMBS. Observa-se que esta srie possui uma tendncia a ser
X Encontro Anual de Computao - EnAComp 2013
280
descrita por uma funo lognormal e que o modelo CMAM foi capaz de representar
bem este comportamento. Em relao aos modelos VVGM e MWM, o modelo CMAM
apresentou desempenho comparvel aos desempenhos dos demais modelos e em alguns
casos, como na Figura 2, apresentou desempenho superior ao VVGM. Resultados
semelhantes foram obtidos para outras sries de vdeo. A anlise estatstica das sries de
vdeo e as implementaes dos cdigos para a modelagem (VVGM, MW, CMAM) das
sries foram realizadas no software Matlab.
Tabela 1. Mdia e varincia srie de quadros S.LAMBS
Quadros (bits) Mdia Erro Varincia Erro
S.LAMBS 9,411.10
3
- 1,659.10
8
-
VVGM 1,006.10
4
6,84% 1,033.10
8
37,77%
MWM 1,126.10
4
19,64% 1,856.10
8
11,83%
CMAM 9,280.10
3
1,40% 1,456.10
8
12,26%

A Tabela 1 apresenta estatsticas do vdeo S.LAMBS. Por meio da Tabela 1
observa-se que a mdia obtida com o modelo CMAM proposto foi a que mais se
aproximou da srie real e que a varincia encontrada com o CMAM comparvel
aquela obtida com o MWM e mais prxima do real que o modelo VVGM. Isto pode ser
observado atravs da coluna erro, que apresenta o erro relativo das estatsticas das sries
sintticas geradas em relao s sries reais.
A Tabela 2 apresenta as estatsticas do vdeo LORD3. Nesta tabela possvel
observar que a mdia obtida para o modelo CMAM est muito prxima da srie real e
que a varincia encontrada est mais prxima do real que o importante modelo MWM
[Riedi et al. 1999].

Tabela 2. Mdia e varincia srie de quadros LORD3
Quadros (bits) Mdia Erro Varincia Erro
LORD3 2,872.10
3
- 9,362.10
6
-
VVGM 3,087.10
3
7,52% 1,082.10
7
15,60%
MWM 2,416.10
3
16,03% 6,296.10
6
32,75%
CMAM 2,844.10
3
0,96% 1,172.10
7
25,21%

5. Concluso
Pode-se concluir que o modelo multifractal proposto consegue capturar com eficincia
as caractersticas do trfego de vdeo VBR MPEG-4. Essa afirmao confirmada pelos
testes realizados.
Neste trabalho, propomos uma modelagem da distribuio dos multiplicadores
atravs de processos autoregressivos para cada estgio da cascata, logo a mdia dos
multiplicadores varia para cada escala; diferente do que ocorre no VVGM [Krishna et al.
2003]. Esta caracterstica do modelo proposto permite que um desempenho eficiente de
modelagem seja obtido. Os testes de desempenho de modelagem revelam que os
X Encontro Anual de Computao - EnAComp 2013
281
resultados do modelo CMAM so comparveis e, na maioria dos casos, superiores ao do
modelo MWM [Riedi et al. 1999].
Referncias
Aquino, V. A. e Barria, J. A. (2006) Multiresolution FIR neural-network-based
learning algorithm applied to network traffic prediction. IEEE Transactions on
Systems, Man and Cybernetics-C, vol. 36, no.2, pp.208-220.
Cruz, L. J., Pallares, E. e Alins, J. J. (1998) "Self-similar traffic generation using a
fractional ARIMA model. Application to the VBR MPEG video traffic," in
Telecommunications Symposium, 1998. ITS'98 Proceedings. SBT/IEEE
International, vol. 1, pp. 102-107.
Fei, H. e Zhimei, W. (2003) Multifractal analysis and model of the MPEG-4 video
traffic, in Performance, Computing, and Communications Conf.,vol. 911, pp. 463
467.
Feldmann, A., Gilbert, A. C. e Willinger, W. (1998) Data networks as cascades:
Investigating the multifractal nature of Internet WAN traffic. ACM/SIGCOMM'98,
Vancouver. pp. 25-38.
Heyman, D., Tabatabai, A. e Lakshman, T. V. (1992) "Statistical analysis and
simulation study of video conference traffic in ATM networks," IEEE Trans. Circuits
and Systems for Video Technology, vol. 2, no. 1, pp.49-59.
Huang, C., Devetsikiotis, M., Lambadaris, I. e Kaye, A. R. (1995) "Fast Simulation for
Self-Similar Traffic in ATM Networks." In Proc. IEEE ICC, pp. 438-444.
ISO/IEC/JTC1/SC29/WG11. (2000) Overview of the MPEG-4 standard.
ISO/IEC/JTC1/SC29/WG11 MPEG Test Model 2 (1992) Coded Representation of
Picture and Audio Information.
Krishna, M. P., Gadre, V. M. e Dessay, U. B. (2003) Multifractal based network traffic
modeling. Kluwer Academic Publishers.
Liu, H. H., Hsu, P. L. (2006) Design and simulation of adaptive fuzzy control on the
traffic network. In International Joint Conference SICE-ICASE, pp. 4961-4966.
Maglaris, B., Anastassiou, D., Sen, P., Karlsson, G. e Robbins, J. (1988) Performance
Models of Statistical Multiplexing in Packet Video Communications, vol. 36, no. 7,
pp. 834-844.
Neumaier, A. e Schneider, T. (2001) Estimation of parameters and eigenmodes of
multivariate autoregressive models. ACM Trans. Math. Softw. 27, 1 (Mar.), 2757.
Ouyang, Y. C., Yang, C. W. e Lian, W. S. (2006). Neural networks based variable bit
rate traffic prediction for traffic control using multiple leaky bucket. Journal of High
Speed Networks. vol. 15, no.2, pp.11-122.
Park, K. e Willinger, W. (2000) Self-similar Network Traffic and Performance
Evaluation. John Wiley and Sons, New York.
Ribeiro, V.J., Riedi, R.H., Crouse, M.S. e Baraniuk, R.G.(2000) Multiscale queueing
analysis of long-range dependent traffic, Proc. IEEE Infocom.
X Encontro Anual de Computao - EnAComp 2013
282
Riedi, R. H., Crouse, M. S., Ribeiro, V. J. e Baraniuk, R. G.(1999) A multifractal
wavelet model with application to network traffic. IEEE Trans. on Information
Theory, vol. 45, no.3, pp. 9921018.
Rocha, F.G.C. e Vieira, F.H.T. (2011) Modelagem e Controle da Taxa de Vdeo
MPEG Utilizando Cascata Multifractal com Multiplicadores Autorregressivos,
XXIX Simpsio Brasileiro de Telecomunicaes, SBrT, Curitiba PR.
Seeling, P., Reisslein, M., Kulapala, B. (2004) Network Performance Evaluation
Using Frame Size and Quality Traces of Single-Layer and Two-Layer Video: A
Tutorial. IEEE Communications Surveys and Tutorials, Vol. 6, No. 2, Pages 58-78.
Vieira, F. H. T. e Ling, L. L. (2008) Modelagem de Trfego de Redes Utilizando
Cascata Multifractal Generalizada. RITA, Vol.15, No. 2.
Wang, S. H. e Qiu, Z. D. (2005) A Novel Multifractal Model of MPEG-4 Video
Traffic. Proceedings of ISCIT2005.
Wang, S. H. e Qiu, Z. D., (2006) Multifractal Analysis and Prediction of VBR Video
Traffic. 6th International Coference on ITS Telecommunications Proceedings.
Zainaldin, A., Lambadaris, I., e Nandy, B. (2008) Adaptive rate control low bit-rate
video transmission over wireless Zigbee networks. Proceedings of ICC2008.
X Encontro Anual de Computao - EnAComp 2013
283


Caracterizao de QoS para Contedo Multimdia em
Rede VPN utilizando Rede Neural MLP
Paula Letcia S. Lima, Ananias Pereira Neto
Centro de Cincias Exatas e Tecnologia (CCET) Curso de Bacharelado em Cincia da
Computao Universidade da Amaznia (UNAMA)
{palelima}@gmail.com, apneto@unama.br

Abstract. This paper shows a classification method of QoS in a VPN network
in dissemination of media content. This method uses the MLP (Multilayer
Perceptron) neural network to estabilish relation between the QoS metrics,
such as Jitter, Throughput, Packets Lost and Data Transfered. The neural
network classifies QoS ambience in High, Medium and Low in dissemination
of content.
Resumo. Este artigo apresenta um mtodo de classificao de QoS em rede
VPN (Virtual Private Network) na disseminao de contedo multimdia. Esse
mtodo utiliza a rede neural MLP (Multilayer Perceptron) para estabelecer
relao entre as mtricas de QoS, tais como Jitter, Throughput, Perda de
Pacotes e Dados Transferidos. A rede neural classifica o ambiente de QoS em
Alto, Mdio e Baixo na disseminao de contedo.
1. Introduo
Para caracterizar um ambiente de QoS (Quality of Service), de um determinado
contedo multimdia, so exigidas mtricas convencionais entre valores mximos e
mnimos. O termo QoS refere-se capacidade da rede garantir um certo nvel de
desempenho para o trfego multimdia. QoS um conceito tcnico medido, expresso e
compreendido no nvel de rede e geralmente tem pouco significado para o usurio.
Segundo [GOMES, et. al. 2009] diferentes solues foram desenvolvidas para
proporcionar QoS. Para a percepo humana complexo classificar os diversos
parmetros de QoS, fazendo necessrio utilizar regras computacionais como as redes
neurais artificiais. A Rede Neural Perceptron Multi-Camadas tem caracterstica de tratar
os parmetros de QoS, pois utiliza de camadas intermedirias conhecidas como,
camadas ocultas, trabalhando como reconhecedor desses parmetros.
Inmeros trabalhos procuram avaliar o ambiente de QoS em contedo
multimdia e foram propostos na literatura, tais como, [Y. BAI 2011], [GMEZ 2010],
[GUEDES 2009], poucos com a tcnica de MLP (Multilayer Perceptron) para redes
com fio. A proposta deste artigo classificar o contedo multimdia em uma rede VPN
utilizando a rede neural MLP, baseado em mtricas convencionais, tais como, Jitter,
Throughput, Perda de Pacotes e Quantidade de dados transferidos.
Este artigo est organizado em cinco sees. A seo 2 apresenta os parmetros
de QoS para classificao do nvel da rede. Na seo 3, so apresentados conceitos
relativos Rede Neural MLP, bem como sua aplicabilidade na classificao de QoS em
contedo multimdia. Na seo 4 apresenta o cenrio em que foram desenvolvidos os
X Encontro Anual de Computao - EnAComp 2013
284

testes e obtidos os resultados a partir das mtricas aplicadas ao experimento. A seo 5
apresenta as concluses desenvolvidas nesse trabalho.
2. Classificao de QoS
As redes de computadores dispem de uma gama de dados e aplicaes em tempo real,
tornando necessria a medio da qualidade dos servios. Os parmetros de QoS
buscam tratar de prioridades, alocao de banda e controle de latncia da rede. Porm, a
maioria das redes no segura e dotada de qualidade de servio.
Quando se faz alguma transmisso na rede o pacote pode ou no chegar ao seu
destinatrio, sendo assim os parmetros de QoS comeam a ser visto como uma parte
importante na implementao de uma rede. Segundo [GUEDES 2009], existem
diversos parmetros de QoS para caracterizar uma rede de computadores e a
disseminao de contedo multimdia, tais parmetros como Throughput, Jitter, Perda
de Pacotes e Dados Transferidos.
Os parmetros aplicados neste trabalho para a classificao do contedo
multimdia em rede VPN foram determinados pela utilizao de tcnica de minerao
de dados, usando a ferramenta Bayesware Discoverer [BAYESWARE, 2000]. Este
software foi utilizado para determinar o valor mnimo e mximo de cada classificao
dos parmetros em Alto QoS, Mdio QoS e Baixo QoS, utilizando mtricas: Perda de
Pacotes, Jitter, Throughput e Dados Transferidos.
3. Multilayer Perceptron
Uma RNA (Rede Neural Artificial) pode ser definida como sendo estrutura de rede,
passvel de implementao em dispositivos eletrnicos, composta por um nmero de
unidades interconectadas (neurnios artificias), os neurnios artificiais recebem essa
denominao porque foram originados a partir de um modelo matemtico de um
neurnio biolgico; a principal propriedade desta arquitetura a sua capacidade de
aproximao universal e de aprendizado [FERNANDES 2008].
A Multilayer Perceptron uma extenso do Perceptron simples, capaz de
trabalhar com problemas no-linearmente separveis. Este avano foi possvel atravs
da utilizao de, pelo menos, uma camada entre a entrada e a sada. Nas redes MLP,
cada camada tem sua funo determinada. A camada intermediria enviar estmulos
para camada de sada, essa camada realiza clculos necessrios para construir um
padro que ser a resposta. A funo das camadas intermedirias extrair
caractersticas. Seus pesos so um cdigo de caractersticas apresentadas nos padres de
entrada permitindo que a rede crie sua representao, mais rica e complexa.
Neste trabalho, foram coletadas 150 amostras, usando quatro medidas na rede
VPN, Dados Transferidos, Perda de Pacotes, Throughput e Jitter. Os dados foram
divididos em dados de treino e de validao, alm do desenvolvimento da rede MLP
para estabelecer a relao entre as mtricas variando o nmero de neurnios na camada
escondida.


X Encontro Anual de Computao - EnAComp 2013
285

4. Experimentos e Resultados
Esta seo descreve as simulaes realizadas neste artigo, assim como os resultados
obtidos. Para isso, foram avaliadas mtricas de desempenho em um cenrio composto
por quatro computadores Itautec com processadores Intel Celeron 1.73GHz e 1GB de
memria RAM conectados a um servidor de mesma configurao. Tal cenrio pode ser
observado na Figura 1.





Figura 1. Cenrio do experimento.
No experimento realizado foi implementada uma rede VPN e analisado o
desempenho desta rede utilizando testes com trfego multimdia e sem trfego
multimdia. As medies foram realizadas utilizando o software iperf [SCHRODER
2008] variando o nmero de clientes, com o objetivo de avaliar com maior preciso os
resultados dos experimentos.
As estaes clientes executavam um arquivo de vdeo que estava armazenado no
servidor simultaneamente e a partir do iperf foram adicionados no trfego da VPN
datagramas UDP para anlise do comportamento das mtricas. As informaes com o
desempenho da rede chegavam ao servidor, no qual foram analisadas.
O Servidor VPN responsvel por realizar toda a distribuio das tarefas e o
monitoramento do desempenho dos clientes. Neste sentido, ele realiza o monitoramento
das falhas que podem ocorrer e o direcionamento da carga de processamento, caso haja
alguma indisponibilidade, o que garante verificar o comportamento do VPN a partir das
mtricas de desempenho aplicadas.

Tabela 1. Medidas estatsticas para os parmetros de QoS medidos no experimento.
Mdia Desvio Padro Varincia Intervalo de Confiana
Sem Trfego Multimdia
Dados Transferidos (MB) 0,706 0,401 0,161 0,7060,064
Throughput (MB/s) 1,001 0,151 0,023 1,0010,024
Jitter (ms) 4,410 1,183 1,400 4,4100,189
Perda de Pacotes 387,473 284,893 81163,875 387,47345,591

Com Trfego Multimdia

Dados Transferidos (MB) 0,726 0,451 0,203 0,7260,072
Throughput (MB/s) 1,050 0,096 0,009 1,0500,015
Jitter (ms) 4,542 1,413 1,997 4,5420,226
Perda de Pacotes 401,567 320,811 102919,388 401,56751,339

X Encontro Anual de Computao - EnAComp 2013
286

A Tabela 1 apresenta os dados da mdia, desvio padro, varincia e intervalo de
confiana com e sem trfego multimdia, considerando um nvel de confiana de 95%
para as mtricas do experimento realizado.
A partir dos dados medidos no experimento, o banco de dados foi dividido em
dados de treino e de validao, conforme as 50 medidas de amostra para os 3 tipos de
classificaes da rede que chamamos de Alto, Mdio e Baixo QoS. Constituindo 35
padres de classificao para treino e 15 padres de classificao para validao. Aps
o tratamento dos padres de treino e validao, desenvolveu-se a rede MLP para a
classificao.
Na simulao da rede MLP foram realizados 50 treinos, variando o nmero de
neurnios na camada escondida, com o intuito de determinar a melhor topologia
baseado na anlise da percentagem de acerto da rede MLP para os dados de treino e
validao. A Tabela 2 apresenta os dados da rede MLP variando o nmero de neurnios
na camada escondida, obtendo-se o erro para dados de treino e validao, alm da
porcentagem de erro para a rede MLP sem e com trfego multimdia.

Tabela 2. Dados da Rede MLP sem e com trfego multimdia.
Sem Trfego Multimdia Com Trfego Multimdia
RNA 1 RNA 2 RNA 3 RNA 1 RNA 2 RNA 3
N de Entradas 4 4 4 4 4 4
N de Neurnios na
Camada Escondida
1 5 10 1 5 10
Erro para os Dados de Treino 0,2292 0,0429 0,0748 0,0770 0,0435 0,0291
Erro para os Dados de Validao 0,1742 0,1264 0,1486 0,0915 0,0473 0,0302
Porcentagem de Erro 20 % 13,33 % 17,78 % 15,56 % 4,44 % 2,22%


Nota-se no experimento, que o melhor caso sem trfego multimdia foi a RNA 2,
com porcentagem de erro de 13,33 %, com 5 neurnios na camada escondida e baixo
ndice de erro comparado ao pior caso, conforme os dados apresentados na Tabela 2. A
rede MLP classificou 31,43 % em Alto QoS, 35,24 % em Mdio QoS e 33,33 % em
Baixo QoS nos dados de treino.
A Figura 2 (a) ilustra a distribuio da classificao de QoS sem trfego
multimdia para o melhor caso da rede MLP (RNA 2), neste grfico observa-se que a
classificao do QoS maior em Mdio QoS, comparando as mtricas entre Jitter e
Perda de Pacotes. Na Figura 2 (b) pode-se observar a relao da Perda de Pacotes e o
Throughput baseada na porcentagem de erro do melhor caso (RNA 2) para a
distribuio da classificao sem trfego multimdia, a classificao aps o treino
apresentou uma distribuio com maior proporo em Mdio QoS.
Para o melhor caso com trfego multimdia, a rede MLP que apresentou menor
porcentagem de erro foi a RNA 3, com 2,22 %, contendo 10 neurnios na camada
escondida, conforme apresentado Tabela 2. Durante esse processo de treinamento
possvel observar que a rede MLP (RNA 3) classificou 33,33 % em Alto QoS, 33,33 %
em Mdio QoS e 33,33 % em Baixo QoS nos dados de treino, uma distribuio
uniforme entre os dados treinados entre Alto, Mdio e Baixo QoS.
X Encontro Anual de Computao - EnAComp 2013
287

A distribuio da classificao de QoS com trfego multimdia para o melhor
caso da rede MLP (RNA 3), comparando as mtricas entre Jitter e Perda de Pacotes
apresentada na Figura 3 (a), nota-se aps o treinamento da rede MLP uma distribuio
bem definida entre Alto, Mdio e Baixo QoS, devido a rede apresentar um erro
extremamente baixo comparado as demais redes treinadas. A Figura 3 (b) mostra a
distribuio da classificao de QoS com trfego multimdia para o melhor caso da rede
MLP (RNA 3), comparando as mtricas Perda de Pacotes e Throughput, observa-se
novamente uma distribuio uniforme da classificao em Alto, Mdio e Baixo QoS,
como esperado pelos dados de treino e validao da rede MLP.












(a) (b)
Figura 2. Rede MLP (RNA 2) sem trfego multimdia: (a) Melhor caso Jitter x Perda de
Pacotes (b) Melhor caso Perda de Pacotes x Throughput.












(a) (b)
Figura 3. Rede MLP (RNA 3) com trfego multimdia: (a) Melhor caso Jitter x Perda de
Pacotes (b) Melhor caso Perda de Pacotes x Throughput.
X Encontro Anual de Computao - EnAComp 2013
288

5. Concluses
Neste artigo proposta uma anlise de uma rede VPN, composta por um Servidor VPN,
estaes clientes VPN, parmetros de QoS e redes neurais. Esta rede foi avaliada
utilizando como base mtricas de desempenho, tais como: Throughput, Jitter e Perda de
Pacotes.
Foi utilizado no experimento uma das tcnicas de redes neurais MLP
(MultiLayer Perceptron), com isso foi possvel prever o comportamento de uma rede
VPN, atravs da classificao em Alto, Mdio e Baixo QoS. A rede MLP apresentou
um melhor caso para a RNA 2 sem trfego multimdia apresentando 13,33 % de erro e
um melhor caso da RNA 3 com trfego multimdia apresentando 2,22 % de erro.
Desta forma, confirma-se a utilizao da rede MLP para a classificao de QoS
em contedo multimdia, apresentando bons resultados quando relacionados aos erros
de dados de treinos e validao nas mtricas de QoS para a rede VPN.
6. Referncias
Bayesware Discoverer (2000), Bayesware Limited. http://bayesware-discoverer-trial-
version.software.informer.com/ Acessado em: 15 de jan de 2013.
Dias, M. M. ; Silva Filho, L. A. ; Betini, R. C. ; Ramos, E. M. L. S. (2008). A
Utilizao de Software Livre na Anlise de QoS em Redes IP Utilizando Minerao
de Dados. IX Workshop de Software Livre, Porto Alegre - RS.
Fernandes, Anita Maria da Rocha. (2008) Inteligncia Artificial: Noes gerais -3
imp. Florianpolis: Visual Books, 2008.
Gomes, Rafael Lopes, Jnior, Jos Jailton, Jnior, Waldir Moreira, Abelm, Antnio
Jorge (2009) QoE and QoS in Wireless Mesh Networks Federal University of Par,
Belm, Par, Brazil and Instituto de Engenharia de Sistemas e Computadores
(INESC) Porto, Portugal. IEEE Latin-American Conference on Communications
(IEEE LatinCom 2009).
Gmez, Gerardo, Gonzlez, Javier Poncela, Aguayo-Torres, Mari Carmen, Muoz,
Jos Toms Entrambasaguas (2010) QoS Modeling for End-to-End Performance
Evaluation over Networks with Wireless Access EURASIP Journal on Wireless
Communications and Networking Volume 2010.
Guedes, Bruno Miguel Marcos (2009) Application layer QoS support for video
services, Dissertao de Mestrado Bolonha em Engenharia de Redes de
Comunicaes. Instituto Superior Tcnico, Universidade Tcnica de Lisboa.
Lage, Gustavo Vieira (2009) Utilizao de tcnicas de Minerao de Dados para
anlise de marcaes na Web. Trabalho de Concluso de Curso. Pontifcia
Universidade Catlica De Minas Gerais.
Schroder, Carla (2008) Measure Network Performance with iperf
http://www.enterprisenetworkingplanet.com/netos/article.php/3657236/Measure-
Network-Performance-with-iperf.htm, Acessado em: 10 de Jan de 2013.
Y. Bai, Chu Y., Ito e MR (2011) "Dynamic end-to-end QoS support for video over the
Internet AEU - International Journal of Electronics and Communications, In Press,
Corrected Proof, Available online 20 January 2011.
X Encontro Anual de Computao - EnAComp 2013
289

A TI como uma Ferramenta de Gesto Estratgica nas
Operaes de Uma Empresa do Setor de Logstica
Marcelo Martins Bassetto, Adriano Csar Santana
Escola de Engenharia Eltrica, Mecnica e de Computao (EMC) | Universidade
Federal de Gois (UFG) | Goinia, GO | Brasil

marcelo_ufg@yahoo.com.br, adriano@emc.ufg.br
Abstract. Nowadays, companies in the logistics industry must offer services
more efficient, innovative, lower cost and time. With this, the business area of
Information Technology (IT) has the role of providing the tools for the results
to be achieved. This article presents the main concepts of applied IT in
logistics, and a case study conducted in a large enterprise sector, where he
showed a reduction of operating and administrative costs of approximately
10%, and a significant increase in customer satisfaction from 75% to 92%,
and finally concludes that IT aligned with business objectives is critical to
effective organizational management.
Resumo. A cada dia, as empresas do setor de logstica precisam oferecer
servios cada vez mais eficientes, inovadores e de menor custo e tempo. Com
isso, a rea de negcio de Tecnologia da Informao (TI) tem o papel
importante de disponibilizar as ferramentas para que os resultados sejam
alcanados. Este artigo apresenta os principais conceitos de TI aplicados na
rea de logstica, e um estudo de caso realizado em uma grande empresa do
setor, onde mostrou-se uma reduo de custos operacionais e administrativos
de cerca de 10%, alm de um significativo aumento na satisfao dos clientes
de 75% para 92%, e por fim conclui-se que a TI alinhada aos objetivos da
empresa fundamental para uma gesto organizacional eficiente.
1. Conceito de Logstica
A palavra Logstica tem sua origem ligada rea militar, em que o diferencial
estratgico para se ganhar uma guerra, era a capacidade de deslocamento de
mantimentos, munies, primeiro socorros e equipamentos, a tempo e a ordem s suas
tropas nos campos de batalha. [Novaes, 2004]
Segundo Christopher (1999), o termo logstica pode-se definir como o processo de se
gerenciar estrategicamente a aquisio, movimentao e armazenagem de materiais,
peas e produtos acabados atravs da organizao e seus canais de marketing, de modo a
maximizar as lucratividades presente e futura.
Neste mesmo sentido, Novaes (2004), diz que a logstica o processo de planejar,
implementar e controlar de maneira eficiente o fluxo e a armazenagem de produtos, bem
X Encontro Anual de Computao - EnAComp 2013
290

como os servios e informaes associados, cobrindo desde o ponto de origem at o
ponto de consumo, com o objetivo de atender aos requisitos do consumidor.
Desta forma, considerando essas duas vises, percebe-se que Christopher (1999), define
a Logstica de forma mais operacional, conceito esse j considerado antigo, pois em
momento algum considerado a viso das informaes no processo. Enquanto que
Novaes (2004) insere no contexto o gerenciamento da cadeia de suprimentos,
considerando o monitoramento do processo para atender os requisitos do cliente.
2. Tipos de Logstica
Para Rodrigues (2006), a logstica pode ser dividida em trs grandes categorias:
a) Transporte formado pelo modal de transporte utilizado, pela forma de
relacionamento entre tais modais, pelo elemento transportador e por suas instalaes
complementares. Sendo considerado um dos principais componentes da Logstica, pois
impacta diretamente na qualidade do servio atravs do prazo de entrega, segurana e
confiabilidade dos produtos.
b) Distribuio processo envolvido desde a sada da mercadoria armazenada at a
entrega ao cliente. Esta etapa do processo logstico est ligada diretamente na satisfao
do cliente, pois tem o contato direto com o cliente final, que ir receber o produto
adquirido e constatar se o prazo foi cumprido e se tudo foi entregue conforme solicitado.
c) Armazenagem tem o objetivo de guardar certo produto por um determinado
tempo, garantindo a segurana e integridade da mercadoria. Este processo considera
estoque, espao de armazenagem, layout do armazm e formas de movimentao.
3. Sistemas de TI para Controle de uma Empresa do Setor Logstico
Neste artigo, foi realizado um estudo de caso em uma grande empresa do setor logstico,
a qual oferece servios de transportes, armazenagem e distribuio.
Os principais sistemas implementados atualmente na gesto desta empresa so:
ERP (Enterprise Resource Planning): software para controle da gesto
administrativa financeira, fiscal, contbil e de compras;
TMS (Transport Management System): sistema de gesto de transportes, que
envolve desde a emisso dos conhecimentos de transportes at a fase de entrega
do produto no cliente final;
WMS (Warehouse Management System): controla o processo de armazenagem,
desde a entrada do produto no armazm at a sada para entrega ao cliente;
Rastreadores e Roteirizadores: sistemas utilizados para rastrear e acompanhar
toda a carga durante o transporte, definir a melhor rota de entrega e oferecer
informaes aos portais disponibilizados aos clientes via internet, que podem
pesquisar em que situao e onde se encontram suas mercadorias;
A completa integrao dos sistemas mencionados anteriormente, se torna um fator
crtico de sucesso e de fundamental importncia, uma vez que a informao gerada
sustenta os processos decisrios, dando mais competitividade, tanto para a empresa que
oferece e presta o servio logstico, quanto para seu cliente, que atravs de portais e
X Encontro Anual de Computao - EnAComp 2013
291

integraes com seu prprio sistema tenham informaes em tempo real e de forma
confivel. O aumento da velocidade do fluxo de informaes geradas pela integrao e
disponibilizao dos sistemas acima, impacta na reduo de custos e maior velocidade
de atendimento, gerando maior satisfao dos clientes.
4. Estudo de Caso
A empresa pesquisada neste estudo de caso oferece seus servios regio Sudeste, Sul,
Nordeste e Centro-Oeste, e atua no mercado de logstica a quase 20 anos. Ela possui
certificados de qualidade como ISO:9001, SASSMAQ e PSQ. Com isso, tem-se uma
grande oportunidade de levantamento e validao da importncia do uso eficiente da TI
em todo o processo logstico e em suas diversas etapas de tomadas de deciso.
A equipe de TI com o apoio da alta direo da empresa de logstica, decidiram melhorar
os recursos internos e disponveis para seus clientes, com isso adotaram como
metodologia de estudo a pesquisa de mercado avaliando o que era utilizado por outras
empresas do setor logstico, alm de entrevistas com seus clientes para entender suas
principais necessidades e sugestes de melhorias no processo.
A estrutura tecnolgica e informacional baseada na integrao entre o ERP, WMS,
TMS e o sistema do cliente, realizado por um EDI (Intercmbio Eletrnico de
Documentos). O uso de EDI para integrao com o sistema do cliente foi definido pela
empresa devido a solicitao do seu principal cliente, que responsvel por 60% do
faturamento mensal, pois o mesmo j adotava essa prtica com outros fornecedores.
A partir dessa integrao, o processo se inicia na gerao do pedido do cliente, que cria
um ticket no sistema de gesto da logstica, que aciona a ordem de coleta. Com isso,
inicia-se no sistema de rastreamento dos veculos o acompanhamento em tempo real do
estado da coleta, gerado pelo rastreador, o qual alimenta os sistemas e disponibiliza num
portal via internet o status do pedido.
Esta integrao gerou reduo nos custos, eliminando a digitao dos pedidos no
sistema, onde o prprio cliente importava o arquivo no portal e alimentava no sistema
da empresa de logstica, disparando o fluxo de trabalho para iniciar o processo da coleta.
Aps a coleta ser realizada e encaminhada ao armazm, os produtos so identificados
pelos coletores, atravs dos cdigos de barras, que alimentam o WMS, analisando toda
sua estrutura e endereando da melhor forma possvel as caixas e palletes para serem
armazenados e ficarem disponveis para venda, no estoque do cliente.
Uma nova etapa no processo a venda destas mercadorias pelo cliente, que analisa o
estoque disponvel e gera os pedidos, que automaticamente envia para a equipe do
armazm as ordens para montagem de cada pedido solicitado. As baixas de estoque so
realizadas com a leitura dos cdigos de barras, que prepara a carga para ser entregue,
acionando agora o sistema TMS, onde realizada toda a montagem da carga, gerao do
conhecimento de transportes e manifesto para liberao de entrega gerando a melhor
rota atravs do sistema roteirizador integrado ao mesmo. Ao liberar o veculo para sair
com a mercadoria, o sistema aciona novamente o rastreamento, que vai alimentando o
portal com as localizaes das mercadorias at a entrega final no cliente.
A integrao entre o sistema TMS, o rastreamento e o portal, agrega um diferencial para
a empresa analisada, pois automatiza boa parte do processo e deixa sempre disponvel
X Encontro Anual de Computao - EnAComp 2013
292

ao cliente, atravs do portal, a situao de todos os seus pedidos, sua localizao e em
que fase se encontram dentro do processo. Assim, novamente temos reduo nos custos
operacionais, pois o cliente consulta seus pedidos ao invs de solicitar a empresa de
logstica o status, gerando maior satisfao do cliente e transparncia nas operaes.
Outro ponto importante desta integrao com o cliente a possibilidade do acesso ao
portal por qualquer dispositivo mvel e com interao com a equipe de logstica, que
ficam online e podem auxiliar o cliente se necessrio. Existe tambm o envio de
mensagens automticas pelos rastreadores, tanto para a logstica quanto para seu cliente,
informando sempre que uma carga for entregue atravs do sistema de rastreamento.
5. Concluso
Com a integrao e automatizao implantadas nesta empresa, obteve-se uma reduo
de custos operacionais e administrativos de cerca de 10%, com a reduo do quadro de
funcionrios do departamento de logstica, reduo de horas extras devido a agilidade do
processo, menor utilizao de telefonia, entre outros itens. Tambm notou-se um
aumento de produtividade do departamento de logstica, que analisam as informaes de
forma mais rpida e detalhada, tomando aes mais precisas e em tempo menor.
Anualmente a empresa envia uma Pesquisa de Satisfao para todos os seus clientes, e
notrio o aumento das respostas positivas a cada ano com a implantao de melhorias
tecnolgicas em todo o processo logstico. Comparando-se o ano de 2008, ano em que a
empresa no possua integraes e alguns recursos citados neste estudo, com o ano de
2012, pode-se notar que a satisfao geral dos clientes aumentou de 75% para 92%
conforme consolidao das respostas obtidas na pesquisa.
Com as informaes apresentadas nota-se que a TI est presente em todo o processo
logstico e fundamental para o controle das informaes envolvidas. Sendo que a TI
deve oferecer as ferramentas mais adequadas e com o melhor nvel de detalhe e
disponibilidade, tanto para a equipe que faz a gesto da logstica quanto ao cliente.
Conclui-se que a TI alinhada aos objetivos da empresa fundamental e de extrema
importncia para a gesto organizacional, e que se aplicada de maneira correta um
diferencial competitivo, que auxilia nas tomadas de decises gerando satisfao dos
clientes, reduzindo os custos e consequentemente gerando lucros para as empresas.
6. Referncias
Christopher, Martin. (1999) "Logstica e Gerenciamento da Cadeia de Suprimentos
Estratgias para reduo de custos e Melhoria dos Servios". 2 edio. So
Paulo, Pioneira.
Novaes, Antnio G. (2004) "Logstica e Gerenciamento da Cadeira de Distribuio". 3
edio. Rio de Janeiro: Campus.
Rezende, D. A. (2002) "Tecnologia da informao integrada inteligncia empresarial:
alinhamento estratgico e anlise da prtica nas organizaes". So Paulo: Atlas.
Rodrigues, Paulo R. A. (2006) "Introduo aos Sistemas de Transportes no Brasil e
Logstica Internacional". 3 edio. So Paulo, Aduaneiras.

X Encontro Anual de Computao - EnAComp 2013
293

Os desafios para a mobilizao de aplicaes baseadas em
plataforma Web
Celly de Siqueira Martins, Andr Lara Temple de Antonio, Carlos Antonio de
Oliveira
Fundao CPqD Centro de Pesquisa e Desenvolvimento em Telecomunicaes
Campinas SP Brasil
Diretoria de Solues em Billing

{celly, andret, coliveir}@cpqd.com.br
Abstract. The use of mobile devices, such as tablets and smarphones, has
significantly increased over the last years, and is changing the way people
relate to one another and to their jobs. Wireless devices come in multiple
shapes and sizes and such diversity in technology brings new challenges to the
Information Technology sector, which are now addressed by the Mobile
Computing Technology professionals. This paper describes the main
challenges within the mobile computing context, types of mobile applications,
in addition to two applications with different solutions, one of them migrated
from a Web platform.
Resumo. O uso de dispositivos mveis, tais como tablets e smartphones, tem
aumentado significativamente nos ltimos anos e est transformando a forma
de as pessoas se relacionarem com o trabalho e com os amigos. Esses
dispositivos utilizam recursos de tecnologia sem fio e so apresentados em
diversos formatos e tamanhos. A tecnologia de computao mvel surgiu para
tratar essa diversidade tecnolgica e traz novos desafios rea de tecnologia
da informao. Neste artigo, so apresentados os principais desafios da
computao mvel e so definidos os tipos de aplicativos mveis, bem como
so demonstradas duas aplicaes com distintas solues, uma delas migrada
a partir de uma plataforma Web.
1. Introduo
O acesso Internet a baixo custo a partir das redes sem fio, tais como Wi-Fi ou
WiMAX, e o aumento significativo de dispositivos mveis com capacidade de
processamento e comunicao esto provocando uma mudana na forma de desenvolver
aplicaes para esses dispositivos. Novos problemas e desafios surgiram para os
profissionais da rea de tecnologia de informao (TI) para tratar esse assunto
denominado computao mvel.
Com o advento e a proliferao mundial de dispositivos mveis, a computao
tornou-se verdadeiramente difundida [Figueiredo e Nakamura 2003; Reis, Carmo e Soto
2013]. A maior vantagem para os usurios de dispositivos mveis acessar seus
recursos e servios sem a necessidade de manter-se conectado a uma infraestrutura fixa
X Encontro Anual de Computao - EnAComp 2013
294

e, em geral, esttica. O acesso pode ser feito em qualquer lugar e a qualquer momento.
A computao mvel possibilita aos usurios esse acesso independentemente de sua
localizao, podendo, inclusive, estar em movimento [Mateus e Loureiro 2013; Ogliari
et al. 2006; Rishpater 2001].
2. Os desafios da computao mvel
Os aplicativos mveis fizeram surgir novos modelos de negcio, incluindo modelos
centrados de dispositivos, em que o usurio pode ter acesso a novas aplicaes e
servios, conectando-se a uma loja de aplicativos de fabricantes de dispositivos mveis,
como, por exemplo, Google Play Store e Apple App Store. O principal fator dessa
mudana a capacidade avanada dos dispositivos mveis de utilizar as vantagens do
processo de convergncia, agregando servios e aplicaes avanadas de Internet ao
prprio aparelho.
No entanto, o mercado de dispositivos mveis dominado por diferentes
plataformas tecnolgicas, incluindo sistemas operacionais e plataformas de
desenvolvimento de software, o que gera uma variedade de diferentes solues
disponveis no mercado. Sendo assim, um dos principais desafios da computao mvel
o desenvolvimento de software em um ambiente de tecnologia altamente fragmentado
e em rpida evoluo. Os aplicativos mveis exigem uma razovel customizao para
que possam ser continuamente executados em diversas plataformas e verses.
Permitir que usurios acessem informaes contextualmente relevantes a
qualquer momento e em qualquer lugar uma tarefa que apresenta desafios substanciais
aos profissionais da rea de TI. Os principais itens a serem tratados no mbito de
computao mvel esto listados a seguir [Figueiredo e Nakamura 2003; Hammershoj,
Sapuppo e Tadayoni 2010; Kumkum 2010; Ogliari et al. 2006; Terry 2008]:
Selecionar o tipo do aplicativo mvel preciso escolher entre o nativo e Web.
Para isso, algumas questes devem ser respondidas. Entre elas: O contedo sofre
muitas alteraes? O aplicativo vai utilizar recursos do dispositivo mvel?
Existe necessidade de divulgao do produto? imprescindvel um tempo
rpido de resposta? A partir das respostas a essas perguntas, preciso ponderar
as vantagens e as desvantagens de cada tipo para ento selecionar o mais
apropriado ao contexto.
Tratar conexes de rede sem fio As conexes com rede sem fio costumam ser
intermitentes, de baixa velocidade e com alta latncia. O uso da funcionalidade
assncrona pode compensar o problema de desconexo, e o aplicativo pode
continuar sendo executado at que a conexo seja retomada.
Aprimorar a interface grfica A interface grfica deve ser aprimorada para
tratar interfaces em dispositivos menores, cuja rea de visualizao da maioria
dos aplicativos pequena. preciso considerar a existncia de diversos
tamanhos e resolues de telas.
Tratar a entrada de dados A entrada de dados nem sempre inclui um mouse; o
recurso mais utilizado atualmente o toque na tela.
X Encontro Anual de Computao - EnAComp 2013
295

Considerar as caractersticas dos dispositivos mveis Entre elas esto a
utilizao de recursos do aparelho, o armazenamento de dados e a dependncia
de baterias para poder funcionar.
Considerar os riscos de segurana A segurana abrange a autenticao de
usurio, a integridade de dados e a preveno a ataques maliciosos.
3. Aplicativos mveis
Selecionar o tipo de aplicativo mvel um dos maiores desafios da computao mvel.
Os tipos de aplicativos mveis so: aplicativos mveis Web e aplicativos mveis
nativos [Castledine, Eftos e Wheeler 2011; Hammershoj, Sapuppo e Tadayoni 2010;
Lionbridge 2012; Longoria 2004].
3.1. Aplicativos mveis Web
Um aplicativo mvel Web uma aplicao Web formatada para dispositivos mveis. O
usurio acessa esse aplicativo por meio de um dispositivo mvel, digitando uma URL
em um navegador Web. Assim como um aplicativo Web tradicional, construdo com
trs tecnologias principais: HTML, CSS e JavaScript. No HTML so definidos os textos
estticos e as imagens; no CSS, o estilo e a apresentao e no JavaScript, as interaes e
animaes. Uma vez que os aplicativos Web so baseados em navegadores Web, eles
so independentes de plataforma e de dispositivos e podem ser executados em qualquer
dispositivo mvel habilitado a acessar a Internet.
3.1.1. Vantagens dos aplicativos mveis Web
As principais vantagens dos aplicativos mveis Web so:
Os aplicativos mveis Web so mais baratos e sua manuteno mais simples.
Isso ocorre pelo fato de disporem de compatibilidade multiplataforma e no
precisarem lidar com as mudanas de diferentes dispositivos mveis.
Facilidade de acesso O usurio no precisa baixar uma aplicao, basta acessar
uma URL por meio de um navegador Web e sempre obter a aplicao mais
atualizada para o dispositivo mvel.
3.1.2. Desvantagens dos aplicativos mveis Web
As principais desvantagens dos aplicativos mveis Web so:
Apresentam tempo de resposta mais lento pelo fato de utilizarem HTML, serem
baixado de um servidor Web a cada vez que executado e consequentemente
dependerem da conectividade e da velocidade da rede.
Geralmente, no podem acessar as funcionalidades de hardware e de software
dos dispositivos mveis. Se os requisitos exigirem, como, por exemplo, controle
de cmera ou de GPS, integrao com o gerenciador de informaes pessoais ou
controle de aplicativo do telefone, a opo por aplicativos mveis Web deve ser
imediatamente descartada.
X Encontro Anual de Computao - EnAComp 2013
296

Requerem uma conexo com a Internet para funcionar Esse problema pode ser
contornado com o uso da linguagem HTML5, a verso mais recente do HTML,
uma vez que permite ao dispositivo mvel funcionar sem estar conectado.
3.2. Aplicativos mveis nativos
Um aplicativo mvel nativo construdo especificamente para determinado dispositivo
mvel e seu respectivo sistema operacional. Ao contrrio de um aplicativo Web, que
acessado por meio da Internet, um aplicativo nativo baixado de uma loja de aplicativos
e instalado no dispositivo mvel.
Esses aplicativos so mais adequados para as aplicaes que exigem frequentes
atualizaes, como, por exemplo, jogos, placares esportivos, relatrios de trfego e
sesses de bate-papo.
3.2.1. Vantagens dos aplicativos nativos
As principais vantagens dos aplicativos nativos so:
Contedo mais atrativo ao usurio Os aplicativos nativos podem utilizar os
recursos nativos do dispositivo mvel, tanto de hardware (GPS, cmera,
reconhecimento de voz e grficos) como de software (e-mails, calendrio,
contatos, fotografias, vdeos e gerenciador de arquivos). Assim, o contedo pode
ser mais atrativo e possvel tirar vantagem da capacidade do dispositivo mvel.
Funcionalidade assncrona Como o aplicativo permanece instalado no
dispositivo, ele pode ser executado mesmo que caia a conexo com a Internet.
Rapidez no tempo de resposta Os aplicativos mveis nativos so mais rpidos,
pois, no precisam ser interpretados.
Melhor divulgao do aplicativo aos usurios Como os aplicativos mveis so
a atrao do momento, os usurios buscam incessantemente os aplicativos
mais recentes e que despertam seu interesse. Isso oferece mais visibilidade aos
produtos disponveis nas lojas de aplicativos mveis e, consequentemente, maior
probabilidade de serem descobertos.
3.2.2. Desvantagens dos aplicativos nativos
As principais desvantagens dos aplicativos nativos so:
As informaes de quem so os seus assinantes ficam pblicas nas lojas de
aplicativos.
Para um aplicativo nativo ser executado em diversos dispositivos so necessrias
diversas verses em diversas plataformas.
Manter o aplicativo nativo atualizado tambm trabalhoso, requer
desenvolvimento, testes e distribuio para diferentes plataformas.
X Encontro Anual de Computao - EnAComp 2013
297

4. Solues para aplicativos mveis
4.1. Aplicao CPqD liga+
O custo com ligaes para telefones celulares de uma mesma operadora costuma ser
mais barato ou at mesmo inexistente, dependendo do plano adquirido pelo usurio.
Identificar antecipadamente a operadora de um nmero de telefone a ser chamado pode
ajudar um usurio a melhor gerenciar suas ligaes e economizar recursos financeiros.
A aplicao CPqD liga+ foi desenvolvida com o intuito de identificar a
operadora de um nmero a ser chamado e de todos os nmeros de contatos de uma
agenda de um dispositivo mvel [Google Play 2013]. Alm disso, possvel visualizar
estatsticas de contatos da agenda agrupadas por operadora. A Figura 1 mostra uma
imagem de telas da aplicao CPqD liga+.
A soluo adotada para o desenvolvimento dessa aplicao foi baseada em
aplicativos nativos. Essa escolha deu-se fundamentalmente pela necessidade de utilizar
os recursos do prprio dispositivo. A obteno dos nmeros da agenda feita por meio
de uma integrao com o gerenciador de informaes pessoais. As chamadas utilizam o
discador para serem efetuadas automaticamente.
Foi utilizada a plataforma de desenvolvimento Android e foram criados quatro
leiautes de telas para atender aos diferentes tamanhos (pequeno, normal, grande e
extragrande) e s diferentes densidades (baixa, mdia, alta e muito alta) [Android 2013].

Figura 1. Imagem de telas da aplicao CPqD liga+
4.2. Aplicao CPqD Selfcare Mobile
CPqD Selfcare um portal Web de autoatendimento voltado para o mercado
corporativo e de varejo de telecom. Seu objetivo fornecer ao cliente final uma
interface amigvel para consulta de faturas, controle de gastos, compra de produtos,
servios, solicitao e acompanhamento de solicitaes, registro de reclamaes ou
elogios e demais funcionalidades que a operadora queira disponibilizar para seu cliente.
A aplicao CPqD Selfcare Mobile surgiu da necessidade de migrar algumas
funcionalidades do mercado corporativo do produto CPqD Selfcare para dispositivos
mveis. As principais funcionalidades so: consultar grficos de consumo, consultar
X Encontro Anual de Computao - EnAComp 2013
298

faturas, apresentar mensagens e efetuar login. A Figura 2 exibe telas dessas principais
funcionalidades.

Figura 2. Imagem de telas da aplicao CPqD Selfcare Mobile
A soluo adotada para o desenvolvimento dessa aplicao foi baseada em aplicativos
Web. Essa escolha deu-se pelo fato de a aplicao no sofrer muitas alteraes, o tempo
de resposta no ser um requisito essencial e, principalmente, no precisar utilizar os
recursos nativos dos dispositivos mveis.
5. Concluso
A mobilizao de aplicaes baseadas em plataformas Web est em sua fase inicial e
ainda so muitos os desafios existentes para os profissionais de TI. Definir o melhor tipo
de aplicativo mvel a ser utilizado o maior desafio. preciso alinhar os requisitos
funcionais da aplicao com as vantagens e as desvantagens de cada tipo de aplicativo e
ponderar pela melhor soluo.
Os aplicativos mveis Web costumam ser mais baratos por ter compatibilidade
multiplataforma, mas no utilizam recursos dos dispositivos e podem apresentar
lentido no tempo de resposta. Os aplicativos mveis nativos costumam ser mais caros
pelo fato de necessitar de especialistas para desenvolvimento e pela necessidade de se
desenvolver um aplicativo diferente para cada plataforma. Entretanto, eles possuem uma
grande vantagem no que diz respeito possibilidade de utilizar os recursos nativos dos
dispositivos mveis, tornando-se mais atrativos aos usurios e apresentando rpido
tempo de resposta.
6. Trabalhos futuros
A tecnologia de computao mvel traz novos desafios aos profissionais da rea de TI.
Alguns trabalhos podem ser desenvolvidos para um melhor entendimento e aplicao da
computao mvel. Entre eles possvel destacar:
Estudo de HTML5 integrado a bibliotecas javascript, tais como Titanium,
Rhodes e Phonegap, de forma a utilizar os recursos nativos dos dispositivos
mveis, e, ainda assim, permitir a execuo multiplataforma e usar a
funcionalidade assncrona para as quedas de conexes de redes sem fio.
X Encontro Anual de Computao - EnAComp 2013
299

Desenvolvimento de novas aplicaes em diversos domnios do conhecimento
para explorar as possibilidades da computao mvel.
Referncias
Android (2013). Grouping Resource Types. Disponvel em:
<http://developer.android.com/guide/topics/resources/providing-
resources.html#AlternativeResources>. Acesso em: jan. 2013.
Castledine, E., Eftos, M. e Wheeler, M. (2011). Build Mobile Websites and Apps for
Smart Devices. Sitepoint.
Google Play (2013). liga+ CPQD. Disponvel em:
<http://play.google.com/store/apps/details?id=com.cpqd.billing.operadora&feature=p
ersonalized-
recommendations#?t=W251bGwsMSwyLDIxMywiY29tLmNwcWQuYmlsbGluZy5
vcGVyYWRvcmEiXQ>. Acesso em: jan. 2013.
Figueiredo, C. e Nakamura, E. (2003). Computao Mvel: Novas Oportunidades e
Novos Desafios. T&C Amaznia, ano 1, n. 2. p. 16-28, Disponvel em:
<http://www.fucapi.br/tec/imagens/revistas/ed02_completo.pdf>. Acesso em: jun.
2012.
Hammershoj, A., Sapuppo, A. e Tadayoni, R. (2010). Challenges for mobile
application development. In: Intelligence in Next Generation Networks (ICIN), 2010
14th International Conference on, p. 1-8. IEEE.
Kumkum, G. (2010). Mobile Computing: Theory and Practice. Pearson Education
India.
Lionbridge (2012). Mobile Web Apps vs. Mobile Native Apps: How to Make the Right
Choice. Disponvel em: <http://en-us.lionbridge.com/kc/mobile-web-apps-vs-
mobile-native-apps.htm>. Acesso em: jan. 2013.
Longoria, R. (2004). Designing Software for the Mobile Context: A Practitioner's
Guide. Springer-Verlag. New York Incorporated. 153 p.
Mateus, G. e Loureiro, A. (2013). Introduo Computao Mvel. Disponvel em:
<http://homepages.dcc.ufmg.br/~loureiro/cm/docs/cm_livro_1e.pdf>. Acesso em:
jan. 2013.
Ogliari, R. et al. (2006). Migrando Sistemas Legados de Tomada de Decises para
Ambientes Mveis. In: II Congresso Sulcatarinense de Computao. Anais do II
Congresso Sulcatarinense de Computao.
Reis, C., Carmo, M. e Soto, C. (2013). Computao Mvel: Tpicos Essenciais.
Disponvel em: <http://www.async.com.br/~kiko/mobilcomp/2.php>. Acesso em:
jan. 2013.
Rishpater, R. (2001). Desenvolvendo Wireless para a Web: Como enfrentar os desafios
dos Projetos para a Web Sem Fio. So Paulo, SP: Makron Books, 1. edio. 350 p.
Terry, D. (2008). Replicated Data Management for Mobile Computing. Synthesis
Lectures on Mobile and Pervasive Computing 3, n. 1: p.1-94.
X Encontro Anual de Computao - EnAComp 2013
300
Lgica para Semforo Inteligente Baseado na Minerao de
Dados por Algoritmo Gentico Transgnico
Lucas Costa Cunha
1
, Luciana Aparecida Ferreira
1
, Fabrcio Alves Rodrigues
2
,
Wanderley de Souza Alencar
1
1
Curso de Cincia da Computao - Universidade Federal de Gois/Jata (UFG)
BR364 Km 192, Setor Industrial, Jata - GO - Brasil
2
Ps-Graduao em Cincia da Computao - Universidade Federal de So Carlos (UFSCar)
Rodovia Washington Lus, km 235 - SP-310 So Carlos - So Paulo - Brasil
l.ccunha@hotmail.com,fabricio1989@gmail.com
Abstract. In large and medium size cities there is a known problem by trafc
engineers, trafc ow problem. In computer science this problem is seen in
the area of computer networks when there is a congestion somewhere in the
network. This article proposes a solution for trafc ow problem using heuris-
tics of Articial Intelligence, Genetic Algorithms, Data Mining to make a pattern
and get specics rules which will be used on the rules fuzzy, for the automation
of a trafc light to trafc ow at a certain passage, when there is a need for
change to see as this environment.
Resumo. Em grandes e medias cidades h um problema j conhecido pelos en-
genheiros de trfego, o problema de uxo de trfego. Em cincia da computao
esse problema visto na rea de redes de computadores quando existe um con-
gestionamento em algum ponto da rede. Este artigo prope uma soluo para o
problema de uxo de trfego utilizando de heursticas da inteligncia Articial,
Algoritmos Genticos, Minerao de Dados para criar um padro e estabelecer
regras especcas que sero utilizadas nas regras Fuzzy, para a automao de
um Semforo para que o trfego ua, em determinado trecho, quando existir a
necessidade da mudana ao ver como est o ambiente.
1. Introduo
Os esforos para a modelagem de problemas de ET (Engenharia de Trnsito) tem se tor-
nado uma alternativa promissora. Problemas de ET, um dos problemas o uxo de tr-
fego, so formulados como problemas de programao linear inteira, ou seja, se tem uma
funo de otimizao e suas restries para serem analisadas do tipo NP-completo. A
soluo destes problemas pode ser obtida em tempo hbil, atravs de mtodos aproxima-
tivos [Dias 2004].
Para resolver o problema de uxo de trfego muitos pesquisadores tem estudado
formas de mudar o tempo do semforo e assim melhorar um pouco o problema do uxo
em um determinado trecho da malha de trfego urbano, nos ltimos anos tem se tornado
um grande desao a otimizao dos tempos do semforo [Lmmer and Helbing 2008].
O trabalho de Tonguz et al. [Tonguz et al. 2009] apresentou uma nova abordagem de
autmatos celulares para a construo de um modelo de trfego urbano e assim encon-
trou algumas caractersticas dos padres globais de trfego nas reas estudadas e como
X Encontro Anual de Computao - EnAComp 2013
301
resultados mostrou que controles como a durao do ciclo, split verde, e coordenao de
semforos mostrado bons resultados para a dinmica de trfego.
J nos trabalhos [Karakuzu and Demirci 2010, Yang et al. 2012,
Askerzade and Mahmood 2010] proposto um semforo com um controle inteli-
gente para mudanas de fases do sinal, vermelho e verde, utilizando lgica fuzzy
com objetivo de diminuir o problema do uxo de trfego. Para validar os resultados
foi desenvolvido um simulador para representar o problema de uxo com semforos
sincronizados e usando a lgica fuzzy.
Com o aumento signicativo do uso dos automveis e a expanso do sistema de
trnsito surgiu o estudo de como encontrar caractersticas do trfego, envolvendo modelos
matemticos [Prado 2010]. Neste trabalho ser utilizado algoritmo gentico, que um
mtodo heurstico que busca os melhores resultados criado por Holland que faz uso do
processo evolutivo descrito por Darwin, para descrever uma caracterstica, ou tambm um
padro, para o trfego.
O Algoritmo Gentico pode ser utilizado para fazer a minerao
dos dados como mostra os trabalhos [Amaral 2007, Bevilaqua et al. 2011,
Minaei-Bidgoli and Punch 2003, Shah and Kusiak 2007, Cox 2005]. A minerao
de dados foi desenvolvida na dcada de 80 para encontrar algum tipo de padro em
grandes base de dados e muito utilizado tambm para gerao de novos conhecimentos,
neste trabalho os resultados da minerao de dados sero utilizados na lgica Fuzzy,
que uma lgica criada por Zadeh que utiliza grau de pertinncia, entre 0-1, dos dados
analisados e desta forma criar regras difusas para fazer inferncia para alcanar a soluo
do problema.
O Objetivo deste trabalho mostrar a ecincia do Algoritmo Gentico Trans-
gnico, descrito por [Amaral and Jr. 2011], para minerar dados, pois na bibliograa pes-
quisada no foi encontrado nenhum trabalho que props minerar uma base de dados de
trfego para ser criar uma regra difusa, tambm mostrar a ecincia da lgica difusa para
realizar controle de sinal do semforo e para diferenciar de outros trabalhos ser utilizado
a minerao de dados em uma base de dados que representa o uxo de trfego de um
trecho de Jata, para que a regra fuzzy realmente represente o comportamento do trfego.
Para mostrarmos a ecincia da lgica Fuzzy ser utilizado o seguinte estudo de
caso: Em um trecho de trnsito T1 h um Semforo que coordena o trfego daquele
trecho, pesquisadores da engenharia de trfego analisaram o uxo do trecho T1 por trs
anos, levando em conta a data, os horrios, se houve ocorrncia de chuva, quantidade de
uxo naquele perodo de tempo e se houve ou no congestionamento.
Este estudo de caso tem como base dados recolhidos na cidade de Jata no trecho
da avenida Gois com a avenida Brasil e ser utilizado para mostrar que os mtodos de IA
(Inteligncia Articial) e as regras difusa podem ajudar o semforo a tomar uma deciso
sobre como ir funcionar o uxo naquele trecho, levando em conta a hora e a quantidade
de uxo naquele trecho estudado.
2. Referencial Terico
Oestudo cientco do uxo de trfego teve seu incio na dcada de trinta aplicando a teoria
de probabilidade para descrever o comportamento do trfego na estrada e com modelos
X Encontro Anual de Computao - EnAComp 2013
302
de estudos que relacionavam o volume, a velocidade e a investigao do desempenho do
trfego nos cruzamentos [Prado 2010].
O uxo do trfego, com observao de dados reais, classicado como sendo um
efeito espao-temporal: existe a ocorrncia de congestionamento no espao e no tempo
dentro de uma rede de trfego. Estes padres empricos de via congestionada exibem
algumas caractersticas complexas. Por esta razo, a complexidade da gesto do trfego
est associada com esta variedade de seus padres, bem como com a necessidade na
optimizao. Esta optimizao pode resolver o problema de congestionamento ou, se isto
no possvel alcanar, a minimizao da inuncia de uma situao de via congestionada
[Kerner 2009].
Para manipular dados complexos que podem estar associados a um padro uti-
lizada a minerao de dados. Em meados de 1980, a Minerao de Dados (MD) (ou
tambm chamada de Data mining) foi criada por diversos pesquisadores e grandes em-
presas que tinham como objetivo criar mtodos que conseguissem resolver os desaos
descritos acima e para analisar os dados que estavam sendo gerados.
A MD se baseia em abordagens como amostragem, estimativa, teste de hipte-
ses, algoritmos de busca, teorias da inteligncia articial, reconhecimento de padres e
aprendizado de mquina. A MD atraiu vrios pesquisadores de reas diversas todos com
o mesmo objetivo de buscar bons resultados a m de lidar com o crescimento dos bancos
de dados e com sua alta dimensionalidade [Tan et al. 2009].
A minerao de dados referente a extrao de conhecimento dentro de grandes
conjuntos de dados, tambm associada ao KDD (Knowledge Discovery Database), a
MD apresenta ao usurio padres encontrados na base de dados, que muita das vezes o
usurio no encontraria facilmente [Dantas et al. 2008].
Existem vrios mtodos para fazer a minerao de dados, no software Weka
[Homes et al. 1994] pode-se encontrar muitos tipos de mineradores, neste artigo ser uti-
lizado o algoritmo gentico (AG), como minerador de dados.
Os Algoritmos Genticos so algoritmos de busca, que utilizam o processo da
seleo natural proposto por Charles Darwin, os AGs foram inicialmente propostos por
John Holland [Holland 1975]. Os AGs so bastante utilizados em problemas que dado
um conjunto de elementos ou indivduos se alcance aquele ou aqueles, dependendo do
problema proposto, que melhor atendam a certas condies previamente especicadas
[Silva 2001]. Os AGs so recomendados para problemas NP-Completos e NP-Difceis,
devido ao tempo que AG leva para processar os dados [Linden 2008].
Para fazer a busca do melhor resultado o AG executa os seguintes operadores:
Seleo: Um dos meios de fazer a seleo de indivduos para o crossover, e o
mais simples, o mtodo da roleta no qual cada indivduo da populao recebe
uma fatia da roleta, essa fatia determinada pela avaliao (Fitness) do indivduo
desta forma quem estiver mais prximo da soluo do problema ter mais chances
de ser sorteado. Em seguida feito o sorteio aleatrio, seria anlogo ao "rodar a
roleta", desses indivduos os selecionados faram parte do operador de crossover e
so colocados em um populao auxiliar [Man et al. 2001].
Cruzamento ou Crossover: O operador de cruzamento e de mutao so opera-
dores chave do AG para que a busca seja bem sucedida,so os operadores mais
X Encontro Anual de Computao - EnAComp 2013
303
importantes do AG [Man et al. 2001]. Existem vrias estratgias para esta opera-
o ser utilizada neste artigo a estrategia de cruzamento de um ponto, um ponto
de cruzamento escolhido aleatoriamente e a partir dele feita a troca gentica
dos indivduos escolhidos na seleo (pais) para a gerao dos novos indivduos
(lhos). A informaes genticas anteriores a este ponto de um dos pais ligado
as informaes posteriores do outro pai gerando a cada cruzamento dois novos
lhos, que so colocados na populao auxiliar [Rezende 2005].
Mutao: O operador mutao necessrio para que a populao seja diversi-
cada, permite chegar mais rpido ao objetivo da busca e para fugir dos mnimos
locais, alterando aleatoriamente um ou mais genes dos indivduos gerados pelo
cruzamento.
Reinsero: Para saber quais indivduos da populao auxiliar ser colocado na
nova populao utilizado o operador de reinsero. Com a estrategia do elitismo
pode haver um crescimento grande de super indivduo na populao, mas usando
uma estrategia mais equilibrada parece melhorar o desempenho do AG, essa es-
trategia chamada de melhores pais e lhos onde so escolhidos N/2 melhores
indivduos geradores (pais) e N/2 melhores indivduos criados (Filhos) no qual
so inseridos na populao gerando uma nova gerao [Man et al. 2001].
Em 2011 foi proposto pelos autores [Amaral and Jr. 2011] um algoritmo gentico
com um operador transgnico, esse novo operador para o algoritmo gentico foi inspirado
pela engenharia gentica, onde permite manipular o material gentico de indivduos adi-
cionando caractersticas que acredita-se ser a mais importante. Essa mesma atividade que
feita por engenheiros genticos foi introduzido no AG, assim identicasse qual o gene
ou genes mais importante ento esses genes dos N melhores indivduos so passados para
M outros inidivduos da populao.
Um algoritmo gentico, se utilizado para minerar dados, pode gerar regras e serem
utilizadas em algum tipo de lgica. Lgica Fuzzy foi criada pois, havia algumas questes
que a lgica booleana no conseguia armar com verdadeiro ou falso, ento utilizando
um grau de certeza que vai de 0-1 (0-100%) pode [Weber and Klein 2003].
O conceito fuzzy foi apresentado, em 1965, por Lot A. Zadeh [Zadeh 1965];
foi para ele o reconhecimento como colaborador dessa lgica e da inteligncia articial.
porm o losofo Plato j havia feito um estudo com uma terceira regio de certeza, alm
do verdadeiro e falso [Weber and Klein 2003].
Em meados de 1960, Zadeh viu que recursos de automatizao, de natureza indus-
trial, biolgica ou qumica, eram incapazes de compreender algumas situaes ambguas.
Assim em 1965 o professor Zadeh publicou um artigo com os conceitos dos conjuntos
fuzzy [Zadeh 1965] [Weber and Klein 2003].
A lgica fuzzy utiliza preposies lingusticas, exemplo Alto(x), Quente(x), Muito
Rpido(x). Cada termo lingustico tem um valor de pertinncia entre [0-1] [Ross 2010].
Existem trs etapas na lgica fuzzy a primeira a "fuzzicao", nessa etapa a
aplicao difusa extrai os dados do mundo real e os transforma, por meio de uma funo,
em dados do universo difuso entre [0-1]. A segunda etapa a inferncia fuzzy, a aplicao
difusa aplica as regras nos dados de entradas, j no universo [0-1], dado pela primeira
etapa, e obtm uma resposta. A terceira etapa "defuzzicao", nessa etapa a aplicao
X Encontro Anual de Computao - EnAComp 2013
304
pega o resultado obtido pela regra que est no universo [0-1] e o transforma em uma sada
com dados do mundo real por alguma funo de "defuzzicao"[Ross 2010].
3. Soluo Proposta
Para buscar um resultado favorvel para o problema descrito neste artigo ser utilizado
algoritmo gentico para minerar os dados e o conjunto fuzzy ser usado para fazer a infe-
rncia do ambiente de trfego do trecho, descrito no seo 1.
Ser utilizado para fazer a minerao de dados o API Java do AG transgnico
(AGT), criado pela Universidade Federal de Gois Campus Jatai. Essa API (Application
Programming Interface) segue os princpios descritos por [Holland 1975] e com o opera-
dor transgnico descrito por [Amaral and Jr. 2011]. O diagrama de atividades, gura 1,
descreve como o uxo normal da API mostrada neste pargrafo.
Figura 1. Diagrama de Atividades API AG-Transgnico
A congurao do cromossomo para o indivduo do AG ir conter os genes: data
(dia-ms), chuva com valores [Sim-No], uxo do trfego valor inteiro e o congestionado,
que ser a classe para o minerador de dados, comvalores [Sim-No], o tness ou avaliao
do indivduo se d pela equao 1, os valores TN (True Positive, o minerador disse que
era da classe Sim e realmente era), FP (False Positive, o minerador disse que a classe
no era Sim e realmente no era) e os valores 0.5 relativos a 50% relativos aos dados
[Sim,No]. A possibilidade de existir uma mutao em algum indivduo do AG ser de
0,2%. O valor a ser buscado pelo AG de um indivduo com uma avaliao de 100%.
Fitness = TP 0.5 +FP 0.5; (1)
A base de dados contm 25776 registros, que so os dados simulados que repre-
senta os trs anos de coleta de dados dos pesquisadores como descrito na seo 1, a base
apresenta uma quntupla que so os dados utilizados no cromossomo do indivduo.
As regras difusas sero criadas de acordo com o resultado da minerao de dados
levando em considerao o perodo e o uxo do trfego do trecho analisado e como termo
ligsticos sero:
X Encontro Anual de Computao - EnAComp 2013
305
Tabela 1. Resultados obtidos
AGT AG
Quantidade de testes Itens Avaliados Mdia Mdia
Geraes 164 1250
50 Fitness 100% 100%
Tempo de Execuo(Segundos) 43,553 87,341
Tabela 2. Lingusticas Para a Fuzzy
Conjuntos valores de X[0-23] valor de pertinncia Lingustica
23 >= X < 6 Y=0 Baixo
6 >= X < 12
Perodo 13 > X < 17 Y=(N
o
de registro do perodo X na base de dados Mdio
18 > X < 23 *1)/1800
12 >= X <= 13 Y=1 Pico
17 >= X <= 18
0 >= X <= 20 Baixo
Fluxo 20 > X < 51 Y=(X*1)/51 Mdio
X <= 51 Alto
Perodo: Baixo, Mdio e Pico;
Fluxo: Baixo, Mdio e Alto.
Logo aps a criao das regras ser usado um software para simular como ser a
reao do semforo inteligente com a inferncia fuzzy, o software ir obter as condies
do trecho (Perodo e Fluxo) e com a ajuda das regras fuzzy tomar um deciso.
4. Resultados Obtidos
Para fazer uma anlise de como o AG transgnico pode ser utilizado para encontrar pa-
dres em grandes data sets foi executado 50 vezes, como mostra a Tabela 1. Em todos os
testes o minerador de dados com AG chegou ao resultado de que o congestionamento
ocorre quando o trfego est acima ou igual a cinquenta e um. perceptvel que o
algoritmo gentico transgnico teve grandes resultados se comparado com o algoritmo
gentico tradicional, esse resultado pode ser justicado pelo fato do transgenico guiar a
populao do AG a um possvel timo.
Com os resultados tragos pelo AG transgnico foi possvel criar as frmulas das
lingusticas para a inferncia fuzzy, essas frmulas foram criadas pelos autores ao analisar
a sada do minerador de dados, como mostra a Tabela 2. A sada da MD foi uma nica
regra que informava que classe congestionamento era sim se o valor de trfego fosse >=
51 e se o valor fosse < 51 a classe seria no. As regras caram sendo as mostradas na
Tabela 3, foi criada baseada na base de dados e na sada da minerao de dados, onde y
o grau de pertinncia da entrada e s o grau de pertinncia da sada.
Foram testadas todas as possibilidades de ambiente e o simulador do semforo
respondeu corretamente, com forme as regras difusas, tendo assim uma resposta 100%
para as inferncias proposta neste artigo.
X Encontro Anual de Computao - EnAComp 2013
306
Tabela 3. Regras Nebulosas
Regras
Rx Perodo Fluxo Tempo Semforo verde
R01 Medio(y) ou Pico(y) Alto(y) Alto(s)
R02 Baixo(y) ou Medio(y) Medio(y) Medio(s)
R03 Medio(y) Baixo(y) Medio(s)
R04 Baixo(y) Baixo(y) Baixo(s)
5. Concluso e Trabalhos Futuros
Os resultados apresentados na seo anterior mostra que o AG Transgnico teve um de-
sempenho de 50% melhor que o AG tradicional e o conjunto Fuzzy, baseado na minerao
de dados, pode ser aplicado nos Semforos de forma inteligente, onde o Semforo toma
sua deciso de acordo com o ambiente. Em todos os testes aplicados no simulador o
Semforo respondeu favorvel o que demonstra que o objetivo do artigo foi vlida.
Porm os testes foram feitos com um simulador utilizando dados reais e no foram
feitos testes reais com o Semforo, pois este artigo tem como objetivo mostrar a ecincia
das inferncias fuzzy com minerao de dados dentro de um problema da engenharia de
trfego. Para trabalho futuros pode ser feito uma melhor anlise das regras. Utilizar mais
de um Semforo no teste para ver como seria a sincronizao dos mesmos, ser feita
um nova coleta de dados com novas variveis para ser minerado e tambm, se possvel,
implementar em um semforo real para ver como ele se comporta na prtica.
Referncias
Amaral, L. R. (2007). Minerao de regras para classicao de oncogenes medidos
por microarray utilizando algoritmos genticos. Universidade Federal de Uberlandia.
Dissertao de Mestrado.
Amaral, L. R. and Jr., E. R. H. (2011). Transgenic, an operator for evolutionary algo-
rithms. In IEEE Congress on Evolutionary Computation, pages 13081314. IEEE.
Askerzade, I. N. and Mahmood, M. (2010). Control the extension time of trafc light in
single junction by using fuzzy logic. International Journal of Electrical e Computer
Sciences, 10(02):5259.
Bevilaqua, A., Rodrigues, F. A., and Amaral, L. R. (2011). Gasnp classier: A machine
learning environment for building high-level biological knowledge. International Jour-
nal of Information Technology and Intelligent Computing.
Cox, E. (2005). Fuzzy Modeling and Genetic Algorithms for Data Mining and Explo-
ration. The Morgan Kaufmann series in data management systems. Elsevier Science,
USA, 1
a
edio.
Dantas, E. R. G., Junior, J. C. A. P., Lima, D. G., and Azevedo, R. R. (2008). O uso da
descoberta de conhecimento em base de dados para apoiar a tomada de decises. V
Simpsio de Excelncia em Gesto e Tecnologia - SEGeT, 01:5060.
Dias, R. A. (2004). Engenharia de trfego em redes ip sobre tecnologia mpls: Otimizao
baseada em heursticas. Universidade Federal de Santa Catarina, UFSC, Brasil. Tese
de Doutorado.
X Encontro Anual de Computao - EnAComp 2013
307
Holland, J. H. (1975). Adaptation in Natural and Articial Systems. University of Michi-
gan Press, Ann Arbor, MI, USA.
Homes, G., Donkin, A., and Witten, I. H. (1994). Weka: A machine learning workbench.
Proceedings of the Second Australia and New Zealand Conference on Intelligent In-
formation Systems.
Karakuzu, C. and Demirci, O. (2010). Fuzzy logic based smart trafc light simulator
design and hardware implementation. Appl. Soft Comput., 10(1):6673.
Kerner, B. S. (2009). introduction to modern trafc ow theory and control the long road
to three phase trafc theory. Springer, Berlin, Alemanha.
Lmmer, S. and Helbing, D. (2008). Self-control of trafc lights and vehicle ows in
urban road networks. 0802.0403.
Linden, R. (2008). Algoritmos Genticos: uma importante ferramenta da inteligencia
computacional, volume 3. Brasport Livros e Multimdia, So Paulo, Brasil.
Man, K. F., Tang, K. S., and Kwong, S. (2001). Genetic Algorithms: Concepts and
Designs. Spring, 3 edio.
Minaei-Bidgoli, B. and Punch, W. F. (2003). Using genetic algorithms for data mining
optimization in an educational web-based system. In Proceedings of the 2003 inter-
national conference on Genetic and evolutionary computation: PartII, GECCO03,
pages 22522263, Berlin, Heidelberg. Springer-Verlag.
Prado, A. L. (2010). Modelagem matemtica do uxo de trfego veicular. Universidade
Federal do Paran, UFPR, Brasil. Tese de Doutorado.
Rezende, S. O. (2005). Sistemas inteligentes: fundamentos e aplicaes. Manole Ltda,
Barueri,SP.
Ross, T. (2010). Fuzzy logic with engineering applications. John Wiley e Sons, Inglaterra,
3 edio.
Shah, S. and Kusiak, A. (2007). Cancer gene search with data-mining and genetic algo-
rithms. Comput. Biol. Med., 37(2):251261.
Silva, E. E. (2001). Otimizao de estruturas de concreto armado utilizando algoritmos
gentico. Escola Politcnica da Universidade de So Paulo. Dissertao de Mestrado.
Tan, P.-N., Steinbach, M., and Kumar, V. (2009). Introduo ao datamining. Cincia
Moderna, Rio de Janeiro, Brasil.
Tonguz, O., Viriyasitavat, W., and Bai, F. (2009). Modeling urban trafc: A cellular
automata approach. Communications Magazine, IEEE, 47(5):142 150.
Weber, L. and Klein, P. A. T. (2003). Aplicao da Lgica Fuzzy emSoftware e Hardware.
Ulbra, Rio Grande do Sul, Brasil.
Yang, W., Zhang, L., He, Z., Yang, Y., and Fang, Y. (2012). Urban trafc signal two-
stage combination fuzzy control and paramics simulation. In Systems and Informatics
(ICSAI), 2012 International Conference on, pages 771 775.
Zadeh, L. (1965). Fuzzy sets. Information and Control, 8(3):338 353.
X Encontro Anual de Computao - EnAComp 2013
308
Motor de inferncias em plataforma OSGi
Ding Yih An, Juan X. E. A. Calles, Karin Komati, Maxwell E. Monteiro
Coordenadoria de Informtica Instituto Federal do Esprito Santo (IFES) Campus
Serra, Rodovia ES010, Km 6.5 29.164-231 Serra ES Brasil
{callesjuan,sidnha}@gmail.com; {kkomati,maxmonte}@ifes.edu.br
Abstract. Most of the Ontology-based applications developed nowadays use
OWL files for representing their ontology models, also they embed reasoners
so that they can validate these OWL files. This work intends to show the
benefits of providing reasoning as a service, also, briefly presents the steps for
an implementation.
Resumo. A maioria das aplicaes de base ontolgica desenvolvida nos dias
de hoje, usam arquivos OWL para representar seus modelos de ontologias.
Elas tambm incorporam raciocinadores para que possam validar esses
arquivos OWL. Este trabalho pretende mostrar os benefcios da prestao de
raciocnio como um servio, tambm apresenta brevemente os passos para a
sua implementao.
1. Introduo
Em definio curta, uma ontologia uma especificao de uma conceituao (Gruber,
1993) que expressa os conceitos e as relaes de um determinado domnio de forma no
ambgua. Geralmente so representadas computacionalmente em formato OWL (Web
Ontology Language), o que permite a definio de regras baseadas em lgica descritiva,
chamadas de axiomas (Lindrfer, 2010). possvel fazer validaes semnticas em
arquivos OWL atravs de ferramentas chamadas de raciocinadores (reasoners), tais
como: verificar a consistncia da ontologia e inferir novas informaes a partir da
mesma. Os reasoners so utilizados em momentos especficos do ciclo de vida da
aplicao: incio de operao e nas atualizaes das ontologias utilizadas.
Geralmente, o ferramental para a construo de aplicaes baseadas em
ontologias no suporta, diretamente, o paradigma de computao como servio (Hewitt,
2009). Nesse contexto de computao como servio, vale destacar o OSGi (Open
Services Gateway Initiative), que um conjunto de especificaes que definem um
sistema de componentes dinmicos para Java, levando em considerao questes de
empacotamento, versionamento, implantao, publicao e descoberta de servios. O
conceito fundamental que permite o funcionamento de um sistema desse tipo a
modularidade e o uso de interfaces de acesso a servios. Mdulos so componentes
menores e reutilizveis, aqui denominados de bundles, que escondem as suas
implementaes de outros componentes durante a comunicao por meio de servios.
Esses bundles so capazes de publicar servios dinamicamente, alm de descobrir e
requisitar servios disponibilizados por outros bundles. Uma caracterstica importante
desta especificao que qualquer bundle pode ser executado em qualquer
implementao do OSGi. (OSGi Alliance, 2012).
De forma geral, sistemas baseados em ontologias tem o reasoner embutido em
si, o que aumenta a sua complexidade e a quantidade de recursos necessrios para sua
X Encontro Anual de Computao - EnAComp 2013
309
execuo. Em uma plataforma OSGi, por exemplo, estas questes se tornam evidentes
quando se imagina que cada bundle envolvido em uma aplicao de ontologia deveria
incluir em si uma instncia distinta de um determinado reasoner.
O presente trabalho prope a criao de um motor de inferncias que visa
atender o crescimento de sistemas distribudos que fazem uso de ontologias,
minimizando o trabalho de se ter que carregar mltiplas instncias do reasoner dentro
de seus mdulos, j que o uso desses reasoners limitado a certos momentos da sua
operao. Desta forma, promove-se o reuso e diminui-se a complexidade da gesto de
instncias e artefatos relacionados, aproveitando as facilidades que uma plataforma
OSGi oferece (Monteiro, 2010).
2. Soluo Proposta
O reasoner escolhido para implementao deste trabalho foi o Pellet (Clark & Parsia,
2011) por ser um software consolidado e o primeiro a suportar inferncias em artefatos
OWL. A implementao OSGi escolhida foi o Eclipse Equinox (The Eclipse
Foundation, 2013), por ser a implementao de referncia da OSGi Alliance, a partir da
reviso 4 da especificao OSGi. A utilizao de outro reasoner, ou implementao
OSGi, no deve afetar o resultado da soluo proposta.
Para demonstrar o fornecimento de servios semnticos na verificao de
consistncia e inferncia de novas informaes, foi criado um bundle OSGi que
disponibiliza as funcionalidades do motor de inferncia Pellet. Os servios de raciocnio
relevantes identificados na implementao so os de:
consistncia - certifica que a ontologia no contm quaisquer fatos
contraditrios;
classificao - calcula as relaes de cada subclasse com as outras classes para
descobrir todas as heranas existentes e criar uma hierarquia completa a partir
disso e;
realizao - encontra a classe especfica qual cada um dos indivduos
pertence.
Figura 1 - Cliente acessando os servios do bundle Motor de Inferncias.
X Encontro Anual de Computao - EnAComp 2013
310
O modelo da soluo constituda por trs partes, conforme visto na Figura 1:
interface - que descreve os servios oferecidos com os seus respectivos
parmetros;
servio - implementa os servios de raciocnio descritos previamente na
interface e;
ativador - responsvel por registrar e disponibilizar o servio implementado, ou
seja, pelo ciclo de vida do bundle.
O funcionamento se d pela criao do bundle descrito acima, composto por
interface, servio e ativador, e em seguida especificam-se no arquivo de manifesto as
interfaces dos prprios servios que ele exportar. Finalmente, ele registrado na
plataforma atravs do ativador. As informaes contidas no arquivo de manifesto sero
disponibilizadas para os demais bundles. Para o consumo dos servios, preciso que
clientes importem em seus arquivos de manifesto as interfaces do motor de inferncias
Pellet e referenciem os servios no seu prprio ativador.
A partir da arquitetura definida, o cliente capaz de utilizar os servios citados
anteriormente, fornecendo um modelo ontolgico (modelo original) como entrada
(como mostrado pelas setas contnuas na Figura 1) e tendo como retorno o modelo
inferido (conforme mostrado pelas linhas tracejadas na Figura 1). A passagem do
modelo como parmetro de entrada representada pelo seu valor literal, devido sua
simplicidade, garantindo a transparncia de localizao e minimizando o trabalho de
converso para um protocolo de aplicao.
Servios de inferncias so custosos, para solucionar esta questo, prope-se a
adoo de um pool de conexes no motor de inferncias, a fim de limitar o seu acesso e
consequentemente preservar a disponibilidade deste recurso. Atravs da definio da
quantidade mxima de requisies, ser possvel que os servios de inferncias operem
dentro dos limites que o hardware da plataforma permite. S haver aumento no
nmero de acessos depois que novos recursos de hardware forem adicionados e a
quantidade mxima de requisies ao pool for aumentada, provendo um estgio inicial
em relao escalabilidade.
3. Experimentos e Resultados
A presente definio do motor de inferncias como servio est sendo aplicada em um
sistema de gerncia autnoma de redes, e encontra-se implementada em linguagem
Java, utilizando as ferramentas descritas acima.
Durante os testes, um modelo didtico de ontologia de redes foi desenvolvido na
ferramenta Protg (Stanford Center for Biomedical Informatics Research, 2013). Um
bundle cliente foi criado para consumir os servios propostos. A partir do cliente foram
realizadas as chamadas aos servios desenvolvidos sobre a ontologia de teste e os
resultados das inferncias foram salvos. Para uma comparao, as mesmas inferncias
foram realizadas na ferramenta Protg. Finalmente, os resultados do bundle cliente e os
da ferramenta Protg foram comparados e demonstraram ser equivalentes,
comprovando a consistncia das informaes encontradas.
A soluo trouxe como resultado a diminuio da complexidade em lidar com
mltiplas instncias de reasoners e seus artefatos, uma vez que foi abstrado o acesso
X Encontro Anual de Computao - EnAComp 2013
311
ferramenta de inferncias Pellet, permitindo a gesto mais simplificada de seus recursos.
Alm disso, promoveu-se o reuso atravs da definio de um componente responsvel
por servios de inferncia, ao invs da replicao desses servios em cada aplicao.
4. Consideraes Finais
O trabalho apresenta os benefcios da modularidade de motores de inferncia em
plataforma OSGi para diminuio da complexidade e reuso em sistemas que requerem a
manipulao de artefatos semnticos. importante destacar que a centralizao de
servios de inferncias acrescenta um ponto de falha para sistemas baseados em
ontologias, uma vez que a indisponibilidade do motor de inferncias compromete o
funcionamento de todos os requisitantes do servio. Por isso, a arquitetura apresentada
deve ser aprimorada visando um melhor desempenho e qualidade dos resultados.
Um trabalho correlacionado o OWLTools, que efetua inferncias do tipo
checagem de consistncia, descoberta de subclasses ou superclasses, dentre outras. O
que difere desta abordagem o fato de tratar-se de uma API independente destinada a
oferecer suporte completo para artefatos OWL, com funcionalidades alm dos
reasoners, enquanto a soluo proposta destina-se a oferecer apenas servios de
inferncias em um ambiente modular.
Futuros trabalhos podem contemplar a possibilidade de suportar a adoo de
outros reasoners alm do Pellet sob escolha parametrizvel. Tambm h possibilidade
de exportar as funcionalidades de um motor de inferncias para outras plataformas alm
de OSGi, atravs da definio de outros artefatos modulares especficos que
implementem a mesma interface de servio. Por exemplo, utilizar o acesso via
WebServices ou RMI (Remote Method Invocation). Por fim, possvel aplicar a
abordagem proposta neste trabalho para a implementao de outros mdulos de igual
comportamento, como, por exemplo, um motor de persistncia de ontologias.
Referncias
Clark & Parsia (2011). Pellet Help, http://clarkparsia.com/pellet/docs/, Dezembro.
The Eclipse Foundation (2013). Equinox Resources,
http://www.eclipse.org/equinox/resources.php, Janeiro.
Gruber, T. (1993). A Translation Approach to Portable Ontology Specifications.
Knowledge Specifications, v. 5, n. 1, p. 199-220, Junho.
Hewitt, E. (2009). Java SOA Cookbook, 1 edio.
Lindrfer, F. (2010). Semantic Web Frameworks,
http://cswwwarchiv.cs.unibas.ch/lehre/hs10/cs341/_Downloads/Workshop/Reports/2
010-HSDIS-F_Lindoerfer-Semantic_Web_Frameworks-Report.pdf., Dezembro.
Monteiro, M. E. (2010). Uma Proposta de Servios Semnticos Relacionada ao
Autogerenciamento em Redes pticas de Transporte. Tese (Doutorado em
Engenharia Eltrica UFES).
OSGi Alliance (2012). The OSGi Architecture,
http://www.osgi.org/Technology/WhatIsOSGi, Dezembro.
Stanford Center for Biomedical Informatics Research (2013). Protg user
documentation, http://protege.stanford.edu/doc/users.html, Dezembro.
X Encontro Anual de Computao - EnAComp 2013
312



Um Sistema para Visualizao Tridimensional das Mamas a
partir da Curva do Limite Inferior Frontal das Mamas
Geann V. Marozzi, Karin S. Komati
Coordenadoria de Informtica Instituto Federal do Esprito Santo (IFES) Campus
Serra - Rodovia ES-010, Km 6.5 29.164-231 Serra ES Brasil
geann.vm@gmail.com, kkomati@ifes.edu.br
Abstract. In this paper we propose a system for visualizing three-dimensional
trunk of women by modeling the breasts under their front curve lower bound.
The proposed architecture is divided into two sequential stages: the first
merges a reference model with a curve, creating a two-dimensional image
which is then passed to a tool for generating 3D models from 2D images.
Resumo. Neste trabalho prope-se uma soluo para a visualizao
tridimensional de troncos de mulheres, modelando as mamas de acordo com a
sua curva do limite inferior frontal. A arquitetura proposta dividida em dois
estgios sequenciais: na primeira mescla-se um modelo de referncia com
uma curva, criando-se uma imagem bidimensional que ento passada para
uma ferramenta de gerao de modelos 3D a partir de imagens 2D.
1. Introduo
A possibilidade de visualizar e manipular interativamente imagens em 3D permite a
compreenso e anlise de informaes de natureza espacial com mais eficincia,
explorando a capacidade humana de raciocinar visualmente. Grandezas como
profundidade, largura e altura dos elementos da imagem, podem indicar informaes
como: seus lugares mais quentes, mais altos ou mais distantes; ou diferenas de
tamanho; ou informaes absolutas como distncia, posio e tamanho dos objetos.
Com um fcil controle de navegao para rotacionar, transladar, afastar ou aproximar a
imagem, possvel amplificar as informaes extradas, o que muitas vezes no seria
possvel com uma imagem em 2D [Assis e Vieira, 2005].
Este trabalho prope uma arquitetura para gerar uma visualizao de imagens de
3D de mamas a partir da curva do limite inferior frontal. Essa modelagem tem diversas
aplicaes importantes como gerao de malhas para uso em mtodos numricos de
anlise e na visualizao do resultado de uso de prteses ou reconstruo por cirurgias
reparadoras [Castro et. al., 2009].
2. Soluo Proposta
O sistema proposto possui dois estgios de processamento, o primeiro o Morphing e o
segundo a gerao da modelagem 3D, conforme Figura 1.
Morphing de imagens uma tcnica de processamento de imagem usada para
calcular uma transformao, ou "metamorfose", a partir de uma imagem para outra. Um
software morphing permite que voc transforme uma imagem em outra, gerando uma
X Encontro Anual de Computao - EnAComp 2013
313



sequncia de imagens intermedirias de transio. O aplicativo utilizado foi o Sqirlz
Morph [Xiberpix, 2012], que freeware. O morphing recebe como entrada um modelo
do tronco corporal (foto bidimensional de um manequim) e a curva do limite inferior
frontal de uma pessoa real (imagem bidimensional).

Figura 1. A arquitetura do sistema.
A imagem utilizada do morphing a imagem do meio do processo de transio
que representa o manequim j moldado de acordo com a curva. esta imagem
bidimensional que ser modelada em 3D. Esta ferramenta foi totalmente desenvolvida
para este fim e ser descrita mais detalhadamente a seguir.
2.1. Ferramenta de Visualizao de Imagens em 3D a partir de 2D
A ferramenta foi desenvolvida em linguagem Java, usando a biblioteca JOGL [JOGL,
2012], que um projeto independente de cdigo aberto sob licena BSD. JOGL um
wrapper (invlucro) que permite que o OpenGL [Kronos Group, 2012] seja usado na
linguagem Java.
A concepo da ferramenta tratar a cor de cada ponto da imagem em 2D como
a altura da visualizao da imagem em 3D, cada cor da imagem colorida inicialmente
convertida para a escala de cinza. Alm disso, a ferramenta disponibiliza a configurao
de indexao de cores RGB, e utiliza este ndice como altura. Um exemplo mostrado
na Figura 2.

(a)

(b)
Figura 2. Entrada e sada da Ferramenta de Visualizao 3D a partir de imagens
2D, (a) um exemplo de uma imagem de entrada colorida e (b) uma visualizao
poligonal 3D com alterao da escala de cores associada imagem de entrada.
X Encontro Anual de Computao - EnAComp 2013
314



O resultado tridimensional pode ser visualizado em quatro formatos de
renderizao, imagens formadas por pontos, tringulos, polgonos aramados e polgonos
com preenchimento. A grande vantagem desta abordagem a simplicidade da ideia e
um resultado visual bem interessante, desde que a imagem de entrada apresente
variaes de cor que forneam a percepo de profundidade.
3. Experimentos e Resultados
Para os nossos experimentos, utilizamos como imagens das curvas do limite inferior
frontal, as imagens da base de dados de imagens de mamografia trmicas [Visual Lab,
2012]. A base de dados composta por 285 imagens, a Figura 3(a) mostra um exemplo
de uma imagem de mamografia trmica e em (b) a anotao associada da curva feita por
um especialista.

(a)

(b)
Figura 3. (a) Imagem IR_0089.jpg (b) IR_0089-Mask.png, retiradas de [Visual
Lab, 2012].
A foto do manequim usada como modelo de referncia mostrada na Figura
4(a). O fundo da foto foi retirado e a sua visualizao 3D em malha poligonal
mostrada na Figura 4(b), e sua visualizao 3D poligonal com preenchimento
mostrada na Figura 4(c).

(a)

(b)

(c)
Figura 4. Criao do modelo do tronco corporal, em (a) a foto de um manequim
e em (b) o resultado aramado em 3D gerada atravs de polgonos.
J com as imagens de entrada: a curva do limite inferior frontal das mamas e de
um modelo de referncia, o processo de morphing executado e o resultado mdio
X Encontro Anual de Computao - EnAComp 2013
315



modelado em 3D. A Figura 5 mostra um exemplo dos testes realizados, onde (a) a
imagem de entra de uma curva, (b) a parte do tronco do modelo de referncia e (c) o
resultado em 3D.



(a)


(b)


(c)
Figura 5. Um exemplo de imagens de entrada (a) curva do limite inferior frontal
das mamas (b) manequim e em (c) o resultado final da modelagem em 3D.
4. Consideraes Finais
Este trabalho est em fase de desenvolvimento, e dispe-se de resultados parciais.
possvel melhorar os resultados para que fiquem mais prximos das imagens reais dos
pacientes. Acredita-se que a incluso de imagens com o perfil lateral das mamas ir
melhorar em muito o resultado da modelagem 3D.
Um trabalho futuro incluir o posicionamento de tumores que forem
descobertos nas anlises das imagens termogrficas de mamas, auxiliando o mdico em
seu diagnstico.
Referncias
Assis, S. E., Vieira, R. M. (2005). View 3D. Trabalho de Concluso de Curso em
Cincia da Computao. Faculdade Vitoriana de Tecnologia (FAVI). Vitria, ES.
Castro, F. J., Vasconcelos, S.; Serrano, R. C., Motta, L. S., Menezes, P. M.; Bezerra, L.
A., Lima, R. C. F. e Conci, A. (2009) Um Sistema para pr-processamento de
Imagens Trmicas e Modelagem Tridimensional Aplicadas Mastologia. In: Anais
do II Encontro Nacional de Engenharia Biomecnica: ENEBI 2009, 2009,
Florianpolis, v. 1, p. 83-84.
JOGL (2012). Java Binding for the OpenGL API. http://jogamp.org/jogl/www/,
Agosto.
Kronos Group (2012). OpenGL: The Industry's Foundation for High Performance
Graphics. http://www.opengl.org/, Agosto.
Visual Lab (2012). Processamento e Anlise de Imagens Aplicadas Mastologia.
http://visual.ic.uff.br/proeng/, Agosto.
Xiberpix (2012) "Sqirlz Morph". http://www.xiberpix.net/SqirlzMorph.html, Agosto.
X Encontro Anual de Computao - EnAComp 2013
316
Detecc ao, caracterizac ao e recuperac ao de faces
Cleriston Aparecido Dantas
1
, Marcos Aur elio Batista
1
1
Departamento de Ci encia da Computac ao
Universidade Federal de Goi as (UFG)
Avenida Dr. Lamartine Pinto de Avelar, 1120, Setor Universit ario
75704-020 Catal ao GO Brasil
cleriston.tato@gmail.com, marcos@catalao.ufg.br
Abstract. In the last years, the use of less invasive technology has been widely
used both in biometric access control as security and document validation. One
of the primary methods is the facial recognition, it does not require the inter-
vention of the individual. The process of face recognition in images or videos is
provided by the steps of locating faces, classify them, and nally identifying in-
dividuals through a database of faces. This work consisted of a bank faces and
a face recognition system with skin segmentation, location, classication and
comparison of faces. Some tests were performed in order to test the efciency
of the developed system, fteen tests performed on segmentation of skin and six
tests in the identication of individuals.
Resumo. Nos ultimos anos o uso de tecnologia menos invasivas tem sido
amplamente utilizados, tanto no controle de acesso biom etrico quanto na
seguranca e validac ao de documentos. Um dos principais m etodos e o de reco-
nhecimento facial, pois n ao necessita da intervenc ao do indivduo. O processo
de reconhecimento facial em imagens ou vdeos e dado pelas etapas de localizar
as faces, classic a-las e por m identicar indivduos, por meio de um banco de
dados de faces. Neste trabalho, constituiu-se um banco de faces e um sistema
de reconhecimento facial, com segmentac ao de pele, localizac ao, classicac ao
e comparac ao de faces. Alguns testes foram realizados com o intuito de testar
a eci encia do sistema desenvolvido, realizou-se quinze testes na segmentac ao
de pele e seis testes na identicac ao dos indivduos.
1. Introduc ao
Tem-se usado diversos recursos tecnol ogicos para a identicac ao de indivduos. O uso
de impress oes digitais e DNA ainda s ao os principais m etodos de identicac ao, por em,
muitas vezes intrusivos, necessitando da colaborac ao do usu ario. Por isso o uso de tec-
nologias n ao invasivas, como o reconhecimento de faces, tem se tornado cada vez mais
comuns.
Os primeiros estudos de reconhecimento facial datam na d ecada de 1950, empre-
gados em estudos de psicologia [Bruner and Tagiuri 1954], na d ecada de 1970 iniciou-se
o uso de m aquinas autom aticas para reconhecimento facial, como se v e nos trabalhos de
[Kanade 1977] e [Kelly 1970].
Nestes ultimos 40 anos as pesquisas sobre o reconhecimento facial sofreram
grande avanco, principalmente ao se fazer uso de abordagens holsticas e cl assicas como
X Encontro Anual de Computao - EnAComp 2013
317
eigenfaces [Turk and Pentland 1991a], sherfaces [Etemad and Chellappa 1997] e mais
recente o uso de modelos tridimensionais [Campos 2001] [Colombo et al. 2005].
O reconhecimento automatizado pode ser util em diversas aplicac oes, como:
controle de acesso, rastreamento de suspeitos, realidade virtual, passaportes, interac ao
homem-computador, em aplicac oes sociais e at e mesmo usado como uma ferramenta de
auxilio aos estudos de psicologia [Zhao et al. 1998].
O reconhecimento facial se d a por tr es etapas: detecc ao da face na ima-
gem ou vdeo, caracterizac ao desta face encontrada e por m a recuperac ao da
mesma [Wu et al. 2012]. No desenvolvimento deste trabalho ser a discutido cada etapa.
2. Metodologia
Como dito, o trabalho e dividido basicamente em tr es passos principais, dado uma ima-
gem de entrada, detectar a face, extrair caractersticas da mesma, essas caractersticas s ao
salvas em um arquivo que servir a como uma base de dados para que no passo seguinte,
ao entrar com uma imagem nova, identicar o indivduo presente nela. Todas as roti-
nas foram implementadas em C++ e usando a biblioteca OpenCV. A Figura 1 ilustra o
processo.
Figura 1. Etapas adotadas para o reconhecimento facial neste trabalho.
2.1. Pr e Processamento, segmentac ao da pele
Antes de iniciar o processo de detecc ao, fez-se uso de uma etapa de pr e-processamento
das imagens, no qual a partir de uma imagem de entrada, esta, foi convertida de RGB
(Red, Blue e Green) para HSV (Hue, Saturation e Value), esta medida e necess aria para a
segmentac ao da pele, pois ela e melhor representada pelo canal Hue. Ap os quinze testes
com 251 imagens presentes no banco criado, o melhor limiar encontrado foi entre 3 e
55, o processo envolveu a variac ao dos limiares, escolhemos aquele que obteve a melhor
segmentac ao de pele sem interferir na detecc ao de face e apresentar o mnimo de falsos
X Encontro Anual de Computao - EnAComp 2013
318
positivos, como na Figura 2. Ap os realizada a distinc ao de pele e n ao pele, gerou-se uma
imagem contendo a imagem original e a segmentac ao.
Figura 2. Exemplo de falsos positivos, foi detectado faces onde n ao existe.
2.2. Detecc ao da face
Ap os isso, a detecc ao da face e realizada na imagem gerada, nesta etapa destacam-se
m etodos por atributos de gabor, m etodos tridimensionais, holsticos, neste trabalho o uso
de caractersticas de haar, por meio do algoritmo de Vioja-Jones [Viola et al. 2003] foi
feito. Como o banco de faces n ao foi obtido em um ambiente totalmente controlado,
capturou-se sem intenc ao imagens com os indivduos em dist ancias diferentes, portanto
todas as faces passaram por um reajuste de tamanho no rosto encontrado, limitando um
quadrado de 150px, o reajuste evita que na etapa pr oxima haja alguma incompatibilidade
por tamanho das imagens.
2.3. Caracterizac ao das faces
Na etapa seguinte, s ao classicadas todas as faces encontradas, diante de alguns
m etodos na literatura como, Fisherface [Jing et al. 2006], Independent Component Ana-
lisys (ICA) [Bartlett et al. 2002], Linear discriminant analysis (LDA) [Lu et al. 2003],
Evolutionary Pursuit (EP) [Zhao et al. 2006], Elastic Bunch Graph Matching
(EBGM) [Bolme 2003] e o modelo tridimensional de Li e Zeng[Li et al. 2012], optou-se
por implementar no programa o Eigenface, conhecido tamb em como Principal Compo-
nents Analysis (PCA) [Turk and Pentland 1991b] [Sevcenco and Lu 2010], pelo uso do
m etodo original inventado por Karl Pearson [Pearson 1901], e um dos m etodos mais
cl assicos e que resulta em otimos resultados.
A ideia do PCA e bem simples, ele reduz as vari aveis originais de uma imagem em
um conjunto mnimo, mas que contenham o m aximo de informac ao possvel da imagem
original, assim obt em-se uma matriz reduzida com todas as caractersticas principais da
matriz completa.
Ap os a extrac ao dessas caractersticas, foi criada uma imagem m edia e todos os
dados resultantes foram armazenados em uma estrutura de um arquivo XML, juntamente
com o n umero da foto e indivduo. Este arquivo fonte cont em os dados de todas as pessoas
do banco de dados constitudo.
2.4. Recuperac ao da face
A etapa nal desse sistema consiste em entrar com uma nova imagem que pas-
sar a por todas as etapas anteriores e gerada sua estrutura individual, os dados desta
X Encontro Anual de Computao - EnAComp 2013
319
estrutura ser ao comparadas com o arquivo fonte. Esta comparac ao foi realizada
por dois m etodos de c alculo de dist ancia. O primeiro teste com a dist ancia Eu-
clidiana [Gonzalez and Woods 2000], e o segundo com a dist ancia de Mahalano-
bis [Chan et al. 2012]. Para cada ponto da imagem de consulta e comparada com pontos
de cada imagem, o conjunto de pontos mais pr oximos determina se o indivduo e ou n ao
semelhante.
A dist ancia Euclidiana entre P
1
e P
2
e dado pela
equac ao 1 [Gonzalez and Woods 2000].
D
e
(p
1
.p
2
) =

(x
1
x
2
)
2
+ (y
1
y
2
)
2
(1)
E a dist ancia Mahalanobis, e dada pela equac ao 2, onde
x
e a imagem
m edia [Chan et al. 2012].
D =

(x
x
)
t
1

x
(x
x
) (2)
Osistema retorna o indivduo mais parecido com o indivduo consulta, mesmo que
este n ao se encontra no banco de faces, uma informac ao importante e o fato da imagem
da face de entrada poder ser em tr es diferentes posic oes, al em de uso ou n ao de oculos,
isto foi possvel pelo modo que o banco foi constitudo.
2.5. Criac ao do banco de faces
O banco de faces usado neste trabalho foi constitudo com base em 7 imagens em diferen-
tes poses e uso ou n ao de oculos, conforme a Figura 3. As imagens foram capturadas por
meio de uma webcam comum, presente na maioria dos notebooks, a resoluc ao adotada foi
640 x 480 px. Nenhum crit erio foi considerado para a constituic ao deste banco de faces,
todas as pessoas foram volunt arias, assinando inclusive um termo de autorizac ao de uso
de suas imagens pelo sistema capturado.
O sistema em ash capturava as imagens nas diferentes poses e ` as armazenava em
um banco MySQL, um sistema para gerenciar estas imagens tamb em foi desenvolvido
Figura 4, para que pudesse realizar buscas operac oes nos registros.
3. Resultados
O uso da segmentac ao de pele tem objetivo diminuir a taxa de falsos positivos, no qual
realmente o fez, reduzindo de 32 falsos positivos na detecc ao de faces sem uso de
segmentac ao de pele, para 8 falsos positivos, o resultado foi obtido pelo limiar entre 3
e 55, todos os testes para cada limiar pode ser observado na Tabela 1, em alguns casos
como no limiar entre 3 e 25, as taxas de faces n ao detectadas foram muito altas.
Para a identicac ao dos indivduos, realizamos seis testes, os testes consistiam
em treinar 29 imagens, uma de cada indivduo, e testar outras 58 n ao presentes no trei-
namento, foram tr es conjuntos distintos. A comparac ao dos indivduos foram realizadas
com uso da dist ancia de Euclides e a de Mahalanobis, ver Tabela 2.
X Encontro Anual de Computao - EnAComp 2013
320
Figura 3. Diferentes posic oes em que o banco de dados foi constitudo.
Figura 4. Sistema de gerenciamento do Banco de Faces.
Podemos observar que os resultados com uso da dist ancia de Mahalanobis e leve-
mente superior ao m etodo de Euclides.
4. Considerac oes Finais
O sistema aqui desenvolvido propunha o reconhecimento de indivduos por meio do uso
de alguns m etodos e abordagens cl assicas, usou-se segmentac ao de pele, m etodo de Viola-
Jones para detecc ao de faces, o PCA para extrac ao de caractersticas e os m etodos de
Mahalanobis e de Euclides para c alculo de dist ancia.
Pode se observar que o sistema desenvolvido obt em um bom resultado para a
segmentac ao de pele, sem uma grande interfer encia na detecc ao do rosto, al em de dimi-
nuir a taxa de falsos positivos.
Na identicac ao dos indivduos o modelo de Mahalanobis se mostrou superior ao
modelo Euclidiano, obtendo taxas de at e 77,59% de acerto, o que pode ser considerado
X Encontro Anual de Computao - EnAComp 2013
321
Limiar Faces detectadas Certos Erros (falsos positivos) N ao detectadas
sem limiar 223 191 32 60
0-30 229 209 20 42
0-40 236 208 18 43
0-50 206 201 5 50
0-60 212 198 14 53
0-70 231 196 35 55
3-25 120 108 12 143
3-35 204 198 6 53
3-45 204 198 6 53
3-55 223 215 8 36
3-65 226 197 29 54
10-40 215 199 16 52
10-50 207 194 13 57
10-60 221 193 28 58
10-70 216 180 36 71
Tabela 1. Comparac ao entre os diferentes limiares testados
Conjunto Euclidiana Mahalanobis
Treinamento de faces com oculos 74,14% 77,59%
Treinamento de faces com iluminac ao 53,45% 63,80%
Treinamento sem iluminac ao 58,62% 67,24%
Tabela 2. Resultados da identicac ao dos indivduos, com uso de dois modelos
de c alculo de dist ancia
razo avel, tendo em mente que o banco foi constitudo em ambiente n ao controlado.
A principal diculdade foi em constituir o banco de dados, pois muitas pessoas
cam com receio de ser volunt ario em um trabalho, ainda mais quando sua foto est a
envolvido.
Para os pr oximos trabalhos, a implementac ao de outros m etodos de extrac ao de
caractersticas ser ao realizados, o banco de faces ser a aumentado e outros m etodos de
comparac ao ser ao testados.
Refer encias
Bartlett, M., Movellan, J., and Sejnowski, T. (2002). Face recognition by independent
component analysis. Neural Networks, IEEE Transactions on, 13(6):14501464.
Bolme, D. (2003). Elastic bunch graph matching. PhD thesis, Colorado State University.
Bruner, I. and Tagiuri, R. (1954). The perception of people. Handbook of Social Psycho-
logy, 2:634654.
Campos, T. E. (2001). T ecnicas de selec ao de caractersticas com aplicac oes em reconhe-
cimento de faces. Masters thesis, Instituto de Matem atica e Estatstica, University of
S ao Paulo.
X Encontro Anual de Computao - EnAComp 2013
322
Chan, C., Tahir, M., Kittler, J., and Pietikainen, M. (2012). Multiscale local phase quan-
tisation for robust component-based face recognition using kernel fusion of multiple
descriptors.
Colombo, A., Cusano, C., and Schettini, R. (2005). Tri-dimensional face detection and lo-
calization. In Proceedings of SPIE - The International Society for Optical Engineering,
volume 5670, pages 6875.
Etemad, K. and Chellappa, R. (1997). Discriminant analysis for recognition of human
face images. Journal of the Optical Society of America A, 14(8):17241733.
Gonzalez, R. and Woods, R. (2000). Processamento de imagens digitais. Edgard Blucher.
Jing, X., Wong, H., and Zhang, D. (2006). Face recognition based on 2d sherface ap-
proach. Pattern Recognition, 39(4):707710.
Kanade, T. (1977). Computer recognition of human faces, volume 47. Birkh auser.
Kelly, M. (1970). Visual identication of people by computer. Technical report, DTIC
Document.
Li, C., Mu, Z. ., and Zeng, H. (2012). Human identication based on 3d ear modeling
using a single image. International Journal of Advancements in Computing Techno-
logy, 4(23):8896.
Lu, J., Plataniotis, K., and Venetsanopoulos, A. (2003). Face recognition using ker-
nel direct discriminant analysis algorithms. Neural Networks, IEEE Transactions on,
14(1):117126.
Pearson, K. (1901). Principal Components Analysis, page 559. Cited By (since 1996): 1.
Sevcenco, A.-M. and Lu, W.-S. (2010). Perfect histogram matching pca for face recogni-
tion. Multidimensional Systems and Signal Processing, 21:213229.
Turk, M. and Pentland, A. (1991a). Face recognition using eigenfaces. Proceedings of
the IEEE Conference on Computer Vision and Pattern Recognition, pages 586591.
Turk, M. and Pentland, A. (1991b). Face recognition using eigenfaces. In Computer
Vision and Pattern Recognition, 1991. Proceedings CVPR91., IEEE Computer Society
Conference on, pages 586591. IEEE.
Viola, M., Jones, M., and Viola, P. (2003). Fast multi-view face detection. In Proc. of
Computer Vision and Pattern Recognition. Citeseer.
Wu, Y.-M., Wang, H.-W., Lu, Y.-L., Yen, S., and Hsiao, Y.-T. (2012). Facial feature
extraction and applications: A review. Intelligent Information and Database Systems,
pages 228238.
Zhao, Q., Lu, H., and Zhang, D. (2006). A fast evolutionary pursuit algorithm based on
linearly combining vectors. Pattern Recognition, 39(2):310312.
Zhao, W., Chellappa, R., and Krishnaswamy, A. (1998). Discriminant analysis of prin-
cipal components for face recognition. In Automatic Face and Gesture Recognition,
1998. Proceedings. Third IEEE International Conference on, pages 336341. IEEE.
X Encontro Anual de Computao - EnAComp 2013
323
Estudo de Caso Usando o Framework Robot Operating System
(ROS)
Iohan G. Vargas
1
, Dalton Matsuo Tavares
1
1
Departamento de Cincia da Computao Universidade Federal de Gois (UFG)
Avenida Dr. Lamartine Pinto de Avelar, 1120, Setor Universitrio, Catalo GO Brasil
iohanufg@gmail.com, dalton.tavares@catalao.ufg.br
Abstract. This paper briefly describes the ROS framework and its
functionalities, presenting its strengths and demonstrating its usability in a
practical application, whose goal is to read the touch sensor of the LEGO


Mindstorms

Education NXT 9797 kit. By means of a rich toolset offered by the


ROS framework, it is possible to efficiently and promisingly circumvent the
limitations of the native LEGO software, using a computer as an extension,
which will perform additional processing and therefore, allow the creation of
more complex prototypes.
Resumo. Este artigo descreve de forma sucinta o framework ROS e suas
funcionalidades, apresentando pontos positivos e demonstrando sua
usabilidade em uma aplicao prtica cujo objetivo a leitura do sensor de
toque do KIT LEGO

Mindstorms

Education NXT 9797. Por meio de um rico


conjunto de ferramentas oferecido pelo framework ROS, possvel contornar
de forma eficiente e promissora as limitaes do software nativo do KIT
LEGO

, utilizando como extenso de processamento um computador, o qual


deve realizar processamento adicional e consequentemente, permitir a criao
de prottipos mais complexos.
1. Introduo
Robot Operating System (ROS) uma plataforma de software de cdigo aberto projetado
para suportar uma nova gerao de robs pessoais. A comunidade ROS desenvolveu o
framework para uma ampla gama de plataformas, disponibilizando-o para diferentes
sistemas operacionais (SOs), como Windows, Linux e Mac OS. O framework ROS um
rico conjunto de ferramentas que gerencia de forma eficiente a mediao entre Sistema
Operacional (SO) e demais aplicaes, fornecendo bibliotecas reutilizveis e ferramentas
que so projetadas para trabalhar de forma independente, com o intuito de ajudar
desenvolvedores a criarem aplicaes no campo da robtica. Pode-se afirmar que o ROS
representa uma coleo muito til de softwares voltados exatamente para ajudar na
percepo, controle e modelagem dos dispositivos de hardware que sero lidos,
fornecendo servios que so esperados de um SO, incluindo a abstrao do hardware em
baixo nvel, o que permite a leitura e o controle do mesmo, passagem de mensagens entre
processos e gerenciamento de pacotes [Quigley et al. 2009].
O ROS possui uma ampla documentao, em sua maioria em lngua inglesa
1
. Na
pgina da comunidade ROS, existe um extenso material de apoio, oferecendo suporte a

1 Disponvel em http://www.ros.org/wiki/ Acesso em: 17/01/2013.
X Encontro Anual de Computao - EnAComp 2013
324
compartilhamento de cdigos fonte e experincias realizadas com o framework ROS,
alm de artigos cientficos que envolvem sua utilizao em diversas reas do
conhecimento. A comunidade ROS possibilita ao usurio fazer parte da mesma, mediante
um cadastro pessoal no site. Dessa forma, o usurio pode deixar eventuais perguntas e/ou
dvidas que podero ajud-lo a solucionar algum problema detectado
2
.
Este software uma ferramenta de cdigo aberto (open source), com todo seu
cdigo do ncleo licenciado pela licena BSD (Berkeley Software Distribution License).
Paralelamente o sistema tambm projetado para ser capaz de incluir componentes
escritos sob vrias licenas pblicas da GNU (GNU general public license ou GPL
3
)
[Cousins 2010b]. Possui uma estrutura distribuda de processos, a qual apoia a
reutilizao de cdigo em robtica. Suas bibliotecas possuem funcionalidade para
diversas linguagens de programao que sero mencionadas na seo 2. Este framework,
originado da Stanford University e Research Institute, considerado apropriado para
grandes processos de desenvolvimento e atualmente apoiado pela Willow Garage.
No contexto desse artigo, o software ROS ser usado com o kit LEGO


Mindstorms

Education NXT 9797, com o intuito de compor um estudo de caso visando


a leitura de sensores. Para oferecer melhores esclarecimentos para a compreenso do
estudo de caso proposto, a seo 2 ir apresentar uma breve descrio do framework ROS
e de suas funcionalidades, a seo 3 ir apresentar o estudo de caso pretendido e a seo 4
as concluses e propostas de trabalhos futuros.
2. Robot Operating System (ROS)
O framework ROS foi projetado para atender a um conjunto especfico de desafios
encontrados durante o desenvolvimento em grande escala de robs de servio. O ROS
muito mais do que apenas um servio oferecido a robs mveis e de manipulao
[Alexander et al. 2012].
Uma aplicao ROS um grafo de nodos, os quais representam um processo no
framework ROS. Os nodos podem residir em uma mesma mquina ou em mquinas
diferentes. A comunicao entre nodos feita usando dois protocolos, os tpicos (topics),
protocolo assncrono que implementa um fluxo de dados e troca de mensagens,
possibilitando que mltiplos publishers/subscribes concorram a um nico tpico, onde a
ordem das mensagens irrelevante e os servios (services), protocolo sncrono que
definido como uma chamada de procedimento remoto, a qual espera por uma mensagem
de resposta, sendo possvel ter vrios clientes simultneos. Ambos utilizam como
diretrio mestre, o ROS Master
4
.
Sua organizao como framework pode ser resumida em um servio ponto-a-
ponto (peer-to-peer), baseado em ferramentas (tools-based), aplicvel a mltiplas
linguagens (multi-lingual), leve (thin), livre e de cdigo aberto. Contudo, segundo
Quigley et al. (2009), nenhum outro framework existente possui esse conjunto de critrios
de projeto reunidos em uma s ferramenta. Esses critrios podem ser explicados de forma
objetiva, como segue [Quigley et al. 2009]:
1. Ponto-a-ponto: um sistema construdo usando ROS consiste em uma srie de

2 Disponvel em http://answers.ros.org/questions/ Acesso em: 17/01/2013.
3 Disponvel em http://www.nacaolivre.com.br/open-source/licenca-gpl/ Acesso em: 20/01/2013.
4 Disponvel em http://barraq.github.com/fOSSa2012/slides.html#slide-13 Acesso em: 19/01/2013.
X Encontro Anual de Computao - EnAComp 2013
325
processos, potencialmente distribudos em um nmero diferente de hospedeiros,
ligados em tempo de execuo do sistema em uma topologia ponto-a-ponto.
2. Multi linguagem: ao escrever algum cdigo, muitas pessoas tm preferncias por
uma determinada linguagem de programao. Estas podem opes tcnicas ou
pessoais. Por essa razo, o ROS foi projetado com um idioma neutro, suportando
atualmente C, C ++, Python, LISP. Para fornecer o suporte a diversas linguagens
de programao, o ROS utiliza uma IDL (Interface Definition Language) , que
uma linguagem neutra de definio de interface para descrever as mensagens
enviadas entre os mdulos.
3. Baseado em ferramenta: com o intuito de gerenciar a complexidade do ROS,
existe um projeto de microkernel, no qual um grande nmero de pequenas
ferramentas so usadas para criar e executar vrios componentes, ao invs de
construir um sistema monoltico.
4. Leve: Tendo em vista a reutilizao de cdigo, os desenvolvedores do ROS foram
encorajados a se fundamentarem em bibliotecas independentes. O seu sistema de
compilao executa construes modulares dentro da rvore de cdigos-fonte,
usando o CMake
5
, o que torna trivial seguir essa ideologia leve.
5. Free and Open-Source: como mencionado na seo 1, o cdigo fonte completo do
ROS est disponvel publicamente, permitindo o desenvolvimento de projetos
comerciais e no comercial.
3. Estudo de Caso: Leitura de Sensor usando o ROS
Para o desenvolvimento do presente estudo de caso, foi usado o kit LEGO

Mindstorms


Education NXT 9797. importante registrar que a ltima verso do ROS (fuerte) no
oferece suporte para o pacote LEGO

Mindstorms

NXT. Assim, as verses que podem


ser usadas com esse kit de desenvolvimento so verses anteriores, como o ROS Electric
ou o ROS Diamondback. A verso usada foi o ROS Electric, por ser uma verso estvel e
adequada a este estudo de caso. Com as ferramentas disponveis, abre-se um amplo leque
de possibilidades para o controle do kit de desenvolvimento. O foco do presente artigo a
demonstrao da leitura de sensores do kit LEGO

, em especial o sensor de toque.


3.1. O kit LEGO

Mindstorms

NXT
O kit LEGO Mindstorms NXT 2.0 um kit robtico modular produzido pela LEGO,
constitudo por um conjunto de peas de encaixe, acrescido de sensores e motores que
so controlados por um processador programvel ou bloco inteligente, o qual permite a
leitura de sensores e acionamento de motores [Quirino e Gonalves 2010]. Esse kit
interessante no contexto experimental por ser voltado educao tecnolgica
6
.
O bloco inteligente permite a conectividade via mdulo Bluetooth ou porta USB
2.0. Disponibiliza trs portas de sada e quatro portas de entrada digitais, possui um
display que mostra as funcionalidades do bloco e um alto-falante. Alm do bloco
inteligente, o kit LEGO

Mindstorms

Education NXT 9797 possui bateria recarregvel
de ltio; trs servo-motores; dois sensores de toque, um sensor ultra-snico, um sensor de

5 Cmake um sistema de automao de compilao de sistemas. Disponvel em
http://leandro.setefaces.org/2011/tutorial-cmake-p-i/ Acesso em: 20/01/2013.
6 Disponvel em http://mindstorms.lego.com/en-us/whatisnxt/default.aspx Acesso em: 17/01/2013.
X Encontro Anual de Computao - EnAComp 2013
326
cor e de intensidade luminosa [Silva e Porto 2011]. Seu hardware apresenta alta
durabilidade e facilidade de alterao considerando as peas de encaixes, sendo
caracterizado por um custo relativamente baixo em comparao a outros kits (ex.
Aldebaran NAO
7
, bioloid
8
etc).
A interao com o kit LEGO

Mindstorms

NXT realizada por meio de uma


conexo entre o SO Ubuntu 11.10 e o bloco inteligente, via Bluetooth ou cabo USB. Em
geral, a interface usual para o ROS um terminal no qual so executados programas em
linhas de comando.
Muito embora o ROS no seja considerado amigvel ao usurio, as limitaes
do ambiente de desenvolvimento nativo fornecido com o kit LEGO

motivam o seu uso.


Dentre as limitaes observadas, pode-se citar uma linguagem de programao limitada,
a qual no permite, por exemplo, a criao de um servidor baseado em sockets TCP no
bloco inteligente e no d suporte a tele-operao de robs. Tambm existem limitaes
considerando o hardware nativo como a baixa capacidade de processamento (Atmel 32
bits ARM7) e pouca quantidade de memria (256 Kbytes FLASH, 64 Kbytes de RAM).
Dessa forma, justifica-se o uso do framework ROS como forma de superar as limitaes
observadas, sendo possvel criar prottipos mais complexos, mediante o uso de um
computador como extenso para realizar processamento adicional.
3.2. Preparao do Espao de Trabalho
Para instalao do ROS Electric, o site oficial do ROS oferece o procedimento completo
para o SO Linux Ubuntu
9
. A verso usada para a confeco deste artigo foi a 11.10 em
plataforma de 32 bits. O suporte estvel para o ROS fornecido para Linux Ubuntu,
embora existam outros SOs com suporte experimental. H quatro configuraes padro
para a instalao do ROS. A mais apropriada para o estudo de caso pretendido, a
instalao da verso Deskt op- Ful l I nst al l , que a recomendada pelo site do
ROS. Para essa instalao necessrio estar conectado a Internet.
Aps a instalao bem sucedida do ROS Electric necessrio modificar as
configuraes do interpretador de comandos usado, nesse caso, o bash, de modo que
este adicione o ambiente de desenvolvimento do ROS a cada sesso iniciada. Alm dos
pacotes bsicos do ROS Electric, recomenda-se a instalao de algumas ferramentas
independentes, as quais podero ser usadas posteriormente no sistema ROS. So elas o
r osi nst al l , usada para adquirir facilmente pacotes e o r osdep que permite instalar
de forma prtica dependncias instalao original do ROS. Em seguida, necessrio
criar uma workspace pessoal, onde os pacotes desenvolvidos sero criados. Esse
procedimento realizado mediante a execuo do comando r osws i ni t
~/ r os_wor kspace / opt / r os/ el ect r i c.
O espao de trabalho padro do ROS configurado em
/ opt / r os/ el ect r i c/ set up. bash. Dessa forma, preciso mudar esse diretrio
para a pasta criada anteriormente. Para tanto, basta editar o arquivo . bashr c e
acrescentar o caminho real da nova pasta de trabalho (ex. sour ce

7 Disponvel em http://www.aldebaran-robotics.com/en/ Acesso em: 28/01/2013
8 Disponvel em http://www.trossenrobotics.com/bioloid-and-humanoid-robot-kits.aspx Acesso em:
28/01/2013.
9 Disponvel em: http://www.ros.org/wiki/electric/Installation/Ubuntu Acesso em: 17/01/2013.
X Encontro Anual de Computao - EnAComp 2013
327
/ home/ user / r os_wor kspace/ set up. bash). Alm disso, necessrio atualizar
a referncia do arquivo set up. bash (ex. sour ce ~/ r os_wor kspace
set up. bash). Em seguida criada uma pasta especfica para uso na criao de pacotes
ROS. Essa pasta colocada dentro do diretrio r os_wor kspace (ex. mkdi r
~/ r os_wor kspace/ sandbox). O caminho do pacote deve ser inserido no path do
ROS (ROS_PACKAGE_PATH), com o comando sour ce
/ home/ user / r os_wor kspace/ set up. sh. Dessa forma, tem-se o sistema ROS
instalado e a pasta pessoal de trabalho criada.
3.3. Adio dos Pacotes Necessrios para a operao do kit LEGO


Os procedimentos de instalao dos pacotes necessrios para a operao do kit LEGO


Mindstorms

NXT esto disponveis no site do ROS


10
. O software ROS para LEGO
organizado em pacotes e pilhas, os pacotes contm funcionalidades referentes ao
processos do ROS, as pilhas coletam conjuntos de pacotes e juntos oferecem
funcionalidade para a comunicao entre nodos, contendo a infraestrutura bsica do ROS
[Cousins 2010a]. Antes de instalar os pacotes NXT, necessrio fazer algumas
configuraes.
A criao de um grupo l ego e adio do usurio usado ao grupo;
Criar um arquivo de regras udev para o grupo l ego que acabou de ser criado.
Isso pode ser feito de forma simples mediante o comando apresentado na
Listagem 1, o qual define regras para o arquivo l ego. r ul es. Este arquivo ser
movido da pasta / t mp e ser identificado em / et c/ udev/ r ul es. d, para
permitir o acesso via mdulo USB ao bloco inteligente. Posteriormente deve-se
reiniciar o udev.
Inserir novas fontes para o gerenciador de pacotes, de modo que este possa
instalar pacotes do ROS (Listagem 2).
Instalao do pacote r os- el ect r i c- nxt al l usando o gerenciador de
pacotes do Ubuntu.
echo BUS==\ usb\ , ATTRS{i dVendor }==\ 0694\ , GROUP=\ l ego\ ,
MODE=\ > / t mp/ 70- l ego. r ul es && sudo mv / t mp/ 70- l ego. r ul es
/ et c/ udev/ r ul es. d/ 70- l ego. r ul es
Listagem 1: Regra criada para o gerenciador de dispositivos udev.
Sudo sh - c ' echo deb ht t p: / / packages. r os. or g/ r os/ ubunt u
onei r i c mai n > / et c/ apt / sour ces. l i st . d/ r os- l at est . l i st
Listagem 2: Insero de nova fonte de pacotes no gerenciador de pacotes do
Ubuntu.
Assim, a infraestrutura necessria para a operao do kit LEGO

por intermdio
do framework ROS est pronta. A seo 3.4 apresentar a leira de sensores via ROS.
3.4. Leitura de Sensores do LEGO

Mindstorms

NXT
Para leitura de sensores usando o ROS, necessrio certificar-se que a comunicao com

10 Disponvel em: http://www.ros.org/wiki/Robots/NXT/electric Acesso em: 17/01/2013.
X Encontro Anual de Computao - EnAComp 2013
328
Figura 1: Resultado do comando roscore.


Figura 2: Bloco inteligente e sensor de toque.
o bloco inteligente est sendo executada de forma correta. Isso pode ser realizado por
meio do comando r oscor e (sem parmetros), como segue na Figura 1.













A sada do comando apresentada na Figura 1 demonstra como dever estar o
sistema, caso o ROS esteja em execuo e a conexo tenha sido realizada com sucesso.
A conexo com o bloco inteligente fica evidente considerando a ltima linha mostrada na
Figura 1, (st ar t ed cor e ser vi sse[ / r osout r ] ). Isso indica que o servio foi
iniciado com sucesso e que a conexo foi estabelecida com o bloco inteligente.
O bloco inteligente possui quatro portas para fixao dos sensores (porta 1, 2, 3, e
4, em sua parte inferior (Figura 2). Na parte superior existem trs portas para fixao dos
motores e uma porta para conexo via mdulo USB. Esta ltima permite estabelecer
conexo com o bloco inteligente, o qual ser controlado pelo computador via porta USB.
O sensor de toque pode ser conectado porta 1, como mostrado na Figura 2.














X Encontro Anual de Computao - EnAComp 2013
329
A descrio do sensor a ser usado fornecida ao ROS mediante a especificao de
um arquivo do tipo . yaml , o qual fornece a descrio do sensor, seu tipo e um
identificador. O arquivo robot.yaml especificado para um sensor de toque (Listagem 3).
nxt _r obot : / / o nome do r ob
- t ype: t ouch / / t i po do sensor
f r ame_i d: t ouch_f r ame / / i dent i f i cador par a o sensor
name: my_t ouch_sensor / / nome do sensor
por t : PORT_1 / / por t a do bl oco i nt el i gent e
desi r ed_f r equency: 20. 0 / / f r equnci a def i ni da
Listagem 3: Arquivo robot.yaml contendo a especificao do sensor de toque.
O prximo passo a criao de um arquivo de carga com extenso . l aunch
para o ROS (ROS launch), o qual ir iniciar o pacote NXT-ROS (Listagem 4).
<l aunch>
<node pkg=" nxt _r os" t ype=" nxt _r os. py" name=" nxt _r os"
out put =" scr een" r espawn=" t r ue" >
<r ospar amcommand=" l oad" f i l e=" $( f i nd l ear ni ng_nxt ) /
r obot . yaml " / > </ node>
</ l aunch>
Listagem 4: Arquivo r obot . l aunch.
Agora se faz necessrio testar as configuraes feitas anteriormente. Assim
verifica se o bloco inteligente est se comunicando com o sensor pretendido. Para isto,
executa-se o comando r osl aunch r obot . l aunch. O resultado a inicializao do
servio NXT-ROS e a criao de uma instncia do sensor de toque denominada
my_t ouch_sensor na porta 1.
SUMMARY ========
PARAMETERS
* / nxt _r os/ nxt _r obot NODES /
nxt _r os ( nxt _r os/ nxt _r os. py)
st ar t i ng new mast er ( mast er conf i gur ed f or aut o st ar t )
pr ocess[ mast er ] : st ar t ed wi t h pi d [ 11699]
ROS_MASTER_URI =ht t p: / / bvo: 11311/
pr ocess[ r osout - 1] : st ar t ed wi t h pi d [ 11712]
st ar t ed cor e ser vi ce [ / r osout ]
pr ocess[ nxt _r os- 2] : st ar t ed wi t h pi d [ 11724]
[ I NFO] 1282349960. 808368: Cr eat i ng t ouch wi t h name
my_t ouch_sensor on PORT_1
Listagem 5: Resultado do comando roslaunch com as configuraes pr-definidas.
X Encontro Anual de Computao - EnAComp 2013
330
A visualizao dos sensores pode ser realizada mediante o uso do comando
r ost opi c l i st . Para este estudo de caso, se todos os passos descritos foram
executados de forma correta o sensor my_t ouch_sensor aparecer na lista de
sensores em execuo. Para verificar o acionamento do sensor de toque execute o
seguinte comando rosrun nxt_python my_touch_sensor.py, no terminal aparecer os
resultados, quando o sensor de toque for pressionado ser visualizado TOUCH: TRUE,
caso contrrio TOUCH: FALSE.
A visualizao dos demais sensores do kit LEGO

Mindstorms

NXT segue os
mesmos procedimentos considerando a criao de arquivos de configurao . yaml e
. l aunch. Vale observar que ao se usar vrios sensores paralelamente, pode ser criado
apenas um arquivo de configurao com especificaes de todos os sensores envolvidos.
4. Concluso
Sob a tica do desenvolvedor, este estudo de caso proporciona o conhecimento mais
detalhado do framework ROS. possvel abstrair o quanto a ferramenta em questo
proporciona em termos de funcionalidades para a operao e interao com robs. A
leitura do sensor de toque representa uma pequena demonstrao do que possvel fazer
utilizando o framework ROS e um kit robtico mais simples.
Embora o estudo de caso tenha utilizado um ambiente simples em termos de
hardware, a diversidade de plataformas suportadas, o fato de ser livre e de cdigo aberto,
sua eficincia quanto a gerncia de sistemas robticos e sua flexibilidade tornam o ROS
apto a lidar com desafios em grande escala. Exemplos como o rob PR2 [Cousins,
2010b] mostram o quanto este framework revolucionrio e demonstram seu grande
potencial quanto ao desenvolvimento de aplicaes voltadas a robs de servio.
Como trabalho futuro pretende-se utilizar o estudo de caso apresentado e
aprofund-lo considerando o controle dos motores e demais sensores presentes no kit
LEGO

Mindstorms

NXT. Com isso, prevalecer o intuito de criar um primeiro
prottipo de rob completo, o qual usa vrios sensores e motores em paralelo.
Referncias
Alexander, B., Hsiao, K., Jenkins, C., Suay, B. e Toris, R. (2012). Robot Web Tools. In
IEEE Robotics & Automation Magazine, pages 20-23.
Silva, S. R. X. e Porto, L. (2011) Anlise Comparativa de Kits de Robtica Educativa,
In: XXXIX Congresso Brasileiro de Educao em Engenharia.
Cousins, S. (2010a). ROS on the PR2. In IEEE Robotics & Automation Magazine, pages
23-25.
Cousins, S. (2010b). Welcome to ROS Topics. In IEEE Robotics & Automation
Magazine, pages 13-14.
Quirino, G. e Gonalves, V. (2010) O Uso da Robtica Educacional no Ensino
Fundamental, In: VIII Encontro Anual de Computao.
Quigley, M., Gerkey, B., Conley, K., Faust, J., Foote, T., Leibs, J., Berger, E., Wheeler,
R. e Ng, A. (2009) ROS: an open-source Robot Operating System, In: International
Conference on Robotics and Automation.
X Encontro Anual de Computao - EnAComp 2013
331

Desenvolvimento de um Simulador para o Treinamento de
Operaes para Profissionais do Setor Eltrico
Felipe G. Santos
1
, Iguatemi E. Fonseca
2

1
Ps-Graduao em Sistemas de Comunicao e Automao UFERSA
Bairro Costa e Silva - Mossor-RN, CEP: 59.625-900

2
Departamento de Sistemas de Computao Centro de Informtica UFPB
Cidade Universitria - Joo Pessoa-PB, CEP: 58.051-900
santos-fg@hotmail.com, iguatemi@ufersa.edu.br
Abstract. This Article has the objective of showing a simulator with the
educational intent based on operations of the electric sector that will be able
to help professionals that realize these tasks constantly as apparel is
equipment needed for a particular procedure, tools to use and the procedures
to follow before and during the exchange of insulators. And also presents the
project and the phases of the development of a simulator highlighting also the
architecture use for its implementation.
Keywords. Simulator, educational, electric sector, virtual reality.
Resumo. Este artigo tem como objetivo mostrar um simulador com o intuito
educacional baseado em operaes do setor eltrico que possibilitar ajudar
profissionais que realizam estas tarefas constantemente, tais como vestimenta
de equipamentos necessrios para determinado procedimento, ferramentas
que deve usar e os procedimentos a seguir antes e durante a troca de
isoladores. apresentado as fases do desenvolvimento do simulador
destacando a arquitetura utilizada para sua implementao.
1. Introduo
Apesar de existir h mais de duas dcadas, a Realidade Virtual (RV) tem tido um
crescimento ainda maior nos ltimos anos por diversos fatores, como preo de
equipamentos e grau de conhecimento para utilizao de equipamentos que utilizassem a
tecnologia.
Com este crescimento o uso das tecnologias da RV em aplicaes de treinamento
e capacitao de profissionais para a realizao de procedimentos complexos ou de risco
tem se tornado cada vez mais comum e apresentando resultados muito positivos quando
comparado com os mtodos tradicionais de ensino, como apostilas, manuais, vdeos
entre outros. Com a RV visa-se eliminar barreiras de interao entre o usurio e os
sistemas de computador e fornecer uma experincia imersiva convincente Garant (1995).
As vantagens apresentadas pelas solues em RV so notrias nos dias de hoje, o
desenvolvimento de simuladores e aplicaes de treinamento em diversas reas, como na
conduo de veculos terrestres e aeronaves, manuteno e operao de mquinas
X Encontro Anual de Computao - EnAComp 2013
332

industriais, realizao de procedimentos mdicos, operaes militares e outros. O
trabalho apresentado aplica a RV como proposta para o treinamento de operaes do
setor eltrico utilizando-se de dispositivos computacionais que exploram diversos
sentidos humanos, como viso, tato e audio.
2. Fundamentao terica
A RV , antes de tudo, uma interface avanada do usurio para acessar aplicaes
executadas no computador, tendo como caractersticas a visualizao e movimentao
em ambientes tridimensionais em tempo real e interao com elementos desse ambiente.
Alm da visualizao em si a experincia do usurio de RV pode ser enriquecida pela
estimulao dos demais sentidos como tato e audio Kirner (2007).
Reforando o conceito, Bowman (2004) diz que a interao do usurio com o
ambiente virtual um dos aspectos importantes da interface e est relacionada com a
capacidade do computador detectar e reagir s aes do usurio, promovendo alteraes
na aplicao.
Tendo esta viso destes conceitos os trabalhos em RV podem pertence a um ou
mais grupos, entre eles: i) treinamento de habilidades fsicas e motoras Machado (2003);
ii) treinamento de tomada de deciso apresentado no trabalho de Souza (2003);
permitindo que o usurio execute sequencias reais de montagem de equipamentos; iii)
treinamento na execuo de procedimentos Nils (2010), o qual consiste de um usurio
sem conhecimento de programao de computadores possa criar procedimentos tcnicos
denominados de instrues tcnicas virtuais.
Neste ltimo grupo de aplicaes, cuja nfase no treinamento de procedimentos
utilizando tcnicas de RV, a ideia principal desta proposta criar um simulador grfico
de forma a ser semi-imersivo e interativo, reduzindo ao mximo as diferenas existentes
entre o cenrio virtual e a realidade permitindo aos operadores experimentarem, sem
riscos situaes de conflito e perigo que ocorrem comumente durante as operaes do
setor de distribuio de energia.
3. Trabalhos relacionados
Em Hounsell (2007) apresentado e um modelo de treinamento para manuteno de
uma Unidade Hidreltrica de Energia (UHE) utilizando um sistema de realidade virtual
desktop, com uma abordagem de aprendizagem baseada totalmente na prtica.
Atravs do Sistema de Autoria para Construo de Instrues Tcnicas Virtuais
em Pamplona (2011), permite que tcnicos de uma Usina Hidreltrica de Energia
construam instrues tcnicas de operao e manuteno em um ambiente virtual dando
aos tcnicos a possibilidade de interagir com as instrues criadas de modo a montar e
desmontar os equipamentos, simulando instrues de manuteno e operao como
apresentado na Figura 1.
A Furnas Centrais Eltricas tambm desenvolveu uma aplicao para o
treinamento financiado pela ANEEL (Agencia Nacional de Energia Eltrica), o objetivo
central enriquecer o material utilizado na capacitao das equipes de manuteno,
atravs da Realidade Virtual Belloc (2011).
X Encontro Anual de Computao - EnAComp 2013
333


Figura 1. Fechamento da vlvula.
Tendo como alicerce aplicaes de sucesso, a ferramenta aqui proposta objetiva
tornar a abordagem construtiva mais efetiva ao aprendiz, disponibilizando um ambiente
virtual realista com equipamentos e normas de operaes executados em sistemas
eltricos de distribuio.
4. Desenvolvido do simulador
Nesta seo apresentada toda a arquitetura do simulador em desenvolvimento que
prope a execuo de procedimentos realizados em uma operao de rede eltrica viva
(ativa) e morta (desativada). A arquitetura do projeto foi divido em 3 etapas de forma
bem detalhada.
A arquitetura adotada no simulador baseada em camadas, adaptada para o
contexto de jogos e aplicativos para desktop apresentado em Belloc (2011). Nela
podemos considerar trs camadas essenciais, sendo a camada de interface responsvel
pela comunicao com o usurio, composta pelas telas do simulador e de menus e sub-
menus, a camada de negcio responsvel pela lgica/controle do jogo abstraindo dos
dados realizados pelo operador, como sequencias de aes a serem realizadas na camada
de interface de dados onde temos o ambiente virtual incluindo os objetos de cenas de
forma a passar o realismo ao operador como o de uma operao real.
4.1 Apresentao do simulador
Por possu operaes complexas, com risco de vida e de patrimnio tangvel e intangvel,
o setor eltrico necessita de profissionais altamente qualificados e com total
conhecimento das aes a serem adotadas para o controle e operao do sistema e
segurana. No se admitindo erros operacionais ou aes precipitadas, pois podem
causar perdas de vidas, alm de desligamentos indevidos afetando milhares de pessoas e
causando prejuzo empresa.
A Figura 2 mostra a simulao de uma operao que ocorre na troca de um
isolador em linha viva de poste trifsica 13,8 kV, interface interativa controla a
comunicao entre o simulador e o operador, caso realize alguma operao incorreta um
alerta com sons e uma mensagem e acionada, apresentando qualquer duvida sobre as
normas e recomendaes tcnicas o operador pode recorrer ao menu de dicas que ir
apresenta detalhes e sequncias para sua realizao da operao.
O simulador apresenta dois modos, demonstrativo e manual, neste o operador vai
adquirindo conhecimento durante as etapas da simulao, como quais equipamentos
utilizar a roupa para operao, controle da cesta area, troca de isoladores, que so
acessados conforme sua avaliao no treinamento realizado ao fim de cada etapa,
X Encontro Anual de Computao - EnAComp 2013
334

mostrando a potencialidade e o realismo do uso da RV para o treinamento e avaliao do
operador.

Figura 2. Troca de isolador em linha viva.
5. Concluso e trabalhos futuros
Este artigo apresenta um projeto ainda em desenvolvimento de uma plataforma de
treinamento de procedimentos para o setor eltrico tendo incialmente a execuo de duas
operaes realizadas pelo setor, sendo possvel a adio de novas operaes (plugins)
em estudos futuros. Logo aps a concluso pretende-se submete a plataforma a testes
que sero realizados com profissionais do setor e futuramente utilizar a tecnologia do o
Kinect do console do XBOX 360 para aumentar a imerso da simulao tornando assim
a execuo dos procedimentos ainda mais realsticos ao operador.
6. Referncias
Belloc, A. R. (2011).Um arcabouo para o Desenvolvimento de Simuladores de
Procedimentos em Realidade Virtual. Dissertao de Mestrado. Escola Politcnica da
Universidade de So Paulo 2011.
Bowman, D. A. 3D (2004). User Interfaces: Theory and Practice.
Garant, E. (1995). A virtual reality training system for power-utility personnel. IEEE
Pacific Rim Conference on, p. 296 299.
Hounsell, M. P. (2007) Um Ambiente de Treinamento de Manuteno em uma Unidade
Hidrtrica de Energia Usando Realidade Virtual Desktop. IX Symposium on Virtual
and Augmented Reality, p. 286294.
Kirner, R. T. C. (2007).Fundamentos de Realidade Virtual e Aumentada. Livro do Pr-
Simpsio, VIII Symposium on Virtual Reality, p. 2 39.
Machado, A. C. e L. dos S. (2008). Dispositivos para Sistemas de RealidadeVirtual.
Realidade Virtual e Aumentada - Uma abordagem tecnolgica. Simposium on Vitual
and Augmented Reality, Edio Sociedade Brasileira de Computao - SBC, p. 21
45.
Nils, A. B. P. (2010). Projetos e Implementao de um Sistema de Autoria para
Animaes, Simulaes e Treinamentos em Realidade Virtual. Dissertao de
Mestrado. Setembro de 2010. Campus Universitrio do Guam., 2010.
Pamplona, M. R. F. C. M. A. J. (2003). Um Ambiente de Treinamento de Manuteno
em uma Unidade Hidrtrica de Energia Usando Realidade Virtual Desktop. 2011.
X Encontro Anual de Computao - EnAComp 2013
335

Disponvel em: http://www.aeseletropaulo.com.br/imprensa/releases/Paginas
/AESEletropaulotreinaeletricistasemsimulador3D.aspx Acesso em jul. 2012.
Souza, M. P. A. (2003). Maintenance and assembly training in a hydroelectric unit of
energy virtual reality desktop. IEEE Revista IEEE America Latina, v. 6, n. 5, p. 484
491.


X Encontro Anual de Computao - EnAComp 2013
336



Construo de Software capaz de traar o Perfil
Nutricional e Antropomtrico dos estudantes no IFPB campus
Campina Grande
Larissa Flix de Andrade
1
, Ana Maria da Costa Ribeiro
1
, Jossana Pereira de
Sousa
2
, Rhavy Maia Guedes
1

1
Instituto Federal de Educao, Cincia e Tecnologia da Paraba (IFPB) Campina
Grande, Paraba Brasil
2
Departamento de Nutrio, Universidade Federal da Paraba (UFPB) Joo Pessoa,
Paraba Brasil
{larissafelix.felix,aninhacostaribeiro,jossanasousa,rhavy.maia}@gmail.com

Abstract. Information technology is increasingly present in areas of human
activity. It is possible to build systems that add value to numerous scenarios.
One way to encourage nutrition education to the Ministry of Health launched
the Food Guide in booklet format evaluated by a nutritionist. However, the
capture and analysis of nutritional data for a computerized system can provide
reliable results and save time performing activities. Given this context, this
work aims at the construction a prototype software capable of profiling
nutritional and anthropometric measures of IFPBs students.
Resumo. A informtica est cada vez mais presente em reas da atividade
humana. possvel construir sistemas que agreguem valor a inmeros
cenrios. Como forma de incentivar a educao nutricional o Ministrio da
Sade lanou o Guia Alimentar no formato de cartilha avaliado por um
Nutricionista. No entanto, a captura e anlise dos dados nutricionais por um
sistema informatizado pode trazer confiabilidade dos resultados e economia
de tempo de realizao das atividades. Diante deste contexto, o presente
trabalho tem como objetivo a construo de um prottipo de Software capaz
de traar o perfil nutricional e antropomtrico dos estudantes do IFPB.
1. Introduo
Nas ultimas dcadas, com a incorporao do avano cientfico-tecnolgico, a
informtica est cada vez mais presente nas diversas reas da atividade humana [Alves t
al., 2006], servindo como uma importante ferramenta nos processos de coleta,
armazenamento e anlise de informaes [Stumm et al., 2006]. possvel construir
sistemas que agreguem valor s mais diversas reas do conhecimento. Sua construo
geralmente envolve uma equipe multidisciplinar de profissionais, necessrios para
analisar profundamente todos os aspectos do problema a ser resolvido e aplicar
corretamente os preceitos da Engenharia de Software.
A riqueza de informaes na rea de nutrio constitui fato material a ser
empregado no campo da informtica, devido s vantagens da utilizao de um sistema
informatizado, tais como: confiabilidade dos resultados, economia de tempo pela
X Encontro Anual de Computao - EnAComp 2013
337



velocidade dos clculos, rpida busca de informaes, armazenamento do trabalho para
consulta posterior, entre outros [Ano, 2001].
Como forma de incentivar a educao nutricional o Ministrio da Sade lanou
o Guia Alimentar para a Populao Brasileira - Promovendo a Alimentao Saudvel
em formato de panfleto. O objetivo do Guia orientar os indivduos a consumir uma
alimentao saudvel. A aplicao do Guia acompanhada por um nutricionista que
tambm coleta e analisa informaes sobre as medidas antropomtricas do paciente.
Diante deste contexto, o presente trabalho tem como objetivo a construo de
um prottipo de Software capaz de traar o perfil nutricional e antropomtrico dos
estudantes do Instituto Federal de Educao, Cincia e Tecnologia da Paraba (IFPB),
Campus Campina Grande.
2. Material e Mtodos
O prottipo do software foi desenvolvido entre os meses de Fevereiro e Maro de 2012.
O gerenciamento da equipe tcnica foi realizado seguindo uma adaptao do Scrum,
combinado ao Extreme Programming (XP) [Schwaber, 2006]. Foram definidas iteraes
semanais para o desenvolvimento da aplicao. O conjunto de requisitos do prottipo
foi elicitados e analisados durante a primeira iterao. Nela foram mantidos contato da
equipe tcnica com um profissional de nutrio.
2.1 Elicitao, anlise de requisitos e viabilidade.
Com o objetivo de melhorar o entendimento das necessidades dos usurios e dos
requisitos de negcio foram aplicadas em uma reunio as questes da Tabela 1.
Tabela 1. Elicitao de requisitos para construo do sistema capaz de traar o
perfil dos hbitos alimentares de indivduos.
Questes Respostas
Como o processo
feito atualmente?
O Ministrio da Sade por meio do Guia Alimentar de Bolso possui um
conjunto de recomendaes nutricionais, como tambm um questionrio que
verifica hbitos alimentares dos indivduos. Por meio dele possvel
contabilizar pontos, definir padres de perfil alimentar e sugerir novas
condutas. A avaliao antropomtrica realizada a partir da pesagem e
medio do individuo por um nutricionista. Os dados capturados geralmente
so registrados em fichas escritas.
Quais problemas so
encontrados nesse
processo/ambiente?
Os clculos realizados para contabilizar as respostas do questionrio podem
incorrer em erros, pois quando realizados manualmente podem gerar
impreciso, alm da possibilidade da aplicao de um nmero menor de
questionrios.
Como o sistema
ajudaria a reduzir esses
problemas?
O sistema calcula automaticamente o IMC e o resultado do questionrio de
forma rpida e precisa. Desse modo diminui a probabilidade de erro e permite
que as atividades sejam realizadas mais rapidamente.
Como o sistema ser?
O sistema deve ser capaz de calcular o IMC, aplicar o questionrio, sugerir
recomendaes para novas condutas e armazenar todas as informaes
inseridas pelos usurios a fim de gerar perfis de hbitos alimentares e
antropomtricos de uma populao.
X Encontro Anual de Computao - EnAComp 2013
338



Aps a classificao e organizao, os requisitos foram especificados conforme mostra
a Tabela 2.
Tabela 2. Lista de requisitos para construo do sistema capaz de traar o
perfil dos hbitos alimentares de indivduos.
Requisito Descrio
Calcular o IMC Por meio do peso, altura e sexo fornecido no cadastro, o clculo
realizado e possibilita informar se o usurio est acima, abaixo ou
em seu estado nutricional adequado (IMC = PESO/ALTURA).
Avaliar e recomendar hbitos
alimentares
Contm questes de carter avaliatrio a respeito do consumo
alimentar do usurio. Aps a avaliao o usurio receber
orientaes para modificar seus hbitos alimentares.
Calcular os gastos calricos dos
indivduos
A partir do peso, idade, IMC e atividades fsicas e dirias ser
calculado o gasto calrico mdio. Nesse procedimento necessrio
determinar individualmente as necessidades calricas e de
protenas, seguindo a recomendao preconizada para o sexo e
idade prevista pelas Recomendaes de Ingesto Diria (RDA). No
entanto para pessoas com idade maior ou igual a 18 anos o clculo
das necessidades calricas e de protenas ser feito com base nas
DRI's - Dietary Reference Intakes.
2.2 Desenvolvimento do sistema
O prottipo do sistema foi desenvolvido na linguagem Pascal, utilizando o paradigma
estruturado para a compreenso da sequncia de cdigo produzido. A interface de
interao com usurio foi construda utilizando controles de tela oferecidos pela
linguagem Pascal.
2.3 Avaliao do prottipo
O prottipo foi apresentado aos alunos da disciplina Algoritmos e Lgica da
programao que avaliaram suas funcionalidades. Aps a utilizao aplicou-se as
perguntas presentes na Tabela 3.
Tabela 3. Perguntas de Avaliao do prottipo NutriMais.
Questo Pergunta Mtrica
1 A aplicao oferece uma interao amigvel com o usurio? Sim ou No
2 O resultado da avaliao foi de claro entendimento? Sim ou No
3 fcil de usar em outro ambiente? Sim ou No
4 fcil entender o conceito e a aplicao? Sim ou No
5 fcil aprender a usar? Sim ou No
6 Voc gostaria de acessar a aplicao em outra media? Internet, Dispositivo Mvel.
3. Resultados e Discusso
O resultado da avaliao do prottipo pode ser visto na Tabela 4. Foram entrevistadas
20 pessoas que avaliaram como fcil interao com a aplicao do Guia Alimentar,
X Encontro Anual de Computao - EnAComp 2013
339



onde os resultados das avaliaes so apresentados de forma clara pelo sistema. Alm
disso, foi sugerida a insero de imagens para melhor interpretao das etapas de
avaliao do Guia e disponibilizao do sistema na arquitetura web.
Tabela 4. Resultado da Avaliao
Questo
Mtrica
Sim No
1 19 1
2 20 0
3 18 2
4 18 2
5 20 0
A inteno de migrao para plataforma web foi fundamenta pelo resultado da
Questo 6 que mostrou o interesse de 13 alunos em acessar esse tipo de mdia e de 7
para acessar a aplicao via dispositivo mvel.
4. Concluso
A aplicao do prottipo do Guia Alimentar para uma pequena amostra de estudante, e
um profissional de nutrio, se mostrou eficaz, mas sua interface no foi aprovada pela
maioria deles. Por isso, a arquitetura de desenvolvimento para a prxima iterao do
projeto ser alterada. O sistema ser migrado para a plataforma web que permite maior
alcance de usurios via acesso remoto. importante ressaltar, que o trabalho obteve
xito ao ser submetido ao Comit de tica em Pesquisa em Seres Humanos do Instituto
Federal de Educao, Cincia e Tecnologia da Paraba, de acordo com a Resoluo no
196/96 do Conselho Nacional de Sade (N041/10).
Referncias
Alves, V. L. S.; Cunha, I. C. K. O.; Marin, H. F. Oliveira O. (2006). Criao de um
Web Site para enfermeiros sobre P Diabtico. 2006.
Ano, M. S.; Cuppari, L.; Draibe, A. S.; Sigulem D. (2001). Informtica em terapia
nutricional. In: Magnoni D, Cukier C. Perguntas e respostas em nutrio clnica. So
Paulo: Roca. 2001. p. 361-364.
Stumm, J.; Nassar, S. M.; Pires, M. M. S. (2006). Avaliao alimentar utilizando
tcnicas de inteligncia artificial. In: X CONGRESSO BRASILEIRO EM
INFORMTICA EM SADE CBIS, 2006, Florianpolis. Anais CBIS'2006...
Florianpolis: CD-ROM.
Ministrio da Sade. Guia Alimentar Como Ter uma Alimentao Saudvel. (2006).
Disponvel em: <http://bvsms.saude.gov.br/bvs/publicacoes/guia
_alimentar_alimentacao_saudavel.pdf>. Acesso em: 01 jul. 2012.
Schwaber, K.; Beedle, M. (2001). Agile Software Development with Scrum. 1 Ed.
Prentice Hall, 2001.
X Encontro Anual de Computao - EnAComp 2013
340
Estudo de Caso Usando a Plataforma Microsoft

Robotics
Developer Studio (RDS)
Jessica S. Guimaraes, Dalton M. Tavares
Departamento de Cincia da Computao Universidade Federal de Gois (UFG)
Avenida Dr. Lamartine Pinto de Avelar, 1120, Setor Universitrio, Catalo GO Brasil
{jessica.silva.gui}@gmail.com, {dalton.tavares}@catalao.ufg.br
Abstract. This paper presents a case study showing the control of a robot via an
application developed in C#, in order to demonstrate the use of Microsoft


Robotics Developer Studio (MRDS) for controlling a prototype developed from a
LEGO

Mindstorms

NXT kit.
Resumo. Este artigo apresenta um estudo de caso apresentando o controle de um
rob por meio de um aplicativo desenvolvido em C#, para demonstrar a
utilizao do Microsoft

Robotics Developer Studio (MRDS) para controlar um


prottipo desenvolvido a partir de um kit LEGO

Mindstorms

NXT.
1. Introduo
Uma forma bastante eficaz para estudos envolvendo programao a aplicao da mesma
em desenvolvimento robtico, colocando em prtica os conhecimentos vistos em cursos de
graduao e programando prottipos de robs, por meio de softwares existentes. Estes
prottipos podem ser construdos a partir de kits de desenvolvimento disponveis em
mercado, de fcil manuseio e custo acessvel.
Com os avanos tecnolgicos na rea da robtica, surgiram diversos kits de
desenvolvimento como o rob NAO da Aldebaran Robotics
1
, o Bioloid
2
e o LEGO

Mindstorms
3
, entre outros. Para o presente estudo de caso, o kit desenvolvido pela
LEGO

Mindstorms

foi escolhido, devido a sua flexibilidade e baixo custo frente s
demais opes.
Em 2006, a LEGO

lanou uma nova linha de produtos, o LEGO

Mindstorms


NXT, incentivando a educao tecnolgica de forma descontrada [Kim e Jeon 2008]. O kit
de desenvolvimento constitudo por peas para montagem rpida, incluindo um bloco de
controle programvel, sensores de toque, para medio de intensidade luminosa,
ultrassnico, motores, entre outros. Seu ambiente de programao nativo permite a
aplicao de comportamentos que utilizam as ferramentas que o acompanham atravs da
programao icnica
4
.
O bloco de controle pode ser programado usando outros softwares, diferentes do
ambiente de programao padro fornecido pela LEGO

. Uma das opes o Microsoft


Robotics Developer Studio (MRDS), aplicvel ao controle e simulao de robs, destinado

1
Para maiores informaes, vide: http://www.aldebaran-robotics.com/en/ Acesso em: 28/01/2013.
2
Para maiores informaes, vide: http://robosavvy.com/store/product_info.php/products_id/82 Acesso em:
28/01/2013.
3
Para maiores informaes, vide: http://mindstorms.lego.com/en-us/Default.aspx Acesso em: 28/01/2013.
4
Uma forma simples de programar, utilizando metodologia grfica, ao invs de cdigo fonte inserido
como texto, permitindo a construo de cenrios e a interpretao visual.
X Encontro Anual de Computao - EnAComp 2013
341
a desenvolvedores acadmicos, amadores e comerciais.
Este artigo tem por objetivo apresentar um estudo de caso envolvendo o controle de
um rob mvel, desenvolvido usando o kit LEGO

Mindstorms

NXT e o software RDS.


Para tanto, ser fornecida uma breve descrio das principais funcionalidades do software
RDS (seo 2), seguida da apresentao do ambiente de desenvolvimento e dos resultados
alcanados (seo 3). Uma breve concluso e propostas de trabalhos futuros sero
apresentadas na seo 4.
2. Estrutura do RDS
A arquitetura bsica do RDS apresentada na Figura 1. De forma sucinta, o RDS fornece
servios de alto nvel trabalhando normalmente com abstraes de servios de baixo nvel,
as quais, por sua vez, tratam da comunicao com dispositivos. Os servios de baixo nvel
so fornecidos pelos fabricantes de robs ou desenvolvidos pelo prprio usurio, por meio
de aplicativos escritos em C#, por exemplo. atravs de sua camada de abstrao de
hardware, com interface bem definida, que os servios de alto nvel tm controle de
entrada e sada (I/O). Os servios CCR e DSS (explicados abaixo) so componentes
caractersticos do RDS e atuam no contexto de comunicao entre ns. Esse modelo
baseado no framework .NET. Esse conjunto de servios se comunica com o firmware do
rob atravs de uma porta serial USB - ou conexo via rede, atravs do Windows, o qual
fundamental para que o servio de interao do rob com o aplicativo seja realizado
[Microsoft Robotics Group 2012].


Figura 1. Arquitetura do software.

A Concorrncia e Coordenao Runtime (CCR Concurrency and Coordination
Runtime) um modelo que trabalha com programao multi-thread e sincronizao de
X Encontro Anual de Computao - EnAComp 2013
342
tarefa, e permite interao com robs em tempo real sem a complexidade de trabalhar com
semforos, excluso mtua, tratamento de possveis assincronias, entre outras, devido o
uso de protocolo aberto. J os Servios de Software Distribudos (DSS - Distributed
Software Services) um programa que atuam juntamente com CCR, utilizando vrios
servios ou instancias de servios, tais como: componentes de hardware (sensores e
atuadores), componentes de software (repositrio, interface de usurio), fuso entre
sensores e tarefas relacionadas aos mesmos. [Cepeda, Chaimowicz e Soto 2010].
3. Estudo de caso: utilizando sensor de toque para encontrar obstculos
Utilizando um kit LEGO

Mindstorms

NXT, foi estruturado um prottipo que tem como


principais caractersticas o uso de dois motores, para acionar as rodas, o uso de um sensor
de toque, para reconhecer os obstculos que lhe forem impostos atravs de contato direto e
um bloco de controle NXT. Utilizando o RDS foi desenvolvido um aplicativo que controla
o movimento dos motores do prottipo fazendo com que ele se movimente no espao e, ao
identificar um toque por meio do sensor, emite uma mensagem informando que encontrou
um obstculo. Este aplicativo foi desenvolvido na linguagem C#, usando o Microsoft


Visual C# Express, um dos softwares utilizados na plataforma RDS. A Figura 2 mostra um
exemplo de rob utilizando um sensor de toque e motores para se movimentar.
Para utilizar a plataforma RDS, primeiramente instalamos o sistema operacional
Windows 7, o Microsoft

Visual C# Express, o Kinect para Windows SDK, o qual pode ser


utilizado futuramente em projetos envolvendo o reconhecimento de movimentos por meio
de um sensor Microsoft

Kinect
5
e o RDS em sua ltima verso
6
.


Figura 2. Prottipo indo em direo a uma barreira.
Aps a preparao do ambiente de desenvolvimento, a comunicao entre o bloco
de controle e o computador foi configurada, com o intuito de permitir o controle do
prottipo utilizando o programa desenvolvido na plataforma RDS. De forma sucinta, foi
criada uma conexo do notebook com o bloco de controle via Bluetooth, adicionando o
bloco de controle como dispositivo do notebook, de forma que ambos se reconhecessem e

5
Para maiores informaes, vide: http://www.microsoft.com/en-us/kinectforwindows/
6
At a data de submisso do artigo, o software RDS estava em sua verso 4.0. Fonte:
http://www.microsoft.com/robotics/. Acesso em: 11/01/2013.
X Encontro Anual de Computao - EnAComp 2013
343
pudessem trocar informaes.
Para obter um melhor desempenho e indicado que se faa uma atualizao da
verso do firmware do bloco de controle para uma verso mais recente
7
. Esta atualizao e
feita usando o software que fornecido juntamente com o kit LEGO

Mindstorms

NXT,
instalado em um computador
8
.
3.1. Controle usando C#
Usando o Visual C# Express, foi desenvolvido um aplicativo, o qual imprime uma
mensagem ao colidir com um obstculo durante seu percurso. O primeiro passo criar um
novo servio utilizando o interpretador de comandos DSS, o qual fornece suporte ao
protocolo descentralizado de servios de software (Decentralized Software Services
Protocol DSSP). No Visual Studio necessrio adicionar uma referncia biblioteca
RoboticsCommon.Proxy.dll, a qual fornece suporte ao sensor de toque. Observe
que ao iniciar o aplicativo (neste caso chamado de MyTutorial1) gerado um
manifesto que aparece no lado direito da tela (Figura 3 e 4), e diz respeito as configuraes
de depurao fornecidas pelo DSSNewService.



Figura 3. Manifesto criado na inicializao do aplicativo.


7
A verso usada foi 1.29, entretanto existe uma verso mais recente a 1.31. Fonte:
http://mindstorms.lego.com/en-us/support/files/default.aspx#Firmware Acesso em: 11/01/2013.
8
Usando a opo update, conecta-se o bloco de controle porta USB do computador e se faz o download
do novo firmware. Fonte: http://msdn.microsoft.com/en-us/library/bb483050.aspx Acesso em:
28/01/2013.
X Encontro Anual de Computao - EnAComp 2013
344

Figura 4. Descrio do manifesto.

necessrio modificar o manifesto de acordo com o tipo de hardware usado no
mbito da guia Debug. Neste caso, a configurao ficou conforme a descrio fornecida
na Listagem 1.

/p:50000 /t:50001
/m:"samples/MyTutorial1/MyTutorial1.manifest.xml"
/m:"samples/config/LEGO.NXT.MotorTouchSensor.manifest.xml"
Listagem 1. Referncia ao manifesto adequado ao nosso hardware.
Feito isso, um servio de comunicao criado e inicializado entre o aplicativo e o
sensor de toque. Ao final do cdigo insere-se a assinatura do cdigo que permitir a
execuo do servio de notificao, o qual recebe a notificao de que o sensor foi
pressionado e ento chama o mtodo BumperHandler(). Este mtodo envia a
mensagem para o console, de forma que a informao possa ser visualizada. Na Listagem 2
so apresentadas as linhas que foram inseridas no cdigo.


//Criando o servio de comunicao entre este aplicativo e o sensor de
toque
[Partner("bumper", Contract = bumper.Contract.Identifier,
CreationPolicy = PartnerCreationPolicy.UseExisting)]
private bumper.ContactSensorArrayOperations _bumperPort = new
bumper.ContactSensorArrayOperations();


// Iniciando servio que ouve o bumper.
SubscribeToBumpers();
}

/// <summary>
/// Subscrevendo servio de bumper.
/// </summary>
void SubscribeToBumpers()
{
X Encontro Anual de Computao - EnAComp 2013
345
// Criando porta de notificao do bumper.
bumper.ContactSensorArrayOperations bumperNotificationPort = new
bumper.ContactSensorArrayOperations();

// Subscreve o serio bumper e recebe notificaes no
bumperNotificationPort.
_bumperPort.Subscribe(bumperNotificationPort);

// Recebe atualizao das notificaes do bumperNotificationPort .
Activate(
Arbiter.Receive<bumper.Update>
(true, bumperNotificationPort, BumperHandler));
}


/// <summary>
/// Recebe a notificao de que o sensor foi pressionado e envia a
informao para o console
/// </summary>
/// <param name="notification">Atualiza notificao</param>
private void BumperHandler(bumper.Update notification)
{
if (notification.Body.Pressed)
LogInfo(LogGroups.Console, "Ops, um obstculo foi encontrado!");
}

Listagem 2. Cdigo fonte do aplicativo desenvolvido.

Ao executar o programa, e aberta uma janela no navegador com o endereo padro
http://127.0.0.1:50000/, que mostra as configuraes do bloco de controle, do sensor e
informaes referentes comunicao entre o aplicativo e o prottipo (Figura 5).


Figura 5. Pgina inicial do console de sada do servio.

X Encontro Anual de Computao - EnAComp 2013
346
Clicando em Debug e mensagens de rastreamento, esquerda da pgina podemos
visualizar detalhes do servio, como detalhes das mensagens, detalhes da comunicao
com o hardware, erros, a mensagem de que o sensor foi pressionado, entre outros (Figuras
6 e 7).


Figura 6. Console de sada do servio Debug e rastreamento de
mensagens.


Figura 7. Mensagem apresentada quando o sensor pressionado.

X Encontro Anual de Computao - EnAComp 2013
347
4. Concluso
Depois de preparar o computador, configurar o bloco de controle NXT e confeccionar o
aplicativo, observa-se a interao do framework RDS com o bloco de controle. A
mensagem referente a deteco de barreira foi impressa em uma pgina do navegador
(Figura 7), a qual tambm contm informaes detalhadas sobre o prottipo (Figura 5),
detalhes da comunicao com o hardware, entre outros (Figura 6).
Com este experimento, utilizando o Visual Basic e possvel controlar um prottipo
desenvolvido a partir do kit LEGO

Mindstorms

NXT e aplicativos escritos em C#.


Tambm possvel observar a existncia de uma boa interao entre o software RDS e o
bloco de controle, o que permite a realizao de uma ampla gama de experimentos.
Um ponto negativo observado durante a pesquisa e que no h simultaneidade com
relao a deteco de toque e a impresso da mensagem na tela, sendo necessrio atualizar
a pgina aberta pelo programa para visualizar as informaes atuais.
Como trabalho futuro, podemos realizar o controle de prottipos usando a
interatividade com o sensor Microsoft

Kinect, capaz de captar movimentos atravs de


rastreamento do corpo humano, o que pode permitir futuras implementaes em escala
maior, como por exemplo, no controle de braos mecnicos, os quais so amplamente
utilizados pelas indstrias, como a automobilstica, entre outras [Suay e Chernova 2011].
Projetos como o SMErobot
9
, desenvolvido pela Unio Europeia, propuseram a
aplicao de tecnologias inovadoras aplicveis ao controle de robs de modo a tornar a
interao com seus programadores e operadores mais intuitiva. Uma aplicao sugerida e
bastante promissora neste ramo o reconhecimento de gestos e voz, o qual permite uma
fcil interatividade do usurio com o rob [Neto e Pires 2009]. Ao invs de descrio de
servios utilizando linguagens de programao, os operadores mostrariam o servio que
deve ser feito por meio de gestos. Esses dados seriam captados por sensores, armazenados
e enviados ao rob atravs de Bluetooth.

Referncias
Kim, S. H. e Jeon, J. W. (2008) Using visual programming kit and Lego Mindstorms: An
introduction to embedded system, In: Proceedings of the IEEE International
Conference on Industrial Technology (ICIT).
Neto, P. e Pires, J.N. (2009) High-Level Programming for Industrial Robotics: using
Gestures, Speech and Force Control. Submitted to the IEEE International Conference
on Robotics and Automation (ICRA2009), Kobe, Japan, 2009.
Suay, H.B. e Chernova, S. (2011) Humanoid robot control using depth camera, In: 6th
ACM/IEEE International Conference on Human-Robot Interaction (HRI).
Cepeda J.S., Chaimowicz L. e Soto R. (2010) Exploring Microsoft Robotics Studio as a
Mechanism for Service-Oriented Robotics, In: 2010 Latin American Robotics
Symposium and Intelligent Robotics Meeting.
Microsoft Robotics Group (2012) Robotics Developer Studio: Reference Plataform
Design v1.0, In: Documentation of the Microsoft Robotics Developer Studio 4.

9
Maiores informaes em: http://www.smerobot.org/ Acesso em: 28/01/2013.
X Encontro Anual de Computao - EnAComp 2013
348
Estudo de Caso Usando o Framework LeJOS
Nilton M. de Souza
1
, Dalton M. Tavares
1
Departamento Cincias da Computao Universidade Federal de Gois
Avenida Dr. Lamartine Pinto de Avelar, 1120, Setor Universitrio, Catalo GO
Brasil
nilton.mendes.2@gmail.com, dalton.tavares@catalao.ufg.br
Abstract. This paper describes how to use the LeJOS framework in the scope
of an experience that deploys a route, using elements called WayPoints.
WayPoints determine points in space, previously marked by the user,
describing a path to be followed. The LeJOS is and open source project that
allows the use of the Java language to control the LEGO

Mindstorms

NXT
kit. It has a powerful API that allows the easy implementation of activities,
using sensors and motors. The project uses a simple mobile robot, made from
the LEGO

kit, showing how the logic and coding was made in order to reach
the objective.
Resumo. Este artigo descreve a utilizao do framework LeJOS no mbito de
um experimento que desenvolve uma rota, atravs de elementos chamados
WayPoints. WayPoints determinam pontos no espao, previamente
marcados pelo usurio, formando uma trajetria a ser seguida. O LeJOS
um projeto open source que permite a utilizao da linguagem Java para
manipulao do kit LEGO

Mindstorms

NXT. O LeJOS possui uma poderosa


API que permite implementar vrias atividades facilmente, como manipulao
de sensores e motores. O projeto utiliza um rob mvel simples, que feito a
partir do kit LEGO

, mostrando como foi feita a programao e a lgica


utilizada para alcanar o objetivo.
1. Introduo
LeJOS e um framework para desenvolvimento de aplicaes usando o kit LEGO

Mindstorms

NXT. Para desenvolver este estudo de caso foi usado um kit LEGO

Education modelo 9797, o qual contempla um bloco inteligente, rodas, pneus,
engrenagens e peas para montagem de prottipos, motores e sensores. Neste caso, o kit
foi usado para montar um pequeno rob mvel, a ser utilizado no experimento. As peas
fundamentais para a montagem de qualquer prottipo so trs motores, quatro sensores
(som, ultra-snico, intensidade luminosa e toque), o bloco inteligente com uma pequena
tela de LCD, cabos para conectar os motores e sensores ao bloco inteligente, um cabo
USB para conectar o bloco inteligente ao computador e interface Bluetooth.[Oliveira,
Thiago et al. 2008]
O framework LeJOS proporciona a utilizao da linguagem JAVA, com vrias
bibliotecas e recursos distribudos, em conjunto com uma mquina virtual bem simples,
a qual inserida no bloco inteligente substituindo o firmware original fornecido pela
LEGO

. Alm disso, tambm existem algumas bibliotecas para a contra parte hospedada
em um computador, incluindo vrios exemplos de programas para a operao do rob
X Encontro Anual de Computao - EnAComp 2013
349
ou dispositivo, controlado via computador ou via programa hospedado no bloco
inteligente NXT [Lew 2010].
O LeJOS detm uma API que possui bibliotecas que fornecem suporte ao sensor
luminoso, sensor ultra-snico, sensor de toque, sensor sonoro, aos trs motores e o
estabelecimento de conexo via USB ou Bluetooth. Outro recurso importante o
suporte a multithreading, muitas vezes necessrio para que duas ou mais atividades
concorrentes sejam realizadas.[LeJOS Team 2008c] Um exemplo seria o uso
concorrente de dois sensores e dois motores, onde cada um compe uma tarefa
diferente, sendo representados cada um em uma thread especfica.
Conexes via USB e Bluetooth so muito importantes, pois permitem a expanso
dos recursos nativos do bloco inteligente. Este muito limitado comparado a um
computador ou smartphones atuais. Dessa forma, parte do processamento pode ser
realizado fora do bloco inteligente (ex. em um notebook ou PC) e informaes de
interesse podem ser trocadas via USB ou Bluetooth, garantindo o controle do dispositivo
pretendido. Essas conexes tambm so utilizadas para enviar os programas ao bloco
inteligente.
Utilizando o framework LeJOS e o kit de desenvolvimento LEGO

Mindstorms

NXT, este artigo ir apresentar um estudo de caso envolvendo um


planejador de trajetria simples por meio da determinao manual de pontos. Para tanto,
ser apresentada uma breve reviso bibliogrfica sobre o framework LeJOS na seo 2,
o estudo de caso ser descrito na seo 3 e uma breve concluso e propostas de
trabalhos futuros sero discutidos na seo 4.
2. Organizao do Framework LeJOS
O LeJOS permite a programao de robs LEGO

Mindstorms

NXT/RXC utilizando a
linguagem JAVA. Este framework surgiu de uma evoluo do TinyVM, que uma
pequena mquina virtual para Java e um firmware para substituir o sistema original do
LEGO

Mindstorms

NXT [LeJOS Team 2008b]. .


Para instalao, o prprio site do LeJOS fornece o link para download do pacote,
atravs de um repositrio no site sourceforge. Este cdigo est disponvel para Mac OS,
Linux e Windows necessitando apenas de alguns pacotes descritos na seo 3.
O pacote contm:
Um firmware para substituir o firmware original presete no bloco inteligente do
kit LEGO

Mindstorms

;
Uma biblioteca que auxilia no desenvolvimento de aplicativos para PC e para o
bloco inteligente NXT;
Um endereador (linker) que transforma o cdigo java, para uma linguagem
compreendida pelo bloco inteligente do NXT;
Ferramentas para compilao, envio de arquivos, modificao do firmware e
stream entre o computador e o NXT;
Vrios exemplos de programas e cdigos .
X Encontro Anual de Computao - EnAComp 2013
350
3. Estudo de Caso
O LeJOS possui uma vasta documentao para programao em sua linguagem,
instalao, configurao, alm de tutoriais iniciais
1
. Para o contexto desse artigo, ser
usada a verso para Linux Ubuntu 12.04 em conjunto com a IDE Eclipse

configurada
para o desenvolvimento em JAVA e um plugin especfico para o LeJOS. Essa
configurao facilita a criao, compilao e envio dos programas para o bloco
inteligente.
Alm da mquina virtual Java e do software LeJOS, tambm devero ser
instalados o ant e a biblioteca lib-usb. O ant
2
um maker, baseado em Java,
seu objetivo construir projetos em Java a fim de serem executados em qualquer
mquina que tenha uma mquina virtual java. A lib-usb importante pois permite
uma conexo via usb entre dispositivos sem que exista um driver instalado.
Aps a instalao do ambiente de desenvolvimento, deve ser criado um usurio
(ex. lego) e a regra de operao do dispositivo para o gerenciador de dispositivos
(udev). A regra criada permite a descoberta do bloco inteligente via barramento USB e
a definio do grupo de acesso e permisses (Listagem 1).
BUS=="usb", SYSFS{idVendor}=="03eb", GROUP="lego", MODE="0660"
BUS=="usb", SYSFS{idVendor}=="0694", GROUP="lego", MODE="0660"
Listagem 1. Regras para o udev definidas em
/etc/udev/rules.d/lego-mindstorms-nxt.rules.
O estudo de caso proposto visa apresentar um planejador de trajetria simples.
Em uma implementao posterior, pode ser realizado o planejamento de movimento
(motion planning). O planejamento de movimento leva em considerao duas tarefas
bem definidas: planeja o caminho (path planning) e planeja a trajetria (trajectory
planning). O planejamento de caminho diz respeito a gerao de um caminho livre de
colises em um ambiente com obstculos e sua otimizao com relao a algum critrio.
Um planejador de trajetria deve fornecer movimentos pr-programados ao longo de um
caminho planejado [Hachour 2008].
O planejador de trajetria pretendido deve permitir que seja traada uma rota
manualmente, inserindo pontos em um padro de waypoints dados trs pontos X, Y e
uma orientao (ou heading) que consiste na posio em relao a frente do carro,
evitando que ele percorra um dado grau de rotao pelo pior caminho, o que poderia
prejudicar a execuo do caminho traado. Posteriormente a rota armazenada deve ser
executada a partir dos pontos gravados e suas orientaes. Uma representao do
prottipo do veculo apresentada na Figura 1.
O prottipo construdo possui duas rodas frontais, e dois motores conectados a
cada uma, e uma pequena roda traseira. O motores so conectados por meio de cabos
RJ11 ao bloco inteligente que os controlam, e as rodas so ligadas por pequenas
engrenagens. A estrutura do veculo feita de pequenos componentes plsticos do kit.
1 Para maiores informaes acesse http://lejos.sourceforge.net/. Acesso em: 14/01/2013.
2 Para maiores informaes acesse http://ant.apache.org/manual/. Acessado em: 17/01/2013
X Encontro Anual de Computao - EnAComp 2013
351
A seo 3.1 fornece as bases para o experimento proposto usando o framework LeJOS.
Para tanto, sero descritos os fundamentos de operao dos motores e as funes
utilizadas para o planejamento de trajetria.
3.1. Planejamento de Trajetria no LeJOS
Para se desenvolver um planejador de trajetria simples usando o LeJOS, deve-se levar
em conta a leitura dos sensores e motores do kit LEGO

Mindstorms

NXT. Estes so
diretamente conectados a portas especficas, sendo os motores ligados s portas, A, B e
C e os sensores s portas 1, 2, 3 e 4. No existe uma especificao formal de uma dada
ordem para a ligao de motores ou sensores, porm, o programador deve saber a qual
porta um dado dispositivo est relacionado. Para o estudo de caso em questo, sero
apresentados os fundamentos de operao dos motores utilizando o framework LeJOS.
3.1.1. Manipulando Motores
Conforme discutido anteriormente, os motores do kit LEGO

Mindstorms

NXT podem
estar associados a trs portas: A, B ou C. As classes utilizadas para manipular os
motores, na maioria dos casos, so a lejos.nxt.NXTRegulatedMotor e a
lejos.nxt.Motor.
NXTRegulatedMotor a abstrao de um motor e Motor possui trs
instncias de NXTRegulatedMotor (A, B ou C), cada uma relacionada a uma porta
destinada a um motor e o acesso a cada uma dado por Motor.A, Motor.B e
Motor.C. Algumas das propriedades previstas para os motores so:
forward(): rotaciona o motor para frente, at que seja invocada a parada
mediante o uso de flt() ou stop();
backward(): Rotaciona o motor para trs, at que seja invocada a parada
mediante o uso de flt() ou stop();
stop(): para o motor;
flt() ou flt(boolean imediato): para o motor e o desliga,
colocando-o em modo flutuante. No segundo caso, o argumento indica se a
instruo deve ou no ser executada imediatamente;
getAcceleration(): retorna a acelerao atual do motor;
Figura 1: Prottipo do veculo
X Encontro Anual de Computao - EnAComp 2013
352
getPosition(): retorna a posio que o motor est tentando manter;
getTachoCount(): fornece a contagem atual de rotao do motor (valor do
tacmetro);
getSpeed(): retorna a velocidade do motor;
resetTachoCount(): zera a contagem de rotao do motor (tacmetro);
rotateTo(int angulo): movimenta o motor at dado ngulo a partir de 0;
setAcceleration(int aceleracao): define a acelerao do motor;
setSpeed(): define a velocidade do motor.
A algumas operaes que podem ser realizadas com motores, como por exemplo, a
rotao para frente, para trs, a verificao da acelerao e o ajuste de velocidade. Outra
questo de suma importncia para o controle de um rob, de um modo geral, diz
respeito a sua operao remota. Dessa forma, possvel conectar o rob por intermdio
do bloco inteligente com o computador, via Bluetooth e control-lo usando uma
interface simples[Oliveira, Geraldo 2009].
O controle remoto dos motores (Listagem 1) realizado usando uma classe Motor
semelhante ao exemplo mostrado na Listagem 2. Cada motor do tipo
NXTRemoteMotor, o qual semelhante a NXTRegulatedMotor, entretanto, este
utilizado no computador para controlar remotamente os motores A, B e C.
import lejos.nxt.Motor;
public class TesteMotor { //Operaes com motores porta A
public static void main(String[] args) throws Exception {
Motor.A.forward();//Rotao para frente
Motor.A.flt();//Para o motor, coloca em modo flutuante
}
}
Listagem 1 . Demonstrao de cdigo para controle remoto de motores
3.1.2 Planejamento de Trajetria no LeJOS
A implementao utilizou o conceito de waypoints no LeJOS (Listagem 3). Waypoints
so marcaes realizadas nos eixos X, Y e dotadas de um fator H, em graus, o qual
determina uma orientao em relao a frente do veculo simulado. Esta orientao
refere-se a informao pr-determinada sobre as curvas, para que o rob no se perca
ou se movimente em graus excessivos [LeJOS Team 2008a].
Para desenvoler essa atividade foi instanciado um piloto do tipo
DifferentialPilot que a abstrao de um carro com duas rodas, e dois motores.
Este precisa apenas de informao quanto a dimenso das rodas e quais motores sero
utilizados direita e esquerda. Essa classe j implementa diversas tarefas que um carro
faz, como andar, virar, parar entre outras.
Tambm fez-se o uso da classe OdometryPoseProvider, a qual responsvel
por designar a posio para o carro. Ela tambm funciona como um listener de
X Encontro Anual de Computao - EnAComp 2013
353
movimento.Ao final, foi usada a classe Navigator que controla o rob atravs de um
caminho (path), em uma sequencia de waypoints, at que alcance o ltimo ponto e pare.
Para construir o path so adicionados pontos atravs do mtodo addWaypoint(new
Waypoint(X, Y, H)). Em que os pontos X e Y so pontos de um plano cartesiano que
determina sua localizao. Exemplo de como funciona o plano cartesiano na Figura 2.
Como este exemplo bem simples, os pontos de heading foram lanados
manualmente, mas o clculo para encontrar esse valor dado pela posio do waypoint
atual at o seguinte, formando uma reta. Esta reta forma um ngulo com a atual posio
da frente do rob, at estar na direo desta reta, que a mesma direo do prximo
ponto. Para obter o ngulo utilizam-se a equao do coeficiente angular da reta
(Equao 1), que d o valor do coeficiente da reta em relao a tangente e a equao
para o clculo do arco da tangente (Equao 2).
tgz=
y
B
y
A
x
B
x
A
Equao 1. Clculo do coeficiente angular da reta
Equao 2. Frmula do arco tangente
arctan z=

n=0

2
2n
(n!)
2
(2n+1)!
z
2n+1
(1+z
2
)
n+1
Figura 2: Plano Cartesiano
Figura 3: Demonstrativo de
pontos em uma trajetria
X Encontro Anual de Computao - EnAComp 2013
354
import lejos.nxt.Button;
import lejos.nxt.Motor;
import lejos.nxt.LCD;
import lejos.robotics.navigation.DifferentialPilot;
import lejos.robotics.navigation.Navigator;
import lejos.robotics.navigation.Waypoint;
import lejos.robotics.navigation.Pose;
import lejos.robotics.pathfinding.Path;
import lejos.robotics.localization.OdometryPoseProvider;
public class NavigatorTest {
Navigator nav;
public static void main(String[] args) throws IOException {
System.out.println("Pressione um Boto");
Button.waitForAnyPress();
DifferentialPilot pilot = new DifferentialPilot(6.5f,
11.5f, Motor.A, Motor.B);
OdometryPoseProvider pp = new OdometryPoseProvider(pilot);
pilot.addMoveListener(pp);
Navigator nav = new Navigator(pilot);
//Adiciona waypoints (X, Y, H)
nav.addWaypoint(new Waypoint(0, 0, 0));
nav.addWaypoint(new Waypoint(20.0, 0.0,90));
nav.addWaypoint(new Waypoint(20.0, 20.0,180));
nav.addWaypoint(new Waypoint(0,20,-90));
nav.addWaypoint(new Waypoint(0,0,0));
//Segue os pontos marcados acima.
nav.followPath();
Button.waitForAnyPress();
nav.followPath();
System.out.println(nav.getPath());
Button.waitForAnyPress();
}
}
Listagem 2. Implementao do planejador de trajetria usando waypoints
Este ser o valor do heading para este trajeto entre os dois pontos. Em Java
pode-se usar o mtodo Math.atan2(y
B
y
A
, x
B
x
A
), o qual retorna o grau de
inclinao da reta. Um exemplo grfico apresentado na Figura 3.
X Encontro Anual de Computao - EnAComp 2013
355
4. Concluso
A utilizao da ferramenta LeJOS para o desenvolvimento desta pesquisa foi adequada,
dada a sua vasta documentao e um frum bastante ativo. O problema a ser resolvido
no um problema complexo, considerando que a API LeJOS implementa as funes
necessrias, facilitando o processo de desenvolvimento, bastando apenas utilizar a
fundamentao matemticas para finalizar a pesquisa.
Como proposta de trabalho futuro, pretende-se criar um planejador de caminho
como parte de um estudo para o desenvolvimento de um planejador de movimento
completo, o qual ter uma contra parte no PC e uma no NXT. No PC ser implementada
uma tela semelhante a apresentada na Figura 2 ,e ao final da marcao dos pontos, estes
sero enviados para o NXT, o qual deve criar o path a ser seguido. O experimento deve
usar sensores luminosos e ultra-snico, pois o caminho traado poder ter obstculos.
Dessa forma, o veculo estar apto a prever o risco de coliso e desviar, sem perder sua
localizao, dever retornar a trajetria assim que possvel.
Referncias
Lew, M.W., Horton, T.B. e Sherriff, M.S. (2010) Using LEGO MINDSTORMS NXT
and LEJOS in an Advanced Software Engineering Course, In: 23rd IEEE
Conference on Software Engineering Education and Training (CSEE&T),
pp.121-128.
LeJOS Team (2008a) LeJOS NXJ API, Disponvel em:
http://lejos.sourceforge.net/nxt/nxj/api/index.html. Acessado em: 23/01/2013.
LeJOS Team (2008b) NXJ technology, http://lejos.sourceforge.net/nxj.php. Acessado
em: 23/01/2013.
LeJOS Team (2008c) The LeJOS NXT tutorial, Disponivel em:
http://lejos.sourceforge.net/nxt/nxj/tutorial/index.htm. Acessado em: 23/01/2013.
Oliveira, Geraldo, Silva, Ricardo, Lira, Tiago, Reis , Luis Paulo. (2009) Environment
Mapping using the Lego Mindstorms NXT and leJOS NXJ, Disponvel em:
http://paginas.fe.up.pt/~ei04085/psite/LejosPaper.pdf, Acessado em: 20/01/2013.
Oliveira, Thiago Costa, Gonalves, Nelson M. A.,Ribeiro, Joo M. F. S. (2008)
Explorao da plataforma de programao leJOS para robs Lego MindStorms:
Uma Abordagem Robtica Evolucionria. Disponvel em:
http://www.di.uminho.pt/ensino/licenciaturas/lei/laboratorios-de-informatica-iv/4710
9_47119_47131.pdf. Acessado em: 18/01/2013.
Hachour, O. (2008) Path planning of Autonomous Mobile robo, In: International
Journal Of Systems Applications, Engineering & Development, 2 Edio.
http://www.naun.org/multimedia/UPress/saed/saed-45.pdf, Janeiro.
X Encontro Anual de Computao - EnAComp 2013
356
Preditor de nmeros para lotofcil: uma abordagem usando
algoritmos evolutivos
Fernando Barbosa
1
, Lais C. R. S. Lopes
1
, Mikaely Cruciol
1
1
Instituto Federal Goiano Campus Uruta Departamento de Informtica
Rodovia Geraldo Nascimento, Km 2,5 Uruta GO Brasil
{nando.cefet, laiscandidolopes, mikaelycruciol42}@gmail.com
Abstract. Genetic algorithms (GAs) are the most widely used and studied evo-
lutionary computing techniques. Based on the theory of evolution proposed by
Darwin, has a powerful process of adaptation to certain types of problems, in-
cluding global and local searches. This article aims, based on genetic algo-
rithms, develop software predictor of numbers for a game of chance very popu-
lar in Brazil, Lotofcil. Maintained by the federal government this game reaches
all sections of the population of the country.
Resumo. Os algoritmos genticos (AGs) so as mais difundidas e estudadas
tcnicas de computao evolucionria. Baseado na teoria da evoluo proposta
por Darwin, possui um poderoso processo de adaptao a certos tipos de pro-
blema, inclusive buscas locais e globais. O presente artigo pretende, baseado
em algoritmos genticos, desenvolver um software preditor de nmeros para um
jogo de azar muito popular no Brasil, Lotofcil. Mantido pelo governo federal
este jogo atinge a todas as camadas populacionais do pas.
1. Introduo
Os jogos de azar no Brasil so datados desde de 1784, o primeiro jogo que se tem registro
teve o intuito de levantar verbas para a construo de obras pblicas [Monteiro 2007].
Desde ento essa modalidade de jogo caiu no gosto popular, alm de representar uma
forma de arrecadao para o governo federal.
A Caixa Econmica Federal o orgo responsvel por administrar as loterias fe-
derais no Brasil. Ela mantenedora de nove jogos de azar, so eles, a Mega-Sena, Dupla-
Sena, Quina, Lotca, Lotogol, Lotomania, Timemania, Loteria federal e a Lotofcil.
com base no ltimo jogo, Lotofcil, que o presente artigo prope um preditor de nmeros.
A cartela da Lotofcil composta por 25 nmeros, onde o jogador pode marcar de 15 a
18 nmeros, e ganhar caso acerte de 11 a 15 dezenas. O valor do prmio mximo varia
de acordo com o total arrecadado com a venda das cartelas, mais especicamente 46% do
valor bruto arrecadado, sendo ainda deduzido deste os valores dos prmios xos, R$2,50
para 11 acertos, R$5,00 para 12 acertos e R$12,50 para 13 acertos.
Todo tipo de jogo, seja ele de tabuleiro ou computacional, possui uma problem-
tica, e uma forma de se resolver tais problemas por meio de heursticas. As heursticas
so mtodos de investigao e soluo de problemas baseados na busca algortmica para
X Encontro Anual de Computao - EnAComp 2013
357
encontrar o timo ou uma soluo que satisfaa determinados pr-requisitos. Elas procu-
ram usar procedimentos, estratgias, aproximao, sempre na procura da melhor forma
de se chegar a um determinado m, garantindo assim solues ecientes.
Uma heurstica muito conhecida o Algoritmo Gentico (AG), inspirado na teo-
ria de Charles Darwin, o qual arma que mecanismos de evoluo uma competio que
seleciona os indivduos mais bem adaptados em seu ambiente, transmitindo caractersti-
cas aos seus descendentes, permitindo sua sobrevivncia. Os AGs so tcnicas de busca
para encontrar melhores solues em problemas de otimizao atravs da evoluo de
populaes de solues de cromossomos articiais. Um cromossomo ou indivduo uma
estrutura de dados que contm as possveis solues de determinado problema. Os cro-
mossomos so submetidos a um processo evolucionrio que envolve avaliao, seleo,
cruzamento e mutao. Aps vrios ciclos de evoluo, a populao nal composta por
indivduos mais aptos [Pacheco 1999].
O presente artigo prope um software preditor de nmeros para Lotofcil. Vale
ressaltar que impossvel prever com preciso quais nmeros sero sorteados, pois, trata-
se de um jogo com problemtica de aleatoriedade. Quando a anlise combinatria
empregada a esse problema tem-se que, a chance de algum jogando 15 nmeros acertar
todos de 3.268.760 para uma.
Este trabalho est estruturado da seguinte forma: metodologia, sesso em que ser
tratada a forma como o software foi confeccionado, bem como ferramentas utilizadas,
nesta h ainda uma sub-sesso intitulada conduo do experimento, que abordar a sis-
temtica usada para realizar os testes. Resultados, sesso que demonstrar os resultados
obtidos e por ltimo tem-se a concluso, sesso encerratria apresentado percepes nais
acerca do software.
2. Metodologia
Todos os algoritmos e frmulas, presentes no software, foram implementados por meio
da plataforma R Java
1
, usando-se o paradigma de orientao a objetos [Cardoso 2006].
Dentre a grande variedade de tcnicas que anunciam sua ecincia em prever os
nmeros da Loteria Lotofcil, foi escolhida uma conhecida como tcnica das catorze
dezenas
2
. Nesta as nove dezenas que mais saram nos dez ltimos jogos so selecionadas
e reservadas. Posteriormente cinco dezenas so escolhidas, estas cinco no devem ter
sido sorteadas no ltimo jogo e nem estar entre o conjunto das nove dezenas, j separado.
Juntando-se as nove mais sadas com as cinco escolhidas totaliza-se catorze dezenas dis-
tintas que sero xas.
As onze dezenas restantes para completar os vinte e cinco nmeros da cartela da
Lotofcil, chamadas de dezenas variveis, so concatenadas com as quatorze xas. Dessa
forma so gerados onze jogos diferentes, todos compostos pelas quatorze dezenas xas e
mais uma dezena das onze variveis. mostrado na Figura 1 um exemplo numrico de
forma resumida.
Implementou-se a presente tcnica para gerar onze jogos, e em seguida um al-
goritmo gentico (AG) capaz de gerar uma populao de jogos, cuja a distncia fosse a
1
Stio ocial da liguagem java: http://www.oracle.com/technetwork/java/index.html
2
Tcnica das catorze dezenas, disponvel no stio: http://www.loteriaspremium.com
X Encontro Anual de Computao - EnAComp 2013
358
Figura 1. Exemplo de implementao da tcnica das 14 dezenas
menor possvel da citada tcnica.
Para o algoritmo gentico (AG), foi gerada uma populao inicial com quinhentos
indivduos, cada indivduo ou cromossomo representa umjogo comquinze dezenas e mais
o valor tness, logo, uma matriz de quinhentas linhas por dezesseis colunas foi gerada para
representar a populao inicial. Cada cromossomo foi gerado com nmeros aleatrios,
respeitando o intervalo de 1 a 25 (nmeros disponveis na cartela da Lotofcil), tomou-se
ainda o cuidado para que nenhum nmero do indivduo fosse repetido. Na Figura 2
demonstrada a representao de um indivduo.
Figura 2. Representao de um cromossomo
A funo de aptido, considerada como o segundo passo de um AG, consiste
em atribuir nota a um determinado cromossomo ou indivduo. com base nela que os
cromossomos so selecionados e cruzados, a essa nota ou valor d-se o nome de tness.
Como funo de aptido foi escolhido comparar as dezenas encontradas entre as duas
tcnicas. Para tanto, cada cromossomo foi comparado com os onze jogos gerados pela
tcnica das quatorze dezenas. Jogo a jogo as quinze dezenas entre os dois jogos foram
confrontadas, toda vez que uma dezena presente no cromossomo estava tambm presente
em um jogo gerado pela tcnica das quatorze dezenas o valor do tness aumentava em
um ponto gerando um somatrio. Quanto maior o tness mais apto o indivduo estava
para adivinhar os nmeros da Lotofcil baseado na tcnica das quatorze dezenas.
Ocruzamento, terceiro passo do AG, utilizado para recombinar material gentico
de dois pais previamente selecionados. Para selecion-los foi utilizado o mtodo de se-
leo por torneio [Lacerda and P. 2003], que consiste em atribuir um duelo entre dois ou
mais pais prevalecendo o mais forte. O torneio foi aplicado entre dois pais escolhidos
de forma aleatria, foram realizados duzentos e cinquenta duelos, metade da populao
inicial. Como de cada torneio um pai prevalecia, formou-se uma populao de duzentos
e cinquenta pais para participarem do cruzamento.
Para o cruzamento ou crossover os pares de pais selecionados foram escolhi-
dos de forma aleatria. O operador de crossover aplicado foi o crossover de 1 ponto
X Encontro Anual de Computao - EnAComp 2013
359
[Lacerda and P. 2003], onde um ponto aleatrio xado no lho sendo preenchido com
genes de um pai at o ponto especicado e genes do outro pai aps o ponto. De cada
cruzamento foram gerados dois lhos. O processo de mutao, quarto passo do AG,
serve para assegurar alguma diversidade entre os indivduos. A mutao foi feita sele-
cionando de forma aleatria dois genes em um determinado cromossomo e trocando seu
material gentico de posio, dessa forma testicava-se que no haveria inconsistncia
nos cromossomos, como nmeros repetidos por exemplo. A m de fazer um sistema
mais dinmico e exvel as taxas de mutao e quantidade de geraes caram a cargo do
usurio, o que possibilita maior gama e formas de realizao de testes, alm de interao
destes com o sistema.
2.1. Conduo do experimento
Para gerar resultados legtimos, foi feito a descarga de todos os resultados existentes da
Lotofcil, servio oferecido pelo rgo mantenedor das loterias no Brasil, presente no
stio ocial do banco da Caixa Econmica
3
.
Com esses resultados em mos, foram selecionados, de forma aleatria, onze jo-
gos sequenciais, dez serviram de entrada para o software preditor que gerou uma pop-
ulao ordenada de forma decrescente pelo seu tness. O jogo que sobrou dos onze
selecionados foi usado para vericar a quantidade de dezenas acertadas.
O indivduo mais apto gerado pelo preditor foi comparado com o jogo reservado
para realizar a vericao. A quanticao das dezenas acertadas foi feita de forma ma-
nual, onde cada dezena do indivduo presente no jogo reservado para a vericao cor-
respondia a um acerto. Todo o processo foi elmente repetido quinze vezes, mudando
apenas os dez jogos inseridos no sistema e o seu respectivo jogo usado como resposta. Na
primeira execuo dos testes, os jogos numerados de um a dez serviram de entrada para o
sistema e o jogo de nmero onze foi usado com o intuito de realizar a vericao, dando
sequncia na segunda execuo foram selecionados os jogos de nmero doze ao vinte e
um, sendo o de nmero vinte e dois usado para a vericao e assim por diante.
Para a conduo dos experimentos os parmetros variveis do AG foram setados
de forma igual para todas as execues, seus valores podem ser vistos na Tabela 1:
Tabela 1. Valores dos parmetros utilizados para o preditor
Parmetro Valor
pop

inicial 500
qtd

geracao 200
qtd

torneio 250
tx

mutacao 5%
3. Resultados
Apesar de o foco do presente trabalho no tenha sido o de fazer um comparativo entre
o preditor utilizando a tcnica das quatorze dezenas e o preditor utilizando um AG, essa
comparao foi feita, mas apenas com o intuito de enriquecer os resultados apresentados.
Os resultados obtidos pela conduo dos experimentos so mostrados na Tabela 2. Na
3
Stio ocial do banco Caixa: http://www.caixa.gov.br/
X Encontro Anual de Computao - EnAComp 2013
360
primeira coluna exibido o nmero da execuo, na segunda o nmero do concurso da
Lotofcil utilizado para validar o desempenho, na terceira coluna demonstrado a quan-
tidade de dezenas acertadas pelo preditor utilizando um AG e na quarta e ltima coluna
exposto o desempenho do preditor aplicando a tcnica das catorze dezenas somente,
sem a utilizao do AG. Nota-se que para gerar os dois resultados um mesmo jogo foi
utilizado como validador.
Os resultados obtidos demonstraram que a tcnica das catorze dezenas por si s
obteve acertos inferiores se comparados aos acertos encontrados pelo AG. Embora o AG
no tenha conseguido acertar os quinze nmeros em nenhuma das quinze execues, ele
demonstrou resultados signicativos sendo seu menor ndice de acertos de cinquenta e
trs por cento e seu maior de noventa e trs por cento. A mdia de dezenas acertadas pelo
AG nas quinze execues foi de 10,4 acertos por jogo o que equivale a 69,3%, enquanto
que a mdia da tcnica das 14 dezenas foi de 8,6 acertos por jogo, logo 57,3% .
Percebe-se que, o preditor quando usando a tcnica das 14 dezenas no conseguiu
em nenhuma das execues acertar mais dezenas do que quando o preditor implementava
o AG.
Tabela 2. Resultados obtidos nas execues do preditor
execuo concurso acertos - AG acertos - s/ AG
1 11 11 10
2 22 10 08
3 33 09 09
4 44 10 08
5 55 09 09
6 66 10 10
7 77 10 06
8 88 14 08
9 99 10 10
10 110 08 08
11 121 13 12
12 132 11 10
13 143 10 10
14 154 11 07
15 165 10 06
4. Concluso
O algoritmo gentico se mostrou um preditor no mnimo interessante. Embora no tenha
conseguido, durante a execuo dos testes, predizer as quinze dezenas de algum jogo
obteve uma mdia de acertos consideravelmente boa, em torno de 10 dezenas por jogo.
provvel tambm que obtivesse resultados mais promissores se a quantidade
de testes fosse aumentada, pois das quinze execues realizadas, em uma o preditor uti-
lizando o AG conseguiu prever 14 das 15 dezenas sorteadas. Vale lembrar que a probabili-
dade de se atingir 14 dezenas em um jogo da Lotofcil de 21.791 para um, empregando o
preditor esse nmero caiu para 8 tentativas. Seguindo esses resultados de se esperar que,
X Encontro Anual de Computao - EnAComp 2013
361
ao realizar uma maior quantidade de teste, o preditor consiga acertar as quinze dezenas
com uma probabilidade menor do que a existente, 3.268.760 para uma
Outro fator que pode ser levado em conta para melhorar ou piorar os resultados
so as conguraes dos parmetros livres do algoritmo gentico. Uma mudana na quan-
tidade de geraes ou de indivduos por populao por exemplo poderia gerar resultados
diferentes dos apresentados.
Como trabalhos futuros pretende-se desenvolver preditores aplicando outras tc-
nicas bio inspiradas, ou mesmo, outro AG com tcnicas de seleo, como o elitismo
[Ricardo 2008] e o mtodo da roleta [Ricardo 2008], para ao nal fazer um comparativo e
assim eleger o que melhor se adapta ao problema de prever os quinze nmeros sorteados
pela Lotofcil. Pretende-se ainda realizar estudos sobre anlise combinatria e probabili-
dade para encontrar outras tcnicas matemticas vlidas e assim gerar outras funes de
aptido.
Referncias
Cardoso, C. (2006). Orientao a objetos na prtica: aprendendo orientao a objetos
com Java. Cincia Moderna, 1th edition.
Lacerda, E. G. M. and P., C. A. C. (2003). Introduo aos algoritmos genticos.
Monteiro, C. (2007). Howstuffworks - como funcionam as loterias. Disponvel em
http://lazer.hsw.oul.com.br/loterias-brasil2.htm. Acessado em 25 de janeiro de 2013.
Pacheco, M. A. C. (1999). Algoritmos genticos: Princpios e aplicaes. ICA.
Ricardo, L. (2008). Algoritmos genticos: uma importante ferramenta da inteligncia
computacional. Brassport, 2th edition.
X Encontro Anual de Computao - EnAComp 2013
362

Interdisciplinaridades entre Pesquisa Operacional e
Cincia da Computao
Bruno Felipe da Silva Rodrigues
1
, Joo Paulo de Oliveira Santos
1
, Stella Jacyszyn
Bachega
1

1
Departamento de Engenharia de Produo Universidade Federal de Gois Campus
Catalo (UFG/CAC)
Av. Dr. Lamarthine Pinto de Avelar, 1120 75.704-020 Catalo GO Brasil
brunofelipesr@hotmail.com, jotape_santos@hotmail.com.br, stella.bachega@catalao.ufg.br
Abstract. Operations Research (OR) is an area of expertise that has large
interdisciplinarity with various sciences. The aim of this paper is to
demonstrate the interdisciplinarities among OR techniques and various
segments of Computer Science. For this, we used the procedure of theoretical
and conceptual research. The following OR techniques were analyzed: linear
programming, nonlinear programming, dynamic programming, queuing
theory, simulation, heuristics and stochastic methods. We verified applications
of these techniques in computer networks, cryptography, computer vision,
artificial intelligence, information systems, operating systems, algorithm
development and software engineering.
Resumo. A Pesquisa Operacional (PO) uma rea do conhecimento que
possui grande interdisciplinaridade com diversas cincias. Esse artigo possui
o objetivo de evidenciar interdisciplinaridades das tcnicas de PO em
trabalhos desenvolvidos em diversos segmentos da Cincia da Computao.
Para tanto, utilizou-se o procedimento de pesquisa terico-conceitual. As
tcnicas de PO analisadas foram: programao linear, programao no
linear, programao dinmica, teoria das filas, simulao, heursticas e
mtodos estocsticos. Verificaram-se aplicaes dessas tcnicas em redes de
computadores, criptografia, viso computacional, inteligncia artificial,
sistemas de informao, sistemas operacionais, desenvolvimento de
algoritmos e engenharia de software.
1. Introduo
A Pesquisa Operacional (PO) um termo que surgiu durante a Segunda Guerra
Mundial, utilizado para designar o desenvolvimento de mtodos cientficos relacionados
utilizao mais eficaz dos recursos e resoluo de problemas militares, como
alocao de navios, tipo de avio a utilizar em determinado ataque, dimensionamento de
comboios, entre outros (ARENALES et al,2007).
Aps o notvel sucesso das aplicaes de PO na resoluo de problemas
militares, diversas reas do conhecimento iniciaram a sua insero nos ambientes
acadmicos e empresariais (ANDRADE, 2004). A partir do desenvolvimento de estudos
e aplicaes de mtodos nesses novos cenrios, comearam a surgir conceitos de
diversas tcnicas dessa rea, como programao linear, programao no linear, teoria
das filas, simulao computacional, entre outros, que viriam a ser tcnicas importantes e
X Encontro Anual de Computao - EnAComp 2013
363

utilizadas na tomada de decises para a resoluo de problemas. Dentre as reas de
aplicao da PO est a Cincia da Computao.
Visto a enorme abrangncia da Pesquisa Operacional, esta pesquisa se faz
necessria para esclarecer no apenas aos estudantes de graduao, como a toda a
comunidade acadmica, sobre as principais definies e caractersticas da rea e suas
possveis interdisciplinaridades. Portanto, o objetivo desse artigo evidenciar
interdisciplinaridades das tcnicas de PO em trabalhos desenvolvidos em diversos
segmentos da Cincia da Computao, apontando assim possveis vnculos entre essas
reas.
Para cumprir esse objetivo, o presente artigo estruturado da seguinte forma: na
segunda seo so apresentadas brevemente as principais tcnicas de pesquisa
operacional; na terceira seo h a metodologia de pesquisa; na quarta seo tm-se as
interdisciplinaridades observadas entre PO e Cincias da Computao; e na quinta seo
h as consideraes finais.
2. Tcnicas de Pesquisa Operacional
A seguir so expostas brevemente as principais tcnicas de PO, a saber:
Programao linear
A Programao Linear (PL) soluciona problemas que dizem respeito,
principalmente, a alocao tima de recursos escassos para realizao de atividades
(COLIN, 2007).
Os estudos de programao linear se utilizam de modelos matemticos na
resoluo de problemas. Os modelos de otimizao linear tm a caracterstica de que
todas as funes-objetivo e as restries impostas pelos problemas so representadas
por funes lineares. Entretanto, essas no so as nicas particularidades da tcnica.
Conforme Colin (2007, p. 07), h quatro caractersticas fundamentais para os problemas
de programao linear: proporcionalidade, aditividade, divisibilidade e certeza.
Programao no linear
De acordo com Lachtermacher (2004, p. 292), a Programao No Linear
(PNL) trata de problemas de otimizao em que a funo-objetivo e/ou pelo menos
uma das restries envolvidas no so funes lineares das variveis de deciso.
Assim, a PNL mais complexa do que a PL devido a no-linearidade que
engloba um universo infinito de funes de distintas formas. Hillier e Lieberman (2006)
exemplificam alguns tipos de problemas de PNL, a saber: otimizao irrestrita,
otimizao linearmente restrita, programao quadrtica, programao convexa,
programao separvel, programao no-convexa, programao geomtrica,
programao fracionria e problema da complementaridade.
Programao dinmica
A Programao Dinmica (PD) uma tcnica de programao considerada
extremamente til e verstil, pois pode ser utilizada na resoluo de diversos tipos de
problemas, tais como: lineares ou no lineares, determinsticos ou estocsticos, com
horizonte finito ou infinito (COLIN, 2007).
X Encontro Anual de Computao - EnAComp 2013
364

Segundo Hillier e Lieberman (2006, p. 424), a PD [...] uma tcnica
matemtica til para criar uma sequncia de decises inter-relacionadas. Portanto, pode
ser considerada uma tcnica de decomposio que utiliza recursividade na resoluo dos
problemas, onde o problema principal dividido em subproblemas. Os problemas
menores so otimizados e suas resolues so guardadas para, posteriormente, serem
combinadas na resoluo do problema principal. Tal abordagem pode ser descrita como
uma tcnica de bottom-up.
Teoria das filas
Arenales et al. (2007, p. 433) define a Teoria das Filas como: um ramo da
Pesquisa Operacional que estuda as relaes entre as demandas em um sistema e os
atrasos sofridos pelos usurios deste sistema. O autor enfatiza que as filas so formadas
quando a capacidade do sistema de fornecer o servio, dentro de um determinado
tempo, menor do que a demanda.
A anlise de sistemas de filas busca quantificar o fenmeno de espera em filas,
ou seja, determinam-se medidas de desempenho da espera em filas, como tempo mdio
de espera para receber um servio, produtividade da instalao de um servio, ou o
tamanho mdio de uma fila (TAHA, 2010).
Simulao
Simulao um processo de experimentao com um modelo detalhado de um
sistema real para determinar como o sistema responder a mudanas em sua estrutura,
ambiente ou condies de contorno (HARREL et al., 2002). Os diversos usos dessa
tcnica podem ser agrupados em trs grandes categorias (BUFFA; SARIN, 1987): i)
projeto, ii) diagnstico, e iii) treinamento.
A simulao pode ser realizada com auxlio de computadores. Conforme Law e
Kelton (2000), a simulao computacional constituda por tcnicas que usam
computadores para imitar ou simular diversos tipos de operaes ou processos do
mundo real.
Heursticas
Heursticas so conjuntos de tcnicas e algoritmos computacionais para a
resoluo de problemas que, segundo Hillier e Lieberman (2006, p. 599),
provavelmente encontraro solues viveis, mas no necessariamente uma soluo
tima, para dado problema.
As Heursticas surgiram em resposta natureza complexa dos problemas de
otimizao com programas lineares, no lineares e inteiros. Utilizando esforo
computacional, as heursticas garantem a viabilidade ou a otimalidade da soluo
encontrada (REHFELDT, 2001).
Processos estocsticos
De acordo com Hillier e Lieberman (2006, p. 713), um processo estocstico
uma coleo de variveis aleatrias indexadas (X
t
), onde t um ndice definido num
conjunto T. Assim, um processo estocstico a descrio de um fenmeno aleatrio
que varia com o tempo. Possuem importncia em diversas reas do conhecimento, pois
descrevem o comportamento de um sistema que opera ao longo de algum perodo.
X Encontro Anual de Computao - EnAComp 2013
365

Arenales et al. (2007, p. 407) advogam que os processos estocsticos tm sido
aplicados em diversas reas onde alguns dados no so conhecidos com certeza, como
em confiabilidade de sistemas, manuteno de mquinas etc.
3. Metodologia da Pesquisa
A pesquisa terico-conceitual pode ser considerada como uma pesquisa bibliogrfica
que, na viso de Silva e Silva (2004), possui o intento de explicar um problema a partir
de referncias tericas publicadas em documentos, podendo ser efetuada como parte da
pesquisa descritiva ou experimental ou, ainda, de forma independente.
De acordo com Berto e Nakano (1998; 2000), esse tipo de pesquisa fruto de
uma srie de reflexes fundamentadas em um fato observado ou exposto pela literatura,
reunio de opinies e ideias de diversos autores ou mesmo pela simulao e modelagem
terica. Conforme esses autores, as discusses conceituais baseadas na literatura e
revises bibliogrficas so classificadas como pesquisas terico-conceituais. Neste
trabalho foi realizada a pesquisa terico-conceitual, ou bibliogrfica, com o intuito de
pr-orientao terica.
Para tal reviso, foram consultadas bases de dados, sites de busca, bancos de
teses e dissertaes de universidades nacionais, e anais dos eventos. Dentre eles esto:
Peridicos CAPES, SciELO, Google Scholar, Bancos de teses da USP, UFSCar,
UNICAMP e UFSC, Anais do ENEGEP, SBPO e SEGET. Dentre as palavras-chave
utilizadas esto os nomes completos das tcnicas de pesquisa operacional, suas siglas,
reas de cincia da computao, e suas combinaes.
Ressalta-se que, no presente momento, a pesquisa bibliogrfica no
considerada exaustiva e que ser ampliada no decorrer da pesquisa. Portanto, os
resultados aqui apresentados mostram algumas das possveis aplicaes de tcnicas de
PO em algumas reas da Cincia da Computao. Ainda, as tcnicas de PO
apresentadas nesse artigo foram selecionadas por serem tcnicas mais divulgadas nas
referncias base da rea.
4. Interdisciplinaridades Observadas
Nessa seo h a apresentao de interdisciplinaridades notadas entre tcnicas de
pesquisa operacional e reas da cincia da computao.
4.1. Programao linear
A PL tem grande interdisciplinaridade com vrias reas do conhecimento, ela pode ser
usada na computao para determinar, por exemplo, o numero mximo de processos
que uma mquina pode realizar, submetido a restries de capacidades e de tempo
(COLIN, 2007).
Longo (2004) explorou tcnicas mais recentes de programao linear inteira em
aplicaes de problemas de roteamento de veculos, preocupando-se com algoritmos
que tenham tempos computacionais mais aceitveis para encontrar a soluo tima para
instncias de porte razovel.
Algoritmos de PL que preservem a privacidade para utilizao em computao
segura multiparte foi o foco do trabalho de Deitos (2009), o qual aplicou em problemas
de otimizao da cadeia logstica.
X Encontro Anual de Computao - EnAComp 2013
366

Mapa e Lima (2012) usaram de forma combinada sistemas de informaes
geogrficas para transporte (SIG-T) com programao linear inteira mista na resoluo
de problemas de localizao de instalaes.
Portanto, puderam-se notar aplicaes de PL nas reas de criptografia
computacional e sistemas de informao.
4.2. Programao no linear
Dentre os usos de PNL est o de Fac e Oliveira (2002; 2003). Esses autores aplicaram
computao paralela para resoluo numrica de problemas de PNL com restries.
Para realizao do trabalho, utilizaram o mtodo do Gradiente Reduzido Generalizado
(GRG) e o cdigo computacional LSGRG2.
Vasconcelos (2007) desenvolveu uma metodologia para avaliao e controle de
segurana de sistemas eltricos interligados com base em mtodos de aprendizagem
automtica. No decorrer da pesquisa foi utilizado um problema de otimizao que inclui
ANN (Artificial Neural Networks Redes Neurais Artificiais) como restrio funcional,
o que caracterizando um modelo de PNL.
Assim, nessa subseo foram observados usos de PNL em redes de
computadores e inteligncia artificial.
4.3. Programao dinmica
Uma aplicao direta da PD na computao o desenvolvimento de algoritmos cache-
oblivious para problemas que utilizam programao dinmica. Como explicitado em
Rodrigues (2008), a PD divide seus problemas em problemas menores e necessita de
boa memria para guardar as solues desses subproblemas, o algoritmo cache-
oblivious se mostrou eficiente no uso da memria cache.
Outro trabalho foi a anlise e implementao do algoritmo de PD de Nussinov-
Jacobson para otimizao das diversas caractersticas da estrutura secundria do RNA
(ou cido Ribonucleico), descrito em Rockenbach (2009). Logo, foram identificadas
aplicaes de PD nas reas de sistemas operacionais e desenvolvimento de algoritmos.
4.4. Simulao
A simulao uma ferramenta eficaz e flexvel para a modelagem de sistemas. Uma
aplicao dessa tcnica de PO foi feita por Carvalho (2005) para estudo de melhoria do
desempenho de redes de computadores.
Oliveira e Silva (2007) desenvolveram uma pesquisa para construo de um
sistema que utiliza simulao e interface grfica para representar o conceito de mquina
de Turing. A interface, construda em Java, foi baseada em tcnicas de programao de
jogos e possuiu a finalidade principal de auxiliar o processo de ensino-aprendizagem em
disciplinas como Teoria da Computao.
Portanto, foram identificadas aplicaes de simulao em redes de computadores
e desenvolvimento de algoritmos.
4.5. Teoria das filas
Na Cincia da Computao a maioria das aplicaes dessa ferramenta da Pesquisa
Operacional so processos de algoritmos computacionais esperando para utilizar uma
CPU ou um servidor, formando filas que podem ser estudadas pela teoria.
X Encontro Anual de Computao - EnAComp 2013
367

A teoria das filas pode ser utilizada para analisar o desempenho de sistemas de
atendimento. Carrin (2007) desenvolveu um estudo em um servidor utilizando essa
tcnica de PO. Em tal pesquisa, houve a otimizao do congestionamento no servidor
causado pela enorme quantidade de mensagens que chegam ao mesmo tempo.
Entretanto, devido complexidade em descrever o comportamento do trfego digital,
caracterizado pela distribuio exponencial, diferentes modelos de filas e mtodos
matemticos avanados, como distribuies em cauda longa e a transformada de
Laplace, foram desenvolvidos para tentar solucionar o problema. Assim sendo,
identificou-se um uso de teoria das filas em redes de computadores.
4.6. Heursticas
As heursticas so utilizadas quando o tempo requisitado para encontrar a soluo de um
problema menor se comparado ao enorme tempo gasto por algumas das tcnicas de
soluo, como a programao dinmica e os algoritmos branch-and-bound e branch-
and-cut. Assim, os esforos na rea de Cincias de Computao esto na elaborao de
algoritmos que resolvam, cada vez melhor, problemas complexos, com uso dessa
tcnica de PO. Exemplos de mtodos heursticos podem ser encontrados em Prestes
(2006) para solucionar o Problema do Caixeiro Viajante PCV. No estudo, diversas
abordagens heursticas, como a Busca Tabu, o Simulated Annealing (SA) e o Greedy
Randomized Adaptive Search Procedures (GRASP), so utilizadas para criar algoritmos
mais eficientes para solucionar o PCV.
Outros exemplos de aplicaes de algoritmos desenvolvidos por meio de
heursticas tambm podem ser encontrados em: Rehfeldt (2001) e Toffolo et al. (2006)
utilizaram heursticas para desenvolverem algoritmos que otimizassem o escalonamento
de tarefas, o primeiro de tripulaes areas enquanto que o segundo na indstria de
calados; e Pileggi et al. (2007) utilizaram heursticas para gerar um algoritmo que
abordasse o sequenciamento de padres de cortes bidimensionais na indstria
automobilstica.
Logo, foram verificados usos de heursticas nas reas de sistemas de informao
e desenvolvimento de algoritmos.
4.7. Mtodos estocsticos
Domenech e De Biasi (2012) descreveram a arquitetura geral de um sistema e as
caractersticas principais de um prottipo de ferramenta de software destinada a auxiliar
estudantes durante o processo de ensino-aprendizagem de determinados mtodos
estocsticos como Cadeias de Markov.
Fernandes (2010) aplicou a Estereoscopia (viso estreo), que um processo em
Viso Computacional 3-D juntamente com mtodos estocsticos. Foi utilizada a
abordagem estocstica para o processo de combinao de imagens, detalhando trs
algoritmos de otimizao aplicada correspondncia estrea.
Assim, notou-se aplicao de mtodos estocsticos em engenharia de software e
viso computacional.
5. Consideraes finais
O objetivo almejado nesse artigo foi alcanado. Por meio de uma pesquisa terico-
conceitual, evidenciaram-se possveis interdisciplinaridades entre tcnicas de pesquisa
operacional com aplicaes em diversos segmentos da Cincia da Computao.
X Encontro Anual de Computao - EnAComp 2013
368

Dentre os vnculos das tcnicas de PO analisadas com reas da cincia da
computao esto: redes de computadores (aplicaes de programao no linear,
simulao e teoria das filas), criptografia computacional (aplicao de programao
linear), engenharia de software (aplicao de mtodos estocsticos), viso
computacional (aplicao de mtodos estocsticos), inteligncia artificial (aplicao de
programao no linear), sistemas de informao (aplicaes de programao linear e
heursticas), sistemas operacionais (aplicao de programao dinmica),
desenvolvimento de algoritmos (aplicao de programao dinmica, simulao e
heursticas).
O presente trabalho contribui ao propiciar maior oportunidade para que
estudantes de cincia da computao possam focar sua formao acadmica nas bases
da Pesquisa Operacional, desenvolvendo, assim, novas pesquisas e projetos
interdisciplinares. Salienta-se que o presente trabalho faz parte de uma pesquisa que
visa aplicar tcnicas de pesquisa operacional em determinadas reas da Cincia da
Computao.
Referncias
Andrade, E. L. (2004) Introduo Pesquisa Operacional: Mtodos e Modelos para
Anlise de Decises, LTC, 3
a
edio.
Arenales, M.; Armentano, V.; Morabito, R.; Yanasse, H. H. (2007) Pesquisa
Operacional para cursos de engenharia, Campos.
Berto, R. M. V. S.; Nakano, D. N. (1998). Metodologia da pesquisa e a engenharia de
produo. In: XVIII Encontro Nacional de Engenharia de Produo (ENEGEP) e IV
International Congress of Industrial Engineering (ICIE), 1998, UFF/ABEPRO, out.
Berto, R. M. V. S.; Nakano, D. N. (2000). A produo cientfica nos anais do encontro
nacional de engenharia de produo: um levantamento dos mtodos e tipos de
pesquisa. In: Produo, v. 9, n 2, p. 65-75, jul.
Bornatto, G. (2002). Modelagem - Simulao - Informtica e a Matemtica. In: Rev.
PEC, Curitiba, v.2, n.1, p.67-71, jul. 2001-jul. 2002
Buffa, E. S.; Sarin, R. K. (1987) Modern Produtction/Operations Management, John
Wiley & Sons, 8 ed.
Carrin, E. A. (2007) Teoria das Filas Como Ferramenta para Anlise de Desempenho
de Sistemas de Atendimento: Estudo de Caso de um Servidor da UECE,
CCT/UECE/CEFET.
Carvalho, E. M. (2005). Modelagem e Simulao de Desempenho de Redes de
Computadores, DC/UEL.
Colin, E. C. (2007) Pesquisa Operacional: 170 aplicaes em Estratgia, Finanas,
Logstica, Produo, Marketing e Vendas, LTC.
Deitos, R. J. (2009). Algoritmos de Programao Linear com Atributos de Privacidade
para o uso em Computao Segura Multi-Parte, UFSC.
Domenech, M.; De Biasi, H. (2012). Ferramenta de Software para o Auxlio ao
Processo de Ensino-Aprendizagem de Mtodos Estocsticos. In: UNOESC &
Cincia, v. 3, n 1, p. 37-46, jan./jun.
X Encontro Anual de Computao - EnAComp 2013
369

Faco, J. L. D.; Oliveira, L. A. A. (2003). Aplicao de Computao paralela resoluo
numrica de problemas de programao no linear com restries. In: XXXV
Simpsio Brasileiro de Pesquisa Operacional, 2003, SBPO.
Fernandes, J. L. (2010). Aplicao de Algoritmos de Otimizao Estocstica
Correspondncia entre Imagens em Viso Estreo. In: 9
th
Brazilian Conference on
Dynamics, Control and their Apllications June 07-11, 2010.
Harrel, C. R.; Mott, J. R. A.; Bateman, R. E.; Bowden, R. G.; Gogg, T. J. (2002)
Simulao: otimizando os sistemas, Belge Simulao e IMAM, 2 ed.
Hillier, F. S.; Lieberman, G. J. (2006) Introduo Pesquisa Operacional, McGraw
Hill, 8 edio.
Law, A. M.; Kelton, W. D. (2000) Simulation Modeling & Analysis. McGraw- Hill,
3rd edition.
Longo, H. J. (2004) Tcnicas para programao inteira e aplicaes em problemas de
roteamento de veculos, PUC-RJ.
Mapa, S. M. S.; Lima, R. S. (2012). Uso combinado de sistemas de informaes
geogrficas para transportes e programao linear inteira mista em problemas de
localizao de instalaes. In: Gest. Prod., v.19, n.1, p. 119-136.
Morais, M. L.; Santos, S. A. (2011). Anlise Comparativa para o Problema de Locao-
Alocao: Modelo No Linear Geral Versus Modelo das P-Medianas com Variveis
Inteiras: Um Estudo de Caso, IMECC/UNICAMP.
Oliveira, G. P.; Silva, M. A. S. (2007). Construo de Simuladores Grficos para Teoria
da Computao: Uma Proposta para o Ensino do Conceito de Mquinas de Turing.
In: IV Simpsio de Excelncia em Gesto e Tecnologia (SEGET), 2007, AEDB.
Pileggi, G. C. F.; Morabito, R.; Arenales, M. N. (2007). Heursticas Para os Problemas
de Gerao e Sequenciamento de Padres de Corte Bidimensionais. In: Pesquisa
Operacional, v. 27, n 3, p. 549-568, set.
Prestes, A. N. (2006) Uma Anlise Experimental de Abordagens Heursticas Aplicadas
ao Problema do Caixeiro Viajante, PPGSC/UFRGN.
Rehfeldt, M. J. H. (2001) Uma Heurstica Aplicada a um Problema de Escalonamento
na Indstria Caladista, PPGA/UFRGS.
Rockenbach, R. (2009) Programao Dinmica Aplicada a Problemas de RNA-
Folding, CCET/UNIOESTE
Rodrigues, F. C. (2008) Programao Dinmica Eficiente com Algoritmos Cache-
Oblivious, IICC/UFRGS.
Silva, H. H. R.; Silva, M. L. A. (2004) Metodologia da pesquisa, Salesiano.
Taha, H. A. (2010) Pesquisa Operacional, Pearson, 8 edio.
Tofollo, T. A. M.; Souza, M. J. F.; Pontes, R. C. V.; Silva, G. P. (2006). Heurstica de
Recobrimento Aplicada Escala de Tripulaes Areas. In: XXXVIII Simpsio
Brasileiro de Pesquisa Operacional (SBPO), 2006, UCG/SOBRAPO, set.
Vasconcelos, M. H. O. P. (2007) Avaliao e Controlo de Segurana de Redes
Interligadas com Grande Penetrao Elica com base em Mtodos de Aprendizagem
Automtica, Universidade do Porto/FEUP.

X Encontro Anual de Computao - EnAComp 2013
370
OpenNI e Suas Aplicaes
Lorena A. Rezende, Dalton M. Tavares
Departamento de Cincia da Computao Universidade Federal de Gois (UFG)
Avenida Dr. Lamartine Pinto de Avelar, 1120, Setor Universitrio, CataloGO Brasil
{lorennarezende}@live.com, {dalton.tavares}@catalao.ufg.br
Abstract. This paper aims to show the results of the combination between the
framework OpenNI and the Kinect sensor, used to assist the development of
applications based on natural interaction. The use of controllers like
keyboards, mouse and remote controls to manage an application is no longer
interesting and therefore, are getting obsolete. This opens the way to a more
natural interaction between human and machines.
Resumo. Este artigo tem como objetivo apresentar o resultado da combinao
do framework OpenNI com o sensor kinect, usado para auxiliar no
desenvolvimento de aplicaes baseadas em interao natural. O uso de
controladores como teclados, mouses e controles remotos para manipular uma
aplicao j no mais to interessante e por isso, esto se tornando
obsoletos. Isso abre o espao a uma interao mais natural entre humano e
mquinas.
1. Introduo
O OpenNI
1
(Open Natural Interface) e uma organizao sem fins lucrativos que
disponibiliza um SDK (Software Development Kit) de cdigo aberto (open source), o
que o torna um framework muito til no auxlio ao desenvolvimento de interfaces (entre
dispositivos, aplicaes e bibliotecas de middleware) para aplicaes baseadas em
interao natural (natural interface ou NI), principalmente por meio da audio e viso.
O OpenNI suporta aplicaes em 3 dimenses. Um exemplo da sua utilizao
no auxlio engenheiros de turbina, para otimizar seus projetos de forma interativa,
permitindo que os usurios possam modificar modelos, re-executar simulaes e
inspecionar os resultados. Nesse contexto, a plataforma OpenNI e o middleware NITE
so responsveis por processarem a profundidade de imagens. A aplicao reconhece as
movimentaes da mo para modificar lminas de turbina, em parmetros como
direita/esquerda para girar, cima/baixo para rotao/elevao, frente/trs para
aumentar ou diminuir zoom e, quando a mo aberta, a aplicao reconhece que para
parar o processo de interpretao [Rogge et al. 2012].
O Kinect e um sensor desenvolvido em 2010 pela Microsoft

para o console de
jogos Xbox 360, o qual permite ao usurio interagir de diversas maneiras (ex. por meio
de gestos, movimentos ou voz) com um jogo multimdia. Por possuir sensores de
profundidade e tambm sensores que permitem executar o rastreamento de movimentos
em tempo real, esse dispositivo vem ganhando destaque junto comunidade cientfica
com aplicaes nos campos de robtica, interface humano computador e computao

1
Maiores informaes em: http://www.openni.org/about Acesso em: 23/01/2013.
X Encontro Anual de Computao - EnAComp 2013
371
grfica. Um exemplo da utilizao do Kinect o desenvolvimento de uma ferramenta
chamada Hand-Potter [Moore 2012], muito til no contexto da criao de objetos
virtuais. A Hand-Potter utiliza o Kinect e algoritmos avanados que permitem a uma
pessoa criar objetos virtuais em 3 dimenses, usando apenas suas mos. Os algoritmos
reconhecem as mos e identificam sua interatividade. Dessa maneira, ele projeta
virtualmente, exatamente a forma que foi desenhada.
O Kinect foi escolhido como dispositivo de interface com o intuito de explorar
os recursos oferecidos pelo OpenNI, devido a capacidade inata desse dispositivo quanto
ao reconhecimento de noo de profundidade, gestos, imagens, udio, alem de dar a
robs/aplicaes a viso em 3 dimenses. No decorrer desse artigo sero apresentados
os requisitos para a utilizao do framework OpenNI e uma demonstrao de sua
utilizao usando um sensor Kinect.
Esse artigo est organizado da seguinte forma: a seo 2 ir discutir o framework
OpenNI, a seo 3 apresenta o sensor Kinect, a seo 4 mostra um breve estudo de caso
e a seo 5 so apresentadas a concluso e propostas de trabalhos futuros.
2. O Framework OpenNI
O OpenNI SDK um kit de desenvolvimento de software open source, suportado em
mltiplas plataformas. Alm deste, existe tambm o OpenNI framework
2
, utilizado
como auxlio ao desenvolvimento de aplicaes baseadas em interao natural.
O OpenNI possui uma variedade de aplicaes pr-compiladas, que podem ser
executadas logo aps a instalao. Seu objetivo padronizar a compatibilidade e
interoperabilidade da interao natural, dispositivos, aplicaes e middlewares.
compatvel com suas verses anteriores, de modo que, uma aplicao feita em uma
verso anterior pode ser executada usando a verso mais nova do OpenNI, sem precisar
ser recompilada.
Tambm permite que aplicaes sejam escritas sem que os desenvolvedores se
preocupem com o fornecedor da tecnologia que habilita uma determinada caracterstica
(ex. viso 3D). Define os ns de produo, podendo ser do tipo Device (sensor), Depth
(gera mapas profundidade), Image (gera mapas de imagem-cor), IR (gera mapas de
imagem infra-vermelho), Audio (gera um fluxo de udio), Gestures (gera retornos
quando gestos especficos so identificados), SceneAnalyser (analisa o cenrio,
separando primeiro plano/fundo), Hand (gera retorno quando pontos de mo so
identificados) e User (gera a representao de um usurio no espao 3D). O framework
e responsvel por traduzir dados brutos em dados de alto nvel, transformando-os em
informaes que sejam mais fceis de serem compreendidas por uma biblioteca de
middleware. No contexto deste, ele ser usado para auxiliar a execuo de uma
aplicao j pr-compilada.
O framework baseado em eventos, realizando callbacks sempre que um evento
ocorre. Permite que dados da execuo de uma aplicao sejam gravados para serem
reproduzidos posteriormente, funcionando como uma simulao. No contexto deste, se
destina na interface dispositivo-middleware/aplicao suportando dados 3D.

2
Para maiores informaes consulte a documentao OpenNI disponvel em:
http://www.openni.org/openni-sdk/openni-sdk-history-2 Acesso em: 23/01/2013.
X Encontro Anual de Computao - EnAComp 2013
372
3. Kinect
O Kinect um sensor de 3 dimenses (3D) desenvolvido em 2010 com a ajuda de
Andrew Black (IEEE) e sua equipe da Microsoft Research Cambridge, bem como a
empresa de semicondutores PrimeSense (tecnologia que possibilita aos dispositivos
observar um cenrio em 3 dimenses) [Ackerman 2011]. O Kinect possui sensores
RGB, infra-vermelho, CMOS e dois microfones embutidos. Foi projetado para o
console XBOX 360, com o objetivo de que o controlador seja o prprio jogador (a).
Dessa forma, o jogador (a) responsvel por controlar a execuo de um game por meio
de movimentos corporais. O Kinect consegue abstrair as informaes do ambiente
usando o laser do sensor infra-vermelho para determinar a distncia para cada pixel.
Essa informao mapeada sobre uma imagem a partir de uma cmera RGB padro.
Cada pixel tem uma cor e uma distncia, podendo ento, ser utilizado para mapear
posies do corpo, gestos, movimentos ou ainda gerar mapas 3D [Wang et al. 2012].
A Microsoft lanou o Kinect para o console XBox 360, porm, por ser robusto e
de baixo custo, vem sendo utilizado em pesquisas nos campos de robtica e interface
humano-computador. No contexto deste, o uso do Kinect se destina a reconhecer um
usurio em cena e rastrear seus movimentos.
4. Estudo de Caso
Para utilizar os recursos oferecidos pelo framework OpenNI, primeiramente, e
necessrio ter instalado os seguintes componentes
3
:
GCC 4.x;
Python 2.6+/3.x;
LibUSB 1.0.x;
FreeGLUT3;
JDK 6.0;
OpenNI 1.5.x.x.
Os componentes supracitados so requisitos para se usar os recursos do
framework OpenNI. Alm disso, necessrio instalar o middleware NITE e o Sensor
PrimeSense de modo a habilitar a operao do Kinect. O NITE uma biblioteca de
middleware disponibilizada pela PrimeSense que contm algoritmos para rastreamento
de movimentos. Utilizando um sensor, como o Kinect, torna-se possvel rastrear os
movimentos de um ponto da mo (hand-point) ou ainda, movimentos do corpo (full-
body). O sensor PrimeSense uma abstrao necessria para a aquisio de dados de
um dispositivo e calcular a profundidade.
Quando uma aplicao executada, os dados so gerados por um dispositivo
fsico que possui os sensores necessrios para sua execuo. Como a aplicao criada
(seo 4.1 e 4.2) baseada em 3D, a ferramenta utilizada foi o Kinect. Em nvel de
hardware, ele possui os sensores necessrios: RGB, infra-vermelho (IR) e CMOS.

3
Disponvel em: http://www.openni.org/Downloads/OpenNIModules.aspx. Acesso em: 10/01/2013.

X Encontro Anual de Computao - EnAComp 2013
373
Existe uma camada (SoC System on Chip)
4
que opera sobre o hardware
descrito. Esta responsvel por calcular a profundidade, onde um sensor infra-vermelho
ilumina a cena e um sensor CMOS decifra a luz recebida pelo infra-vermelho e produz
uma imagem de profundidade VGA.
O framework OpenNI permite que o host (mquina) opere os sensores e acesse
todos os dados brutos gerados por ele. O framework ento, os traduz para informao de
alto nvel e os enviam para a biblioteca de middleware NITE, a qual possui os
algoritmos de rastreamento necessrios para a execuo da aplicao. Uma
representao da arquitetura descrita apresentada na Figura 1.
Figura 1. Modelo de representao de uma aplicao com
interface natural baseada em dados 3D.
5

4.1. Aplicao Desenvolvida
A aplicao criada responsvel por identificar um usurio em cena e rastrear seus
movimentos. Para sua execuo utilizado o framework OpenNI, a biblioteca de
middleware NITE e como dispositivo fsico, o sensor Kinect. A aplicao possui trs
pores principais representadas pelos seguintes arquivos
6
: uma bilioteca opengles
que permite a reproduo grfica dos resultados obtidos, o SceneDrawer que processa
os eventos (desenha) e o programa principal main, onde so realizadas as chamadas
de funes e callbacks.
No programa principal (main), so declaradas variveis globais dos tipos
Context, ScriptNode, DepthGenerator, UserGenerator e Player. O Context um
objeto usado para criar os grficos de produo. Estes so representados por um
conjunto de ns que foram produzidos, bem como outros ns os quais so dependentes.
Por exemplo, para obter um n do tipo UserGenerator necessrio que exista um n

4
Mais informaes em: http://www.primesense.com/solutions/technology Acesso em: 28/01/2013.
5
Imagem original disponvel em: http://www.primesense.com/solutions/nite-middleware Acesso:
29/01/2013.
6
Para maiores informaes consulte a documentao OpenNI Compliant disponvel em:
http://www.openni.org/openni-sdk/openni-sdk-history-2 Acesso em: 23/01/2013.
X Encontro Anual de Computao - EnAComp 2013
374
DepthGenerator. No caso de haver mais de um sensor com a mesma funcionalidade, a
aplicao pode escolher o grfico de produo preferido (estes dispositivos podem gerar
dados diferentes) levando em considerao um fornecedor especfico, por exemplo. O
ScriptNode um objeto carregado a partir de uma string ou arquivo de script XML,
usado para a execuo do grfico de produo. O DephGenerator gera um mapa de
profundidade, onde cada pixel no mapa tem um valor que representa a distncia do
mesmo para o sensor. O UserGenerator um n gerador de dados referentes
informaes dos usurios em um cenrio, onde cada usurio identificado como nico.
Por fim, o n Player, armazena a gravao dos dados de uma sesso que gera dados.
O OpenNI usa contagem por referncia para que os objetos sejam
compartilhados entre vrios componentes da aplicao. Quando um tipo especfico de
n criado, sua referncia setada com o valor 1 e o identificador retornado ao
criador. A contagem de referncia incrementada (+1) no caso de haver novos ns que
possuem o mesmo tipo de um n j existente. Quando os ns no so mais necessrios,
vo sendo removidas/decrementadas (-1) as referncias (por meio da funo void
CleanupExit()) at que ela tenha valor 0 e ento, o n destrudo e a memria antes
alocada por ele, liberada. Como o OpenNI suporta gravaes de uma sesso geradora
de ns, ao executar a aplicao, se no passado nenhum parmetro (o nome de um
arquivo de gravao), o grfico de produo ser criado de acordo com um arquivo
XML padro do OpenNI. Caso contrrio, ele iniciar a partir do arquivo de gravao
especificado.
No caso apresentado, no foi passado nenhum parmetro. Dessa forma, a
execuo do programa inicia normalmente, esperando por um evento especfico (i.e. o
surgimento de um usurio em cena). Se um usurio aparece em cena, ele tem sua
posio identificada, para que em seguida o sensor possa ser calibrado e o usurio seja
rastreado. Para cada novo usurio que aparece em cena, ele possui um ID (identificador)
para que a aplicao possa fazer referncia a cada um individualmente. Para que seus
movimentos sejam rastreados, preciso primeiro detectar sua posio. Este
procedimento feito por meio de uma chamada de callback, a qual recebe como
parmetros a capacidade de detectar a pose, o ID daquele usurio, e uma string que
representa a sua posio. Dessa forma, no caso da deteco de posio ser bem
sucedida, registrada a posio e o processo de deteco de posio finalizado e
realizada uma requisio calibrao.
Em seguida, feita a calibrao, recebendo como parmetros a capacidade do
esqueleto e o ID do usurio. na calibrao que so medidos e registrados o
comprimento dos membros do usurio em cena. Se a calibrao completa for executada
com sucesso, feita uma chamada para rastreamento passando como argumento o ID.
Caso contrrio, o processo de calibrao iniciado novamente e a reinicializao pode
ser a partir da deteco de pose do usurio ou da calibrao. Se o gerador de calibrao
exige a deteco de pose, necessrio fazer chamada funo que detecta a pose, para
execut-la novamente (passando como argumento o ID do usurio). De outra forma,
aps realizar a calibrao novamente, passado como argumentos o ID do usurio e o
valor TRUE, este ltimo indica que a calibrao vai ser executada novamente para
aquele identificador de usurio. Se um usurio sai de cena e as informaes referentes
ao usurio/cenrio que estavam salvas so perdidas, o usurio declarado como um
X Encontro Anual de Computao - EnAComp 2013
375
usurio perdido e, este tem suas informaes excludas, bem como sua referncia. A
implementao leva em considerao algum atraso, para que se tenha a certeza de que o
usurio realmente saiu do cenrio.
Existe uma funo (void SaveCalibration()) que percorre uma lista de ns
existentes, verificando se existem ns calibrados. Em caso afirmativo, eles tm seu ID
armazenado em um arquivo. A funo (void LoadCalibration()) carrega os dados
que foram armazenados anteriormente. Esta muito til considerando que os
desenvolvedores podem armazenar a calibrao e, testar posteriormente o aplicativo
sem a necessidade de detectar a pose novamente e efetuar a calibrao. No caso aqui
apresentado, no foi carregado nenhum arquivo (no foi passado como parmetro).
A funo void glutDisplay(), responsvel por projetar na tela a
representao grfica dos dados. Por meio do DepthGenerator as dimenses xRes e
yRes so acessadas, retornando as dimenses X e Y do buffer de profundidade, as quais
so necessrias para obter o valor de cada pixel no mapa (de profundidade). Tambm
so includos mtodos que desenham o mapa de profundidade, usurios e esqueletos. O
grfico atualizado apenas quando um n gerador de usurios tem novos dados.
Por fim, neste arquivo, temos a funo principal, onde so definidos o tamanho
(em relao altura/largura) e nome da janela onde sero projetados os grficos de
produo (User Tracker Viewer), ocorre a inicializao dos manipuladores de eventos
os quais se verifica se a caracterstica de esqueleto (representao grfica virtual em 2D)
de um usurio em cena suportada fazendo com que o esqueleto se mova de acordo
com a movimentao do usurio e suas respectivas dependncias (ex. para fazer a
calibrao, necessrio que exista o suporte da capacidade de calibrar e detectar
posio).
No arquivo SceneDrawer esto dispostos os processadores de evento. Ele e o
responsvel pela verificao da caractersticas (ex. caso seja preciso detectar uma
posio do usurio antes de fazer sua calibrao, ele registra a deteco de posio, caso
contrrio, ele no suporta deteco de posio). Esse arquivo usado tambm para
desenhar os membros dos usurios, onde a funo DrawJoint(), recebe como
parmetros o ID do usurio, as juntas 1 e 2 (por padro) e traa uma linha reta entre as
juntas das articulaes especificadas. Verifica tambm se h o rastreamento dos
usurios, por meio de converses: recebe as coordenadas de posio (real) e as converte
em coordenadas projetivas a serem representados em um plano 2D. Alm disso, gera um
histograma para a criao de uma gradiente de profundidade cena-a-cena, a partir dos
parmetros: longe(escuro)/perto(claro). De acordo com os dados de profundidade,
estabelece a textura de cada pixel de acordo com o usurio (centro de massa de um
usurio). A execuo da aplicao ilustrada na Figura 2.
4.2. Procedimento experimental
Na Figura 2, existem 4 usurios em cena e cada um deles passou pelo processo descrito
na seo 4.1 (deteco de pose, calibrao e rastreamento). No quadro que disposto na
Figura 3, mostra-se a execuo da aplicao. Note que o usurio 1 entrou em cena, teve
sua posio detectada e foi calibrado (impresso no terminal). Enquanto o usurio 1 era
calibrado, o usurio 2 entrou em cena, teve sua posio detectada e inicializou sua
calibrao, em paralelo, o usurio 1 tem sua calibrao finalizada e seu processo de
X Encontro Anual de Computao - EnAComp 2013
376
rastreamento inicializado. Quando o usurio 3 entra em cena, ele tem sua posio
detectada, calibrado e rastreado e, logo em seguida, o usurio 2 tambm tem sua
calibrao finalizada e ento seu processo de rastreamento inicializado.
Em seguida, entra em cena o usurio 4, este entra e sai da cena duas vezes sua
posio identificada, mas ocorre um erro na tentativa de calibrao desse usurio,
porm, quando por uma terceira vez, ele entra em cena, tem sua posio detectada e
comea o processo de calibrao novamente. Enquanto isso, o usurio 5 tambm entra
em cena (e o usurio 3 sai), tem seu posicionamento detectado, mas logo depois, sai de
cena. O usurio 4 tem sua calibrao executada com sucesso e inicia seu processo de
rastreamento. Ocorre falha na tentativa de calibrar o usurio 5 (porque ele saiu de cena).
O usurio 5 entra em cena novamente, tem seu posicionamento detectado,
calibrado com sucesso e inicia-se o processo de rastreamento para o mesmo. Por fim, o
usurio 3 (que j saiu de cena h algum tempo) declarado como perdido. Na janela
grfica User Tracker Viewer, na Figura 2, so representados os esqueletos
correspondentes aos usurios supracitados, exceto aqueles que saram de cena, como no
caso do usurio 3.

Figura 2. Representao grfica do resultado da execuo da aplicao.
Figura 3. Relao do estado da aplicao
X Encontro Anual de Computao - EnAComp 2013
377
5. Concluso
O presente artigo discutiu acerca do processo de execuo de uma aplicao baseada em
interao natural. Para tanto, foram apresentados os seus componentes, em termos de
bibliotecas, algoritmos e ferramentas fsicas, levando em considerao caractersticas de
rastreamento de movimentos. Nesse contexto, o OpenNI framework foi escolhido por
oferecer suporte a uma ampla variedade de tipos de dados, o que, em combinao com o
sensor Kinect gera informaes relacionadas profundidade, imagem, udio e
movimentos. Com a combinao dessas duas ferramentas, possvel desenvolver uma
variedade de aplicaes baseadas em interao natural, no s para a rea de robtica ou
computao grfica, mas tambm no contexto de tecnologia social, como por exemplo,
no desenvolvimento de aplicaes que auxiliem pacientes em fase de reabilitao.
Vale observar que a organizao OpenNI, a partir da verso 2.0 no fornecer
suporte s plataformas Mac e Linux, considerando o suporte ao sensor Kinect, uma vez
que este patenteado pela Microsoft. Em contrapartida, a PrimeSense comeou a
fabricar dispositivos com as configuraes similares s do Kinect.

Referncias
Ackerman, E. (2011) Top 10 Robotic Kinect Hacks, In: IEEE Spectrum,
http://spectrum.ieee.org/automaton/robotics/diy/top-10-robotic-kinect-hacks, Maro.
Moore, S. K. (2012) New Kinect Design Trick: Hand Potter, In: IEEE Spectrum,
http://spectrum.ieee.org/tech-talk/computing/software/new-kinect-design-trick-
handy-potter, Agosto.
Rogge, S., Amtsfeld, P., Hentschel, C., Bestle, D. e Maeyer, M. (2012) Using Gestures
To Interactively Modify Turbine Blades In A Virtual Environment, In: Emergind
Signal Processing Applications (ESPA), 2012 IEEE International Conference.
Wang, Y., Yang, C., Wu, X., Xu, S. e Li, H. (2012) Kinect Based Dynamic Hand
Gesture Recognition Algorithm Research, In: 4th International Conference on
Intelligent Human-Machine Systems and Cybernetics.

X Encontro Anual de Computao - EnAComp 2013
378
SELECTRESS Sistema Web aplicado ao melhoramento
gentico vegetal para resistncia a fatores ambientais
estressantes
Rogrio Chaves Barreto
1
, Naiara Silva dos Santos
1
, Valmir Henrique de Arajo
2

1
Centro de Pesquisa e Desenvolvimento de Software Universidade Estadual do
Sudoeste da Bahia (UESB) Jequi, BA Brasil
2
Universidade Estadual do Sudoeste da Bahia (UESB) Vit. da Conquista, BA Brasil


{r oger i ocbar r et o, nai ar assant os, val mi r boai dei a}@gmai l . com
Abstract. Abstract. This paper aims to describe the SELECTRESS Web System
which is being implemented in PHP language programming through the use of
resources fromother open source libraries. SELECTRESS main goal is to
assist students and researches in the area of genetic improvement of plants
that are submitted to stressful factors, such as the lack or excess water.
Furthemore, this software will provide relevant information on the subject for
the entire scientific community.
Resumo. Este artigo descreve o Sistema Web SELECTRESS que est sendo
implementado na linguagemde programao PHP, utilizando recursos de
outras bibliotecas de cdigo aberto. O SELECTRESS temo objetivo principal
de auxiliar estudantes e pesquisadores da rea de melhoramento gentico de
vegetais que so submetidos a fatores estressantes, como, por exemplo, a falta
ou o excesso de gua. Almdisso, tal software disponibilizar informaes
relevantes sobre o tema para toda a comunidade cientfica.
1. I ntroduo
A rea de melhoramento gentico tem ganhado importncia no setor de pesquisas em
produo de animais e vegetais, a fim de obter organismos aperfeioados que ao serem
disponibilizados no mercado oferecero aos consumidores produtos de alta qualidade.
Estudos da Universidade de So Paulo [USP 2010] acrescentam que, o melhoramento
possibilitou a mecanizao das lavouras, o que contribuiu significativamente para um
rpido aumento da produtividade agrcola.
Pesquisadores dessa rea tm encontrado dificuldades em seus estudos pela falta
de uma ferramenta para automatizao de clculos necessrios para acompanh-los no
melhoramento da espcie. Para auxiliar nesse empreendimento, esto sendo
desenvolvidos softwares com funes que realizam clculos, selecionam espcies com
gentipos superiores, fazem levantamento estatstico e geram relatrios que auxiliam na
tomada de deciso.
X Encontro Anual de Computao - EnAComp 2013
379
O programa GENES Aplicativo Computacional em Gentica e Estatstica
Experimental da Universidade Federal de Viosa (UFV) um dos softwares que tem
por objetivo realizar estatsticas que permitem a anlise da diversidade gentica de
animais e de plantas em geral, gerando informaes que so utilizadas por muitos
pesquisadores da rea de melhoramento gentico [Cruz 2008].
Existe tambm o PROGENIE Sistema de Auxlio as Decises de Seleo e
Acasalamento em Programas de Melhoramento Gentico que permite o
aprimoramento das informaes obtidas em pesquisas de melhoramento gentico. Esse
sistema tem por objetivo auxiliar produtores na seleo de smens de bovinos de alta
qualidade, para estes serem usados em cruzamentos que resultem em animais com
maior ganho gentico [Borges, Borges e Ribeiro 2004].
Uma rea que carece de estudos a que est relacionada ao estudo de plantas
que so submetidas a fatores ambientais estressantes. Estes fatores podem ser de
natureza bitica: as pragas, os fitopatgenos e as ervas daninha; ou abitica: o calor, a
seca, o frio, a salinidade, o desequilbrio nutricional, o alagamento e os metais pesados.
Tais fatores so condies que influenciam no crescimento, na produtividade e na
reproduo das plantas, ocasionando prejuzos tanto para os consumidores como
tambm para os produtores. Levanta-se, ento o questionamento: como desenvolver um
software que auxilie os pesquisadores que muitas vezes tm que realizar clculos
manualmente que demandam muito tempo e possuem baixa confiabilidade nos
resultados obtidos? Para solucionar esta problemtica, o software SELECTRESS est
sendo criado com o objetivo de ajudar os melhoristas vegetais. Para tal fim, ele
executar clculos de ndices que auxiliam os pesquisadores a determinarem qual a
suscetibilidade dos vegetais a determinadas condies estressantes. O que diferencia o
SELECTRESS dos softwares existentes a especificidade da abordagem referente ao
melhoramento gentico de plantas que vivem nas condies estressantes citadas acima.
A realizao de tais clculos por esse sistema agilizar e automatizar a obteno dos
resultados, o que tornar os estudos menos dispendiosos e mais confiveis. Alm da
realizao dos clculos e da automatizao do sistema, o SELECTRESS exibir
informaes sobre o estresse ambiental ao qual a planta est submetida.
2. Modelagem e I mplementao
O SELECTRESS est sendo desenvolvido na plataforma Web em busca de torn-lo
mais acessvel em diferentes plataformas de sistemas operacionais e poder acompanhar
assim a tendncia da virtualizao dos aplicativos computacionais. A virtualizao
abordada por Pierre Lvy (2007) ao afirmar que um movimento geral de virtualizao
afeta hoje no apenas a informao e a comunicao, mas tambm os corpos, o
funcionamento econmico, os quadros coletivos da sensibilidade ou o exerccio da
inteligncia.
A implementao do sistema proposto tem como base a utilizao de uma
linguagem de programao Web, para tornar o contedo disponvel a toda sociedade,
X Encontro Anual de Computao - EnAComp 2013
380
principalmente aos pesquisadores da rea de melhoramento gentico vegetal, servindo
como mais uma ferramenta de apoio s suas pesquisas.
O mtodo de desenvolvimento utilizado o Scrum Solo, uma adaptao do
mtodo original Scrum. Ele dividido em artefatos como o Product backlog, que uma
lista de itens a serem desenvolvidos para um software de acordo com as prioridades do
cliente, o Sprint backlog que so tarefas concretas necessrias para a concluso de
partes do Product Backlog. O Sprint a definio de quanto trabalho ser necessrio
para implementar um item de backlog, que pode ser uma semana ou at um ms
[Schwaber 2009]. Neste mtodo adaptado foi utilizado sprints de uma semana, em que
no haver reunies dirias, apenas reunies semanais com a equipe de validao, que
so os possveis usurios do sistema.
A criao do SELECTRESS iniciou-se com o levantamento de requisitos que foi
realizado atravs de uma entrevista aberta junto a um pesquisador da rea de
melhoramento gentico de vegetais, com o intuito de obter dados relevantes para a
criao do Product backlog. Aps esta etapa, foram criados os Sprints backlog a fim de
definir os passos necessrios para a concluso dos itens do Product Backlog. Os Sprints
constituram a modelagem de cada Sprint backlog utilizando casos de usos e diagramas,
como por exemplo, o de classes e o de atividades, alm da implementao do backlog.
O Sprint mais relevante foi o do desenvolvimento da calculadora para realizar os
clculos dos ndices que influenciam no desenvolvimento da planta, o cerne do sistema.
Para tal fim foi utilizado funes construdas com a linguagem J avaScript. Um exemplo
simples de clculo que o sistema realizar mostrado a seguir:
Figura 1. Frmula de Produtividade Mdia
3. Resultados Esperados
A partir da modelagem e da criao do software SELECTRESS, espera-se que as
informaes relativas aos fatores que influenciam no crescimento e na produtividade
das plantas cultivadas em condies estressantes sejam fornecidas e disponibilizadas
para toda a comunidade cientfica e estudantes de reas afins, otimizando e auxiliando
cientistas na escolha de prognies mais adaptadas s condies as quais esto sujeitas.
Os clculos dos ndices que interferem na evoluo dos vegetais foram
automatizados, para agilizar os trabalhos dos pesquisadores e proporcionar uma maior
confiabilidade dos resultados obtidos, servindo de apoio na escolha das plantas mais
adaptadas s condies estressantes, como por exemplo, o calor, a deficincia mineral e
outros, que o homem e a natureza as submetem interferindo na vida til da planta.
PM PRODUTIVIDADE MDIA
PSFE =Produo do Gentipo Especfico em Condies NoEstressantes
PCFE =Produo do Gentipo Especfico em Condies Estressantes
=
!"#$!!"#$
!
[Rosielle e Hamblin 1978]
X Encontro Anual de Computao - EnAComp 2013
381
O SELECTRESS ser submetido a testes com pesquisadores e estudantes do
setor de melhoramento gentico vegetal. Alm disso, os usurios tero um espao
reservado para deixarem seus comentrios, proporcionando, portanto, um feedback
sobre a funcionalidade do sistema. Isso far com que relatrios e estatsticas de uso
possam ser gerados. Desta forma, ser possvel identificar se o sistema est realmente
automatizando os clculos e auxiliando melhoristas vegetais.
4. Concluso
Devido ao aumento da populao mundial e da consequente demanda por alimentos de
alta qualidade, pesquisadores e cientistas tm investido na rea de melhoramento
gentico com o intuito de selecionar indivduos geneticamente superiores. Para auxiliar
nesse empreendimento de fundamental importncia o desenvolvimento de softwares
que agilizam a realizao de etapas do estudo fornecendo uma maior confiabilidade aos
resultados obtidos. Um desses softwares o SELECTRESS.
Por estar sendo desenvolvido na plataforma Web, o SELECTRESS poder ser
acessado em qualquer sistema operacional e em qualquer localizao geogrfica sem ter
alteraes na sua segurana, fazendo com que o tema abordado seja amplamente
difundido.
Referncias
Borges, M., Borges, G. S. N. e Ribeiro, H. G. (2004) PROGENIE Sistema de auxlio
s decises de seleo e acasalamento em programas de melhoramento gentico., V
Simpsio da Sociedade Brasileira de Melhoramento Animal , Pirassununga SP.
Cruz, C. D. (2008) Programa Genes: diversidade gentica. Editora UFV, 1 Edio,
Viosa Minas Gerais.
Lvy, Pierre (2007) O que o virtual? / Pierre Lvy; traduo de Paulo Neves,
Editora 34, So Paulo.
Pressman, R. S. (2006) Engenharia de Software, McGraw-Hill, 6 edio.
Rosielle, A.A., and Hamblin, J . 1981. Theoretical Aspects of Selection for Yield in
Stress and Non-stress Environments. Crop Sci., 21: 943-946.
Sommerville, I. (2007) Engenharia de Software, Editora Pearson, 8 edio.
Schwaber, K. (2009). Agile project management with Scrum. Microsoft Press.
Universidade de So Paulo, (2010) Melhoramento Gentico. Instituto de Biocincias.
Web: http://felix.ib.usp.br/bib141/melhoramento_genetico.pdf

X Encontro Anual de Computao - EnAComp 2013
382
Modelagem Multifractal MWM Adaptativa para Tr afego de
Redes de Computadores
Bruno Henrique Pereira Goncalves
1
, Fl avio Henrique Teles Vieira
1
,
Victor Hugo Teles Costa
1
1
Escola de Engenharia El etrica, Mec anica e de Computac ao
Universidade Federal de Goi as (UFG) Goi ania, GO Brasil
brunohpg@gmail.com, flavio@eee.ufg.br, victor@vcosta.com.br
Abstract. In this paper, we propose an adaptive model based on the Multifractal
Wavelet Model (MWM). We show how the parameters of the MWM, that is a
particular form of the MWM, can be estimated in real-time through the proposed
approach that uses the Haar wavelet. We verify the performance of the modeling
comparing the statistics of real trafc series with statistics of synthetic series
generated by the model. We show that the proposed adaptive modeling provides
similar results to those of the original modeling.
Resumo. Neste artigo propomos uma modelagem adaptativa baseada no Mo-
delo Wavelet Multifractal (MWM-Multifractal Wavelet Model). Mostramos
como os par ametros do MWM, que e um caso particular do MWM, podem
ser estimados em tempo real atrav es da abordagem proposta onde utilizamos a
Wavelet de Haar. Vericamos o desempenho da modelagem comparando as es-
tatsticas de s eries reais de tr afego de redes de computadores com estatsticas de
series sint eticas geradas pelo modelo. Mostramos que a modelagem adaptativa
proposta apresenta resultados similares aos da modelagem original.
1. Introduc ao
O desempenho de redes de comunicac oes e alvo de pesquisas constantes, e muitos s ao
os trabalhos propondo modelos para descric ao do tr afego de redes [1][2][3][4]. T ecnicas
de an alise que proporcionam melhor compreens ao do comportamento do tr afego de redes
s ao muito importantes na concepc ao e otimizac ao de redes de comunicac oes [5]. Uma vez
obtido um modelo adequado para o tr afego, prossionais da area de redes podem predizer
o desempenho da rede por meio de t ecnicas analticas ou por meio de simulac ao e assim
proporem mecanismos mais ecientes para provis ao de QoS (Qualidade de Servico) e
controle dos uxos que trafegam pela rede.
Algumas caractersticas do tr afego de redes de computadores n ao s ao conside-
radas por modelos de tr afego mais simplicados, como modelos Markovianos. Muitos
estudos revelam a alta variablidade de uxos de redes, ou seja, o tr afego cont em rajadas
em v arias escalas de tempo, em contraste a suposic ao de que reajadas s o existem em es-
calas curtas de tempo [6][7]. Foi mostrado que estas incid encias de rajadas multiescalas
tem um impacto signicativo no desempenho das redes [6][7][8]. Modelos mais realistas
foram propostos, inicialmente caracterizando a autossimilaridade do tr afego[9]. O termo
autossimilaridade se refere normalmente a processos assintoticamente autossimilares de
X Encontro Anual de Computao - EnAComp 2013
383
segunda ordem ou monofractais [10]. O par ametro de Hurst mede o grau de autossimila-
ridade do processo. No entanto, para muitos processos de tr afego de rede, a energia em
escala dos coecientes wavelet ou os gr acos vari ancia-tempo normalmente n ao demons-
tram comportamento linear. Muitos destes processos t em comportamento fractal com
par ametro de Hurst variado em diferentes escalas de tempo pequenas [11], ou seja, s ao
multifractais. Introduzido por Mandelbrot [12], os modelos multifractais foram aplicados
amplamente a v arias areas cientcas. No campo de tr afego de redes, v arios modelos
foram propostos [1][3][4][13][14]. O MWM (Multifractal Wavelet Model)[14] e um mo-
delo multifractal que se destaca por aplicar a transformada wavelet ` a s erie de tr afego e
apresentar v arias alternativas de modelagem.
Muitas t ecnicas de modelagem de tr afego encontradas na literatura partem de um
conhecimento pr evio das caractersticas do tr afego. A modelagem do tr afego em tempo
real que se adapta ` as variac oes de caractersticas do uxo e muito interessante para tomada
de decis oes adequadas relativas ` a concepc ao e gest ao de redes.
Neste trabalho, propomos uma modelagem multifractal adaptativa baseada no mo-
delo MWM - derivada da modelagem MWM - e apresentamos o desempenho da mode-
lagem em func ao do n umero de amostras fornecidas ao modelo. A estimac ao adaptativa
dos par ametros do modelo permite que estes par ametros sejam adaptados de forma a
acompanhar as mudancas do tr afego a ser modelado. Com isso, diferente de um modelo
est atico, temos uma atualizac ao contnua do modelo, que pode ser utilizado em aplicac oes
que envolvam mudancas no comportamento do tr afego.
O artigo est a organizado da seguinte forma: na sec ao 2, abordamos os princpios
do funcionamento do modelo MWM; na sec ao 3 apresentamos nossa proposta de mo-
delo MWM adaptativo; na sec ao 4 apresentamos o desempenho da modelagem para
algumas s eries de tr afego reais; na sec ao 5 fazemos algumas considerac oes nais sobre o
trabalho.
2. MWM
O Multifractal Wavelet Model (MWM) e um modelo multifractal com grande destaque
na modelagem de tr afego de redes [14][15]. Ele e baseado em uma cascata multiplicativa
no domnio wavelet. A transformada wavelet[16][17] discreta e usada neste modelo de-
vido a sua capacidade de representac ao multiescala de sinais. O MWM apresenta mais
de uma modelagem para os coecientes wavelet e coecientes de escala, gerados pela
transformada wavelet. Uma dessas modelagem e o MWM.
O processo de modelagem do MWM realiza a transformada discreta de wavelet
de Haar para um n umero xo de camadas, J, da cascata multiplicativa binomial[4] para a
s erie completa em uma unica etapa. A partir dos coecientes wavelet (W
j,i
) e coecientes
de escala (U
j,i
) gerados, por camada j 0 j J 1, os par ametros MWM s ao
estimados.
Para se compreender o modelo MWM, devemos citar alguns conceitos da trans-
formada wavelet. A transformada wavelet discreta e usada para representac ao multiescala
de sinais da seguinte forma:
f(t) =

k
U
J
0
,k

J
0
,k
(t) +

j=J
0

k
W
j,k

j,k
(t) (1)
X Encontro Anual de Computao - EnAComp 2013
384
Figura 1. Func oes escala
j,k
(t) e wavelet de Haar
j,k
(t)
onde W
j,k
e U
J
0
,k
s ao respectivamente os coecientes wavelet e de escala, dados por:
W
j,k
=
_
f(t)
j,k
(t)dt (2)
e
U
j,k
=
_
f(t)
j,k
(t)dt (3)
A Figura 1 exibe as func oes escala
j,k
(t) e wavelet de Haar
j,k
(t) utilizadas
na representac ao multiescala do sinal. Pode-se demonstrar que os coecientes de escala
dados pela equac ao (3) podem ser recursivamente calculados utilizando a wavelet de Haar

j,k
(t) atrav es das seguintes equac oes:
U
j,2k
= 2
1/2
(U
j1,k
+ W
j1,k
) (4)
U
j,2k+1
= 2
1/2
(U
j1,k
W
j1,k
) (5)
Este processo recursivo e repetido at e que se atinja a resoluc ao desejada ou equi-
valentemente, at e que se obtenha o n umero desejado de amostras, formando uma arvore
bin aria de coecientes de escala. A Figura 2 apresenta a arvore bin aria formada para
obtenc ao dos coecientes de escala representada pelas equac oes (4) e (5). No modelo
MWM, a m de assegurar a n ao-negatividade da s erie de tr afego sint etico, determinadas
condic oes devem ser impostas a seus coecientes wavelet e de escala. Os coecientes U
j,k
representam a m edia local do processo em escalas e deslocamentos de tempo diferentes.
A condic ao X(t) 0, t, imp oe que, U
j,2k+1
0, j, k. Impondo a condic ao U
j,k
0,
j, k, pode-se armar que |W
j,k
| U
j,k
, j, k. Os coecientes wavelet s ao gerados a
partir da equac ao:
W
j,k
= U
j,k
A
j,k
(6)
onde A
j,k
e uma vari avel aleat oria cujo valor est a em [1, 1]. Al em disso, sup oe-se al-
gumas condic oes para esta vari avel: os multiplicadores A
j,k
s ao independentes e identi-
camente distribuidos (i.i.d) dentro de cada escala, s ao tamb em independentes de U
j,k
e
sim etricos em torno de zero. No caso particular do MWM, os multiplicadotes A
j,k
s ao
modelados segundo uma distribuic ao beta sim etrica[18]. A func ao densidade de probabi-
lidade da distribuic ao beta sim etrica e dada por:
f(x) =
(1 + x)
p1
(1 x)
p1
B(p, p)2
2p1
(7)
X Encontro Anual de Computao - EnAComp 2013
385
(a) (b)
Figura 2. Arvore bin aria dos coecientes de escala
onde B(, ) e a func ao beta e p e o par ametro que determina a forma da distribuic ao.
Os multiplicadores A
j,k
s ao escolhidos de forma a controlar as energias dos coecientes
wavelet. Assim, obt em-se as seguintes relac oes [14]:
n
j
=
E(W
2
j1,k
)
E(W
2
j,k
)
=
2p
j
+ 1
p
j1
+ 1
(8)
e
(2p
0
+ 1)E(W
2
0,0
) = E(U
2
0,0
) (9)
Pode-se notar que p
j
e usado para capturar o decaimento da energia dos coeci-
entes wavelet em escala, n
j
. O coeciente de escala U
0,0
na maior escala (mais na) e
modelado como sendo uma vari avel aleat oria normal com m edia,
c
, e a vari ancia,
2
c
,
iguais aos dos coecientes de escala dos uxos de tr afego reais.
O MWM relaciona o decaimento de energia dos coecientes wavelet n
j
por
camada j com os valores dos par ametros p
j
das distribuic oes beta sim etrica, utilizadas
para modelar os multiplicadores A
j,k
. Os par ametros p
k
s ao estimados, recursivamente,
por:
p
j
=
n
j
2
(p
j1
+ 1)
1
2
(10)
Considerando um tempo discreto k, tem-se que o processo discreto de tr afego
MWM X[k] e obtido pelos coecientes de escala U
j,k
na escala mais na j, da seguinte
forma:
X[k] = 2

j
2
U
j,k
(11)
O MWM pode precisamente modelar a depend encia de longa durac ao presente
nos dados de tr afego assim como capturar outras caractersticas multifractais. Entretanto,
uma desvantagem do MWM e o n umero de par ametros a serem estimados, que para isso,
faz uso de toda s erie de tr afego. Dessa forma, o MWM se torna inadequado a aplicac oes
em tempo real.
3. MWM Adaptativo
Nesta sec ao, propomos um modelo MWM Adaptativo. Ao inv es do processamento de
todos os dados da s erie de tr afego em uma unica etapa, propomos o processamento itera-
tivo em janelas de tamanho xo de 2
J
amostras, onde J e o n umero de camadas da cascata
X Encontro Anual de Computao - EnAComp 2013
386
modeladas. Apenas algumas vari aveis s ao armazenados no processo de modelagem, n ao
havendo a necessidade de guardar uma grande quantidade de dados sobre o uxo. Note
que as s eries de tr afego neste trabalho representam quantidade de bytes em determinados
instantes de tempo.
A modelagem proposta e feita da seguinte forma: Primeiramente as vari aveis do
modelo s ao iniciadas, ou seja, fazemos o segundo momento dos coecientes wavelet,
E[W
2
j,k
](0) = 0; m edia e vari ancia dos coecientes de escala
c
(0) = 0 e
2
c
(0) = 0;
contador de janela n = 0. E depois, a cada janela n ao sobreposta de 2
J
amostras:
Algoritmo 1: Algoritmo para Estimac ao Adaptativa dos Par ametros do
MWM
1
o
passo Realiza-se a transformada de Haar na janela de dados. A transformada de Haar
em cada janela de 2
J
amostras gera 2
j
coecientes wavelet - nomeados de

W
j,k
-
por camada j e um coeciente de escala - nomeado de

U
0,0
- na camada j = 0;
2
o
passo Atualiza-se o segundo momento E[W
2
j,k
] dos coecientes wavelet atr aves da
equac ao:
E[W
2
j,k
](n + 1) = E[W
2
j,k
](n)
_
n
n + 1
_
+

2
j
1
i=0

W
2
j,i
(n + 1)2
j
(12)
3
o
passo As taxas de energia n
j
s ao recalculadas segundo a equac ao (8) e os par ametros
p
j
s ao recalculados segundo a equac ao (10).
4
o
passo As estatsticas dos coecientes de escala s ao atualizados segundo as equac oes:

c
(n + 1) =
c
(n)
_
n
n + 1
_
+

U
0,0
n + 1
(13)

2
c
(n + 1) =
_

2
c
(n) + (
c
(n))
2
_
_
n
n + 1
_
(
c
(n + 1))
2
+
(

U
0,0
)
2
n + 1
(14)
O processo e repetido a cada nova janela de dados de 2
J
amostras, incrementando
o valor da vari avel n em 1. Assim, com o algoritmo adaptativo proposto obt em-se os
par ametros do modelo MWM que s ao: p
j
s,
c
e
2
c
.
4. Resultados
Para avaliar o desempenho da modelagem proposta, modelamos as s eries de tr afego
Internet/TCP-IP reais dec-pkt-3 e dec-pkt-4
1
, ambas agregadas em intervalos de 512ms.
Para a s erie dec-pkt-3, al em dos coecientes de escala, tr es camadas da cascata multipli-
cativa foram modeladas, ou seja, J = 3; e para a s erie dec-pkt-4, quatro camadas, J = 4.
As simulac oes foram realizadas utilizando-se um computador com processador Intel Core
i5 e 4GB de mem oria RAM.
A Figura 3(a) apresenta os valores dos par ametros beta sim etrico, p
j
s, para cada
camada j, j = 0, 1, 2, estimados para a s erie dec-pkt-3-512ms em func ao do n umero de
amostras da s erie. A s erie dec-pkt-3-512ms corresponde aos valores de quantidade de
1
http://ita.ee.lbl.gov/html/contrib/DEC-PKT.html
X Encontro Anual de Computao - EnAComp 2013
387
(a) (b)
Figura 3. Segundo momento dos coecientes wavelet e par ametros beta
sim etrico estimados para a s erie dec-pkt-3-512ms
bytes na escala de tempo de 512ms da s erie TCP-IP dec-pkt-3. A Figura 3(b) apresenta
o segundo momento dos coecientes wavelet, E[W
2
j,k
], para cada camada j, em func ao
do n umero de amostras. As Figuras 4(a) e 4(b) mostram, respectivamente, a evoluc ao
dos valores dos par ametros m edia,
c
, e vari ancia,
2
c
, dos coecientes de escala gera-
dos pela transformada wavelet para a s erie dec-pkt-3-512ms pelo n umero de amostras
da s erie. Pode-se observar pela Figura 4 que os valores de m edia,
c
, e vari ancia,
2
c
,
dos coecientes de escala tendem ` a medida que o n umero de amostras aumenta aos va-
lores obtidos com o MWM tradicional (on batch) cujos valores s ao
c
= 2.6161.10
5
e

2
c
= 2.3783.10
9
.
Comparamos os momentos das s eries reais com os momentos de s eries sint eticas
geradas a partir da modelagem em func ao do n umero de amostras. As curvas de momen-
tos geradas pela modelagem MWM n ao adaptativa se sobrep oe as curvas de momentos
geradas pela modelagem proposta para o mesmo n umero de amostras. Essas comparac oes
s ao apresentadas na Figura 5, para a s erie dec-pkt-4-512ms. O processo de sntese de uma
s erie sint etica a partir do modelo MWM est a descrito em [14].
As guras mostram que a modelagem MWM adaptativa consegue modelar es-
tatsticas de v arias ordens com grande precis ao. A maior parte dos par ametros tendem
a se estabilizarem com o aumento do n umero de amostras, mostrando que o algoritmo
conseguiu extrair as principais caractersticas da s erie antes de terminar o processamento
de todas as amostras.
5. Conclus ao
Associando estimac ao adaptativa de par ametros ao MWM conseguimos modelar es-
tatsticas de v arias ordens do tr afego de rede em tempo real, adaptando os par ametros
do modelo ` as variac oes do uxo de tr afego. Os resultados apresentados mostram que
o modelo adaptativo descreve t ao bem quanto ao MWM on batch as estatsticas dos
uxos de tr afego reais considerados.
Devido a tal resultado de desempenho, o modelo adaptativo proposto pode ser
X Encontro Anual de Computao - EnAComp 2013
388
(a) (b)
Figura 4. Par ametros M edia e Vari ancia dos Coecientes de Escala da s erie dec-
pkt-3-512ms
aplicado a v arias t ecnicas de controle do uxo de tr afego de redes de computadores, apri-
morando tais t ecnicas.
Refer encias
[1] Krishna, M. P., Gadre, V. M. e Dessay, U. B. (2003) Multifractal based network trafc
modeling. Kluwer Academic Publishers.
[2] Lee, I. W. C. e Fapojuwo, A. O. (2005) Stochastic processes for computer network
trafc modelling. Computer Communications, vol. 29, pp.1-23.
[3] Vieira, F. H. T. e Ling, L. L. (2008) Modelagemde Tr afego de Redes Utilizando Cascata
Multifractal Generalizada. RITA, Vol.15, No. 2.
[4] Rocha, F. G. C. e Vieira, F. H. T. (2009) Modelagem de tr afego de vdeo MPEG-4
utilizando cascata multifractal com distribuic ao autorregressiva dos multiplicadores.
I2TS, Florian opolis, SC.
[5] Frost, V. and Melamed, B. (1994) Trafc modeling for telecommunications networks.
IEEE Communications Magazine 32:3, 70-81.
[6] Leland, W. E., Taqqu, M. S., Willinger, W., Wilson, D. V. (1994) On the self-similar na-
ture of Ethernet trafc (extended version). IEEE/ACM Transactions on Networking,
v. 2, n. 1, pp.1-15.
[7] Paxson, V., Floyd, S. (1995) Wide-area trafc: The failure of Poisson modeling.
IEEE/ACM Transactions on Networking, v.3, n.3, pp.226-244.
[8] Erramilli, A., Narayan, O., Willinger, W. (1996) Experimental Queueing Analysis with
Long-Range Dependent Packet Trafc. IEEE/ACM Trans. on Net., v. 4, n.2, Abril.
[9] Liebeherr, J., Patek, S. D., Burchard, A. (2003) Statistical per-ow service bounds in
a network with aggregate provisioning. IEEE INFOCOM., v. 3, 30 Marco a 3 Abril,
pp.1680-1690.
[10] Park, K., Willinger ,W. (2000) Self-similar Network Trafc and Performance Evalua-
tion, John Wiley and Sons, New York.
X Encontro Anual de Computao - EnAComp 2013
389
Figura 5. Comparac ao entre momentos da s erie dec-pkt-4-512ms e momentos da
s erie a partir do modelo
[11] Li, Q., Mills, D.(1999) Investigating the Scaling Behavior, Crossover and Anti-
persistence of Internet Packet Delay Dynamics. Globecom 3,pp. 1843-1852.
[12] A. Fisher, L. Calvet, and B. B. Mandelbrot (1997) Multifractality of Deutschmark/US
Dollar Exchanges Rates. Yale University.
[13] S. Moln ar, T. D. Dang, I. Maricza (2002) On the queue tail asymptotics for general
multifractal trafc, In Proc., IFIP Networking 2002, Pisa, Italia.
[14] Riedi, R. H., Crouse, M. S., Ribeiro, V. J. e Baraniuk, R. G. (1999) A multifractal wa-
velet model with application to network trafc. IEEE Trans. on Information Theory,
vol. 45, no.3, pp. 992-1018.
[15] Ribeiro, V.J., Riedi, R. H., Crouse, M. S., Baraniuk, R. G. (2000) Multiscale queueing
analysis of long-range dependent trafc. Proc. IEEE Infocom.
[16] Vieira, F. H. T., Costa, V. H. T., Goncalves, B. H. P. (2013) Neural Network Ba-
sed Approaches for Network Trafc Prediction. Articial Intelligence, Evolutionary
Computing and Metaheuristics, pp. 657-684
[17] Chui, C. K. (1992) An Introduction to Wavelets. San Diego: Academic.
[18] Spiegel, M. R.; Liu, J. (2011) Manual de F ormulas e Tabelas Matem aticas. Col.
Schaum - 3
a
Ed, Makron Books.
X Encontro Anual de Computao - EnAComp 2013
390
Um Sistema Mvel de Compras Rpido e Seguro via QR Code e
Vitrine Virtual
Eduardo R. Costa, Karin S. Komati
Coordenadoria de Informtica, Instituto Federal do Esprito Santo (IFES) Campus Serra
Rodovia ES-010, Km 6.5 29.164-231 Serra ES Brasil
erigamonte@gmail.com,kkomati@ifes.edu.br
Abstract. This work aims to present a sales system for mobile devices that is
safe and agile. Particularly, the issue of safety was a major concern of this
work. Our proposed solution is based on the use of QR Code to direct the user
to the web store through their mobile devices; a strategy that we call virtual
showcase. Unfortunately, this strategy potentially exposes the user of our
system to different kinds of attack. We propose the use of symmetric key
cryptography as a way to prevent these attacks. In this way we expect to
guarantee, by the use of cryptography, that the information read from the QR
Code is indeed valid.
Resumo. O objetivo deste trabalho apresentar um sistema de compras para
dispositivos mveis que seja rpido e seguro. Em particular, o quesito
segurana foi a maior preocupao do trabalho. A soluo proposta se baseia
na utilizao de QR Code para direcionar os usurios, atravs de seus
dispositivos mveis, para o site de venda, estratgia que chamamos de vitrine
virtual. Entretanto, esta estratgia expe os usurios do sistema a diversos
tipos de ataques. Propomos o uso de criptografia baseada em chaves
simtricas como uma forma de evitar tais ataques. Desta forma buscamos
garantir, atravs do uso de criptografia, que a informao lida do QR Code
seja vlida.
1. Introduo
O comrcio eletrnico mobile (m-commerce) est ganhando cada vez mais espao.
Segundo o instituto de pesquisas IDC [G1, 2012], at o ano de 2017 as compras feitas
pelo celular chegaro a um montante de US$ 1 trilho. A maior parte das compras inclui
msicas, filmes e aplicativos, e recentemente, mercadorias, como: eletrnicos, roupas e
alimentos. No entanto, muitas vezes a navegao em diversas pginas pode ser
comprometida pelo tamanho da tela, ou as pessoas no possuem a destreza de digitar
textos extensos nestes aparelhos. Para facilitar e agilizar o uso dos celulares, temos a
tecnologia denominada de QR Code (Quick Response Code), que foi desenvolvido pela
Denso Wave, lanado em 1994 e padronizado com o ISO/IEC 18004 [Denso Wave
Corporation, 2012].
O QR Code uma imagem, um cdigo de barras 2D, em duas cores, que pode
ser lido e interpretado pelos smartphones. Quando a informao contida pelo QR Code
for uma URL, direciona-se automaticamente para o endereo fornecido na internet,
tornando o acesso fcil e rpido [Komati, Costa e Andrade, 2012]. Uma caracterstica
visvel a presena de trs quadrados nos vrtices do cdigo, chamados de padres de
localizao. Esses padres de deteco de posio garantem a leitura estvel, evitando
os efeitos negativos da interferncia de fundo e possibilitando a leitura de 360 em alta
X Encontro Anual de Computao - EnAComp 2013
391
velocidade. Enquanto os cdigos de barras convencionais armazenam no mximo 107
dgitos, o QR Code pode armazenar at 7089 dgitos.
Nesse contexto, o objetivo deste trabalho apresentar um sistema de compras, o
Mobile Market, rpido e seguro, utilizando a tecnologia QR Code e a ideia de vitrine
virtual. Uma vitrine virtual pode ser uma revista, folheto ou encarte, que em geral
distribudo gratuitamente ou; pode estar na forma de cartazes dispostos em lugares
pblicos. O importante que cada produto tenha um QR Code associado. A Figura 1
mostra o funcionamento do processo de compra: a vitrine virtual nesse caso um
encarte, onde o usurio aponta a cmera do celular para o smbolo QR Code do produto
que deseja comprar. O aplicativo faz a leitura do cdigo, decodifica-o, e comunica-se
com o site, e vai enchendo o carrinho de compras.

Figura 1. Funcionamento de leitura do mdulo Mobile, mostrando a leitura do
QR Code e o acesso do produto no sistema da loja.
J existem solues similares no mercado como a da Multinacional Tesco
[Estado, 2012]. Esta empresa modificou a estrutura do QR Code original, pois os
cdigos apresentados mostram um padro com 4 estruturas nos cantos do QR Code ao
invs das 3 comumente usadas, programas genricos de leitura de cdigo QR Code no
conseguem ler o contedo destes cdigos. A grande motivao do uso de um cdigo
modificado se deve aos problemas quanto segurana. Seres humanos no conseguem
diferenciar entre imagens de QR Codes vlidos ou aquelas que foram maliciosamente
alterados. Um incidente aconteceu na Rssia [Wasserman, 2011], onde um QR Code
adulterado enganou os consumidores que pensavam estar baixando um aplicativo
Android chamado Jimm. O cdigo continha um malware que enviou cdigos SMS para
um nmero de telefone que cobrava por cada mensagem enviada.
Assim, um diferencial deste trabalho a incluso da informao gravada no QR
Code de forma cifrada. Diferente da soluo da Tesco que alterou a estrutura do QR
Code, este trabalho prope criptografar a informao e manter a estrutura padro do QR
Code. Com o uso de criptografia de chave simtrica, garante-se que o QR Code lido
exatamente o mesmo QR Code gerado pela mesma empresa que est vendendo os
produtos.
2. Soluo Proposta: Mobile Market
O sistema ter dois mdulos: a parte Desktop, e o aplicativo Mobile. A parte Desktop
X Encontro Anual de Computao - EnAComp 2013
392
responsvel pela criao do QR Code para estar associado a cada produto na vitrine
virtual. O QR Code dever conter as seguintes informaes: URL do produto no site
para localizar o produto desejado no site da loja, a data de validade do preo que se
encontra na vitrine virtual e o preo tal qual na vitrine.
Uma das funcionalidades do mdulo Desktop a encriptao das informaes e
criao dos QR Codes, que sero associados na vitrine para a identificao no sistema
do supermercado. Esse mdulo foi feito em Java usando a API QRGen [Gullaksen,
2012] para a gerao do QR Code. Os dados do QR Code estaro cifrados usando a
tcnica de criptografia de chave simtrica [cert.br, 2012], conforme a parte esquerda da
Figura 2, denominada de Gerao.

Figura 2. Fluxograma que mostra o passo a passo do processo de encriptao
e desencriptao da informao contida no QR Code.
O aplicativo Mobile faz a leitura do cdigo, decodifica-o, e comunica-se com o
site, conseguindo as informaes disponibilidade (ou quantidade em estoque), uma
pequena imagem do produto e o preo atual do site. De forma fcil, o usurio poder
identificar quantos produtos ele deseja comprar ou mesmo se deseja retirar algum item
do carrinho de compras. Ao finalizar o pedido, o usurio informar o endereo de
entrega e uma forma de pagamento. Se a data de validade do preo, constante no QR
Code, estiver expirada, o sistema ir alertar o usurio de que o produto teve seu preo
reajustado e qual o novo preo de acordo com o site.
Como o aplicativo Mobile que far a decodificao da informao gravada no
QR Code e os dados no QR Code estaro cifrados, o usurio s conseguir fazer as
compras se usar o mdulo Mobile fornecido, conforme a parte direita da Figura 2,
denominada de Leitura. H o inconveniente de se fazer o download deste aplicativo
no celular, mas ser apenas uma vez.
O mdulo Mobile foi desenvolvido na linguagem Java, utiliza a API Zxing
[ZXING, 2012], que um cdigo aberto de leitura de cdigos de barras, incluindo o QR
Code. Alm disso, o modulo Mobile utiliza a API Mobile Payment [PayPal, 2012], que
uma biblioteca muito simples para que vendedores possam integrar pagamentos
diretamente de suas aplicaes.
3. Consideraes Finais
Apresentamos o sistema Mobile Market, que um sistema de compras mvel rpido e
seguro que utiliza as tecnologias QR Code e chaves simtricas. Uma vantagem deste
sistema o uso de criptografia de chave simtrica, que uma tcnica simples e
Informao
Criptografia Descriptografia
Informao
Gerao Leitura
chave chave
X Encontro Anual de Computao - EnAComp 2013
393
computacionalmente eficiente, para garantir que o QR Code lido exatamente o mesmo
QR Code gerado pela empresa que est vendendo os produtos, futuramente planeja-se
testar o software com outras tcnicas de criptografia, como a de chave assimtrica e
com uma que um misto entre a tcnica anterior e a simtrica.
De acordo com Kieseberg et. al.(2010), possvel se prevenir ataques
processos automatizados e ataques interao humana. Ataques processos
automatizados so: injeo SQL, injeo de comandos e fraudes. Os ataques interao
humana so: phishing and pharming, fraudes, leitor de software malicioso e engenharia
social. Um exemplo de uma ao mal intencionada seria o de substituir ou sobrepor o
QR Code original na vitrine (fraude), e com isso, redirecionar o usurio para outro site,
que no o original. Todos os tipos de ataque se fiam na possibilidade de se criar QR
Code com contedo malicioso. Na soluo Mobile Market, todos os tipos de ataque
so prevenidos via criptografia/descriptografia da informao, a no ser que o autor do
ataque tenha conhecimento da chave.
Esta soluo ainda est em desenvolvimento e j se efetua toda a operao de
compra, no entanto, necessita de um aperfeioamento da interface com o usurio
visando uma melhor atratividade. Para estender ainda mais as possibilidades, planeja-se
futuramente, desenvolver o sistema Mobile para as plataformas Windows Phone e iOS.
Referncias
cert.br (2012). Cartiha de Segurana para Internet. http://cartilha.cert.br/criptografia/,
Junho.
Denso Wave Incorporate. (2012) About QRCode.com.
http://www.qrcode.com/en/index.html, Outubro.
G1 (2012). Compras com celulares chegaro a US$ 1 trilho em 2017, diz pesquisa.
http://g1.globo.com/tecnologia/noticia/2012/11/compras-com-celulares-chegarao-us-
1-trilhao-em-2017-diz-pesquisa.html, Novembro.
Estado. (2012) "A estratgia dos grandes: rede de supermercados inova ao colocar
prateleira virtual no metr". http://pme.estadao.com.br/noticias/noticias,a-estrategia-
dos-grandes-rede-de-supermercados-inova-ao-colocar-prateleira-virtual-no-
metro,1708,0.htm, Abril.
Gullaksen, K. (2012). QRGen. http://kenglxn.github.com/QRGen, Outubro.
Kieseberg, P.; Leithner, M.; Mulazzani, M.; Munroe, L.; Schrittwieser, S.; Sinha, M. e
Weippl, E. (2010) Qr Code Security. In: Proc. of The International Workshop on
Trustworthy Ubiquitous Computing (TwUC10), Paris, France.
Komati, K. S.; Costa, E. R. e Andrade, J. O. (2012). "Gerenciamento de Informaes
com QR Code e Cdigo Hash Criptogrfico". Em: Anais do XIX Simpsio de
Engenharia de Produo (SIMPEP), 2012, Bauru.
PAYPAL. (2012). Mobile Payment Libraries. https://www.paypal-
brasil.com.br/x/xblog/2012/02/15/mobile-payment-libraries, Fevereiro.
Wasserman, T. (2011) "New Security Threat: Infected QR Codes",
http://mashable.com/2011/10/20/qr-code-security-threat/, October.
ZXING. (2012) ZXing - Zebra Crossing. http://code.google.com/p/zxing, Outubro.
X Encontro Anual de Computao - EnAComp 2013
394
Resoluc ao de PPLs atrav es dos m etodos Simplex e Simplex em
Duas Fases
Leandro Pedrosa Rodrigues
1
, Verssimo Guimar aes J unior
1
1
Departamento de Ci encia da Computac ao Universidade Federal de Goi as (UFG)
Catal ao GO Brasil
pedrosalpr@gmail.com, verissimoguimaraes@yahoo.com.br
Abstract. Linear Programming Issues demand a high level of knowledge to
solve them in practice. To minimize the trouble enforced by Simplex Methods
of resolution it has been made a prototype in order to help understand the algo-
rithms, showing step by step to obtain the optimal solution. The article discussed
about Linear Programming and the Simplex Method of two types that are imple-
mented in the prototype. The results for the models showed the efciency of the
tool, which helps complement and learning their methods.
Resumo. Problemas de Programac ao Linear exigem um grau de conhecimento
para resolv e-los na pr atica. Para amenizar a diculdade que e imposta pelos
M etodos Simplex para sua resoluc ao foi criado um prot otipo no intuito de au-
xiliar no entendimento dos algoritmos, mostrando passo-a-passo a obtenc ao da
soluc ao otima. No artigo e abordado sobre a Programac ao Linear e os dois
tipos de M etodo Simplex que s ao aplicados no prot otipo. Os resultados encon-
trados para os modelos mostraram a eci encia da ferramenta, o que auxiliam e
complementam o aprendizado dos respectivos m etodos.
1. Introduc ao
A Programac ao Linear (PL) e um planejamento de atividades sobre func oes lineares, o
qual tem como objetivo obter o resultado otimo em um determinado problema chamado
de Problema de Programac ao Linear (PPL) [Santos 2000]. Para alcancar tal objetivo
v arios m etodos podem ser utilizados. Dentre eles, podemos citar, o m etodo gr aco, os
m etodos simplex e alguns m etodos computacionais j a existentes como SOLVER (Micro-
soft EXCEL R ), AIMMS R (Paragon Decision Technology), LINDO R - Linear, INte-
ractive, and Discrete Optimizer (LINDO Systems Inc.) [Filho 2004] e o PROLIN (Uni-
versidade Federal de Vicosa - UFV).
O objetivo deste trabalho e apresentar um prot otipo de uma ferramenta Web para
resolver os PPLs atrav es dos M etodos Simplex. A diferenca com relac ao ao SOLVER e o
AIMMS, al em de ser gratuito, e que essa ferramenta ir a mostrar passo-a-passo, cada fase
da sua resoluc ao, desde a formulac ao at e a soluc ao do problema. O LINDO e o PROLIN
que tamb em s ao gratuitos n ao disponibilizam esse passo-a-passo.
A import ancia desse material did atico-pedag ogico ser a dedicada ao ensino das
disciplinas de Pesquisa Operacional e suas variac oes dentro dos cursos de graduac ao e
p os-graduac ao da UFG (Universidade Federal de Goi as) e qualquer outra IES (Instituic ao
de Ensino Superior) que tiver interesse no assunto abordado, visto que essa ferramenta
tamb em ir a facilitar o aprendizado e o entendimento dos algoritmos Simplex com um
X Encontro Anual de Computao - EnAComp 2013
395
n umero maior de vari aveis e restric oes do problema, que dependendo desse n umero de
vari aveis, se torna invi avel a explicac ao e o acompanhamento dentro de uma sala de aula.
2. Conceitos B asicos
Nesta sec ao ser ao apresentados os conceitos b asicos para a formulac ao do prot otipo, entre
eles, Programac ao Linear, M etodo Simplex e M etodo Simplex em Duas Fases.
2.1. Programac ao Linear
Programac ao Linear e uma das t ecnicas da Pesquisa Operacional das mais utilizadas em
se tratando de problemas de otimizac ao. Os problemas de Programac ao Linear buscam
a distribuic ao eciente de recursos limitados para atender um determinado objetivo, em
geral, maximizar lucros ou minimizar custos. Em se tratando de PL, esse objetivo e
expresso atrav es de uma func ao linear, denominada de Func ao Objetivo.
2.2. M etodo Simplex
Segundo [Andrade 2009], s ao necess arios 3 passos para iniciar o processo do m etodo
simplex: a formulac ao do problema, montagem do modelo e a soluc ao do modelo.
A formulac ao do problema consiste em montar o problema de acordo com queira
se produzir, se adequando pelas limitac oes. A montagem do modelo est a na construc ao
do modelo matem atico, determinando a func ao objetivo com suas respectivas restric oes.
A soluc ao do modelo e a resoluc ao do problema para se encontrar o valor
otimo. Para resolver o problema, s ao necess arios realizar os procedimentos descritos
em [Andrade 2009] para problemas de maximizac ao.
2.3. M etodo Simplex em Duas Fases
Este m etodo e utilizado quando as restric oes s ao do tipo () ou (=). Para que a soluc ao
b asica inicial n ao seja negativa, e preciso adicionar vari aveis articiais em cada uma des-
sas restric oes, as quais n ao ter ao signicado algum para o problema real, por em s ao
necess arias para a resoluc ao do PPL. Esta resoluc ao utiliza o mesmo procedimento do
m etodo Simplex, mas s ao divididas em duas fases. A primeira fase consiste em encontrar
a soluc ao b asica inicial. Ap os essa fase, as vari aveis articiais s ao eliminadas do quadro
simplex dando incio a segunda fase [Andrade 2009].
3. Prot otipo
O prot otipo foi criado a partir da linguagem PHP (Personal Home Page), que e uma
linguagem de script open source de uso geral [Group 2001]. Al em do PHP, foram uti-
lizados CSS (Cascading Style Sheets), o qual e uma linguagem para estilos que dene
o layout de documentos HTML [HTML.net ]. Em termos de armazenamento de dados
n ao foi utilizado nenhum banco de dados sendo as informac oes armazenadas no servidor
enquanto aplicac ao est a sendo executada. A escolha da linguagem para a implementac ao
do prot otipo foi devida a sua disponibilidade na Web e por sua interoperabilidade da pla-
taforma do usu ario.
Para encontrar a soluc ao de um PPL foi desenvolvido a ferramenta Web, RePPL,
que tem por objetivo encontrar a soluc ao otima do PPL atrav es dos M etodos Simplex e
X Encontro Anual de Computao - EnAComp 2013
396
Simplex em Duas Fases, podendo o usu ario escolher passo-a-passo ou diretamente. A
escolha passo-a-passo mostra desde a entrada do conjunto de equac oes e inequac oes, a
introduc ao das vari aveis de folga (restric oes ) ou de excesso (restric oes ) e articiais
(para o m etodo Simplex em Duas Fases e restric oes e =), a montagem do quadro sim-
plex inicial, quais s ao as vari aveis que devem entrar e sair da base e as transformac oes do
quadro simplex de tal forma que as colunas das vari aveis que est ao na base se tornem um
vetor identidade. Se a escolha for por executar diretamente, os c alculos ser ao realizados
implicitamente e apenas ser a mostrado o resultado nal.
O prot otipo atualmente est a hospedado no stio www.leandropedrosa.com.
br/reppl/ e em funcionamento para utilizac ao. Ser a realizado testes com os alunos
que est ao matriculados nos cursos de Ci encia da Computac ao e Administrac ao da UFG
(Campus Catal ao) nas disciplinas de Pesquisa Operacional e M etodos e Modelos Deter-
minsticos em Administrac ao. Em seguida ser a apresentado um question ario para medir
o ndice de satisfac ao do prot otipo. As perguntas do question ario ser ao medidas entre 0
(zero) e 10 (dez) no aspectos de interface com o usu ario e sobre a execuc ao do prot otipo.
Sobre a Interface ser ao avaliados: O layout (interface) da ferramenta e agrad avel?
Os ttulos, subttulos e textos est ao legveis de serem lidos? Os ttulos empregados nos
menus reetem de forma objetiva o contexto em quest ao? Os formul arios disponveis nas
telas do prot otipo foram de f acil entendimento? O vocabul ario empregado no prot otipo
lhe parece agrad avel ao seu entendimento? Qual o grau de satisfac ao que voc e atribui ao
design da interface do prot otipo?
Sobre a execuc ao do prot otipo a avaliac ao ser a: No seu ponto de vista, o prot otipo
manteve seu objetivo de auxiliar nos ensinamentos dos M etodos Simplex e Simplex em
Duas Fases? Em relac ao ` a explicac ao de cada passo, foi de f acil entendimento? Voc e j a
utilizou outros m etodos computacionais para a resoluc ao de PPLs? Se j a utilizou, alguns
deles mostravam a resoluc ao passo-a-passo? Em termos pedag ogicos, voc e retornaria
ao prot otipo para resolver outros PPL? Voc e indicaria aos seus colegas, a m de estudo,
a utilizac ao desse prot otipo para a resoluc ao de um PPL? Qual sua nota nal para essa
ferramenta computacional?
4. Resultado
Para demonstrar o funcionamento do prot otipo na opc ao Simplex foi utilizado o seguinte
exemplo:
Maximizar Z = 10x
1
+ 8x
2
+ 9x
3
+ 7x
4
Sujeito a:
x
1
70
x
2
60
x
3
40
x
4
20
5x
1
+ 4x
2
+ 8x
3
+ 9x
4
800
2x
1
+ 6x
2
+ 8x
4
200
2x
1
+ 4x
2
+ 2x
3
+ 8x
4
12000
X Encontro Anual de Computao - EnAComp 2013
397
7x
1
+ 3x
2
+ 7x
4
1600
x
1
0, x
2
0, x
3
0, x
4
0
Ap os a execuc ao do prot otipo RePPL, a soluc ao obtida foi x
1
= 70, F
2
= 50, x
3
=
40, F
4
= 20, F
5
= 90, x
2
= 10, F
7
= 11740, F
8
= 1080 e com Z = 1140.
Para a opc ao Simplex em Duas Fases foi utilizado o seguinte exemplo:
Minimizar Z = 16x
1
+ 12x
2
+ 5x
3
Sujeito a:
8x
1
+ 4x
2
+ 4x
3
16
4x
1
+ 6x
2
12
x
1
0, x
2
0, x
3
0
Executando novamente o prot otipo, a soluc ao obtida foi x
2
= 2, x
3
= 2 e com
Z = 34.
5. Conclus ao
Este artigo mostrou a criac ao de um prot otipo para a resoluc ao direta ou passo-a-passo de
um PPL atrav es dos m etodos Simplex e Simplex em Duas Fases, trazendo uma alternativa
para encontrar a soluc ao otima de modelos de otimizac ao. Entendendo a diculdade dos
alunos em compreender os m etodos e tamb em de n ao encontrar outros softwares que
mostrassem passo-a-passo a obtenc ao da soluc ao otima de um PPL, o prot otipo RePPL
conseguiu encontrar a soluc ao otima para os modelos apresentados. Vale salientar que
essa ferramenta n ao substitui a abordagem e o ensinamento na sua parte escrita, mas
auxilia nos seus esclarecimentos.
Com uma interface amig avel, foi possvel perceber que o resultado obtido propor-
ciona um aprendizado e conhecimento sobre os m etodos.
Esperando que esse trabalho traga contribuic ao n ao apenas para estudantes da
UFG, mas para todos aqueles interessados no assunto abordado, ca como trabalhos fu-
turos a implementac ao dos m etodos Dual Simplex e Big M no prot otipo RePPL.
Refer encias
[Andrade 2009] Andrade, E. L. (2009). Introduc ao ` a pesquisa operacional: m etodos e
modelos para an alise de decis oes. LTC.
[Filho 2004] Filho, V. J. M. F. (2004). O uso de software de modelagem aimms na soluc ao
de problemas de programac ao matem atica. Pesquisa Operacional, 24(1):197210.
[Group 2001] Group, T. P. (2001). O que e php? url: http://php.net/manual/pt BR/intro-
whatis.php Acessado em 22 de fevereiro de 2013.
[HTML.net ] HTML.net. Css. http://pt-br.html.net/tutorials/css/lesson1.php Acessado em
22 de fevereiro de 2013.
[Santos 2000] Santos, M. P. (2000). Programac ao linear. url:
http://www.mpsantos.com.br/plinear/arquivos/plinear.pdf Acessado em 26 de de-
zembro de 2012.
X Encontro Anual de Computao - EnAComp 2013
398
Gerenciamento de melhorias de informaes utilizando
Data Warehouse
Reni Elisa da Silva Pontes
1
, Fabiano Pontes Pereira da Silva
2
, Douglas Willer
Ferrari Luz Vilela
3
, Gilvani Alves
4
1
Pro-reitoria de Ensino - Instituto Federal de Educao Cincia e Tecnologia de Mato
Grosso (IFMT) Cuiab, MT Brasil

2
Diretoria de Gesto de Tecnologia da Informao - Instituto Federal de Educao.
Cincia e Tecnologia de Mato Grosso (IFMT) Cuiab, MT Brasil
3
Coordenao de Tecnologia da Informao - Instituto Federal de Educao. Cincia e
Tecnologia de Mato Grosso (IFMT) Campus Bela Vista - Cuiab, MT Brasil
4
Coordenao de Tecnologia da Informao - Instituto Federal de Educao. Cincia e
Tecnologia de Mato Grosso (IFMT) Campus Bela Vista - Cuiab, MT Brasil
reni.pontes@ifmt.edu.br, fabiano.silva@ifmt.edu.br,
douglas.vilela@blv.ifmt.edu.br, gilvani.alves@blv.ifmt.edu.br
Abstract. The data warehouse, when applied to meet the related bussiness area
needs, enables organizations to integrate data from several different systems and
modules and to create opportunities linked to business. This article presents a study
aiming to clarify concepts and applicability related to data warehouse. It proposes
requirements that contribute to the management of information improvement using
the data warehouse.
Resumo. O Data Warehouse possibilita que as organizaes integrem dados de
diversos sistemas e mdulos distintos, e criem oportunidades ligadas a negcios
quando aplicado de maneira a atender a rea relacionada. Este artigo apresenta uma
pesquisa com o objetivo de esclarecer conceitos e aplicabilidade relacionados a Data
Warehouse, buscando encontrar requisitos que contribuam para o gerenciamento de
melhorias de informaes utilizando o Data Warehouse.
1 Introduo
Nos dias atuais a busca pelas informaes que sejam precisas e que esteja
alinhada a melhoria na qualidade dessas informaes, faz com que busquemos maneiras
para atender essa necessidade. As informaes devem possuir qualidade e os resultados
devem ser alinhados no sentido de integrar a necessidade de uma determinada realidade.
De acordo com Favaretto (2001) a integrao das funes de cada informao pode
introduzir melhorias significativas.
Neste artigo a relevncia do tema percebe-se pela evoluo de informaes que
vem aumentando gradativamente e de uma maneira dinmica na aplicabilidade de
desempenho, custos das tecnologias de informao, recursos de informtica disponveis,
capacidade de processamento e crescimento na facilidade de usabilidade.
Este artigo objetiva encontrar respostas baseadas em artigos para responder aos
questionamentos sobre o gerenciamento de melhorias de informaes utilizando Data
Warehouse. Nesses questionamentos sero respondidas as seguintes perguntas: (1) como
podemos tratar diversos dados equivalentes? (2) como fazer para padronizar as
terminologias? (3) at onde ou como a informao pode ser democratizada? (4) como
X Encontro Anual de Computao - EnAComp 2013
399
agilizar o processo de deciso? (5) como aperfeioar tempo dos profissionais
envolvidos?.
Para responder aos questionamentos sero referenciadas algumas literaturas
relacionadas a Data Warehouse, onde possam ser identificados requisitos referentes a
melhorias das informaes e que possam responder aos questionamentos descritos.
A pesquisa constitui-se de uma reviso bibliogrfica atravs do portal capes e
scholar, bem como a construo de um mapa mental e em seguida uma tabela onde
possibilitar serem identificados visualmente alguns requisitos para o gerenciamento de
melhorias de informaes utilizando Data Warehouse.
2. Trabalhos Relacionados
Inmon et al. (2002) afirmam que o ambiente criado pela utilizao do conceito
de Data Warehouse permite que as empresas integrem dados de diversos sistemas e
mdulos distintos, e criem oportunidades de negcio a partir de sua utilizao.
Nessa perspectiva, o Data Warehouse um banco de dados que armazena dados
utilizados diariamente nas organizaes que so de potencial interesse aos tomadores de
decises. Segundo (TAURION, 1997), ao reunir informaes dispersas por diversos
bancos de dados e plataformas distintas, o Data Warehouse permite que sejam feitas
anlises bastante eficazes, transformando dados esparsos em informaes estratgicas
antes inacessveis ou subaproveitadas. A figura 1 apresenta uma estrutura de Data
Warehouse.
Figura 1 - Estrutura de Data Warehouse.
Fonte: Adaptado de (INMON, 2002)
X Encontro Anual de Computao - EnAComp 2013
400
Nos dias atuais os sistemas precisam determinar a melhor forma de extrair
informaes para o que est sendo chamado de "anlise de dados", isto , a capacidade
de compreender e analisar as informaes contidas nos sistemas de software de
aplicao, conforme (LANGER, 2012). As responsabilidades dos gestores em fornecer
esse tipo de informao so consideradas crescentes.
3. Metodologia
descrito nesta seo soluo encontradas para requisitos do Data Warehouse
alinhados a melhorias das informaes. A pesquisa se constituiu de anlises de diversas
literaturas.
3.1. Seleo das literaturas relacionadas a melhoria de Data Warehouse
Para a seleo das literaturas relacionadas, fez-se necessrio a construo de um
mapa mental, conforme figura 2, utilizando a ferramenta Xmind, onde foi possvel
organizar os artigos e relacion-los ao tema proposto, denominado gerenciamento de
melhorias de informaes utilizando Data Warehouse.
X Encontro Anual de Computao - EnAComp 2013
401

Figura 2 Visualizao de literaturas relacionadas.

X Encontro Anual de Computao - EnAComp 2013
402

Nos artigos apresentados no mapa mental as melhorias encontradas foram
classificadas e alinhadas em melhorias que correspondia em cada rea, surgindo assim
aquela que pudesse responder com afinidade as perguntas elaboradas. Cada pergunta foi
representada por uma determinao ora denominada P1, P2, P3, P4, e terminando em
P5, conforme abaixo:
P1 - Como podemos tratar diversos dados equivalentes?
P2 - Como fazer para padronizar as terminologias?
P3 - At onde ou como a informao pode ser democratizada?
P4 - Como agilizar o processo de deciso?
P5 - Como aperfeioar tempo dos profissionais envolvidos?
Dessa forma, as perguntas estruturadas no mapa mental, bem como as
respostas correspondentes, foram aplicadas consequentemente atravs de um
contexto de instrumento avaliativo dos artigos, onde ocorreu atravs de palavras-
chave, resumo, dentre outros informaes, melhorias e resultados sobre a
estrutura apresentada nos mesmos para um dado conjunto de conceitos.
3.2. Deteco e classificao das literaturas relacionadas
Aps a deteco e classificao das melhorias de acordo com cada artigo
pesquisado, buscou-se atravs de uma tabela acrescentar as perguntas aos artigos que
possui a melhoria que justifique a determinada pergunta, obtendo assim as possveis
respostas, de acordo com a tabela a seguir:
Tabela 1 Distribuio dos artigos e melhorias encontradas
Pergunta Artigo Melhoria encontrada Referncias
P2, P3,
P4, P5
Data Warehouse:
modelo de
auditoria e
controlo interno
Implementar um sistema que assegura a
otimizao da gesto do DW; alinhar o
processo de controle interno do DW
com as melhores prticas
internacionalmente difundidas e
amplamente aceitas.
Rui
Almeida
Santos,
2009.
P1, P2,
P3, P4,
P5
Uma abordagem
de Data
Warehouse para
gesto de mtricas
de software com
anlise de valor
agregado
Modelo analtico que oferece suporte
anlise e monitorao segundo a tcnica
de Earned Value Analysis (EVA) para
monitorar custos e prazos dos projetos;
exigncias do CMMI quanto medio
e anlise, e monitorao e controle de
projetos de software; com a realizao
dos testes foi possvel verificar a
adequao do programa de mtricas
para monitorao de projetos e a
eficcia do processo de extrao,
transformao e carga dos dados,
permitindo a carga incremental dos
dados no Data Warehouse.
Graziele
Marques
Mazuco,
2011.
P2, P3,
P5
Melhoria de
processos de
suporte
aplicao numa
empresa de
Tableau de Bord (TDB), instrumento de
informao rpida, para apoio de
tomada de deciso; Balanced Scorecard
(BSC) assume-se como uma ferramenta
vocacionada para a
Joo
Ribeirinho
Soares,
2011.
X Encontro Anual de Computao - EnAComp 2013
403

Pergunta Artigo Melhoria encontrada Referncias
servios de
telecomunicaes
monitorizao da atividade.
P1, P2,
P3, P4,
P5
Implementao de
um mdulo de
minerao de
dados em um ERP
Desenvolvido um algoritmo de
minerao de dados baseado no
processo KDD utilizando tarefas de
associao de registros para tornar
visveis informaes j existentes no
banco de dados; custo de investimento;
sistema implementado usando banco de
dados.
Luiz Paulo
Rech
Guindani;
Christiano
Cadon,
2011.
P1, P2,
P3, P4,
P5
Gesto de
processos e
tecnologia de
informao: em
busca da agilidade
em servio
Consolidao; combinao das
tecnologias de BPM, SOA e Web-
Services.
Saulo
Barbar de
Oliveira,
Rosa
Amelita S
Menezes da
Motta,
Altemar
Sales de
Oliveira,
2012.
P2, P3,
P5
Estudo de
viabilidade de uma
plataforma de
baixo custo para
Data Warehouse
Realizar benchmarks que atestem o
desempenho de uma plataforma de
baixo custo utilizando SGBD
PostgreSQL como repositrio de um
Data Warehouse e sistema operacional
GNU/Linux.
Eduardo
Cunha de
Almeida,
2004
P1, P3,
P4, P5
Apoio da
tecnologia da
informao e
comunicao
como estratgia
competitiva na
gesto da cadeia
de suprimentos
Por meio da disponilibilizao da
informao de forma ampla, as
empresas podero interagir na troca de
informaes estratgicas em tempo real.






Adilson
Torres1;
Clvis Luis
Padoze2;
Silvio
Roberto
Igncio
Pires, 2012.
P1, P2,
P3, P4,
P5
Alinhamento
Estratgico da
tecnologia de
informao e
inteligncia
competitiva
Bases cientficas consistentes; suporte
funcionalidade estratgica da TI;
mtodos e ferramentas gerenciais de
gesto da informao e da inteligncia
competitiva; aprimoramento conceitual;
sincronismo entre a TI e as estratgias
corporativas.
Leonel
Cezar
Rodrigues;
Marcelo
Jorge
Fernandez,
2011.
P1, P2,
P4, P5
O conceito de
Data Warehousing
aplicado gesto
de informaes em
bibliotecas
Anlise de dados de carter gerencial.
Maurcio
Ferreira
Santana,
2011.
X Encontro Anual de Computao - EnAComp 2013
404

Pergunta Artigo Melhoria encontrada Referncias
P2, P3,
P4, P5
Estudo
comparativo entre
o desempenho de
objeto relacional e
banco de dados
orientado em Data
Warehousing
Anlise dos benefcios de bancos de
dados orientado a objeto sobre a base
de dados relacional convencional em
Data Warehousing.
Pushpa
Suri;
Meenakshi
Sharma,
2011.
P1, P3,
P4, P5
Estratgia ideal
para melhorar o
desempenho Data
Warehouse
Estratgia para melhorar desempenho
do Data Warehouse minimizando o
tempo de resposta.
Fahad
Sultan;
Abdul Aziz,
2010.
Baseado nas leituras dos artigos e criao da tabela percebeu-se atravs dessas
diversas literaturas selecionadas o alinhamento relacionado com cada artigo de acordo
com os questionamentos antes realizados. Cada literatura teve contribuio importante
baseada em cada melhoria que cada artigo apresentou.
4. Concluses e Trabalhos Futuros
O objetivo deste trabalho foi atingido com a obteno de evidncias que
possibilitaram a elaborao de um agrupamento dos principais requisitos relacionados
Data Warehouse. Porm, uma reviso crtica mais extensa pode revelar requisitos e
correlaes sobre melhorias de informaes.
O valor de Data Warehouse no est em colecionar dados e sim saber gerenciar
os dados para serem transformados em informaes teis. No entanto, sistemas de
computao como o Data Warehouse, permitir maior agilidade no processo de seleo
e integrao das informaes.
Para tanto, destacam-se ainda a quantidade de artigos pesquisados, que pode ser
ampliada, e a falta de definies nicas acerca dos requisitos encontrados. Por isso,
sugere-se a criao de uma ontologia que possa suprir essa lacuna, possibilitando
avanar nas comparaes para obter uma base de estudo mais slida.
Como estudo futuro, sugere-se uma pesquisa especfica para cada pergunta
realizada neste artigo, atravs de ontologias.

Referncias
Almeida, E. C. (2004), Estudo de viabilidade de uma plataforma de baixo custo para
Data Warehouse. Dissertao (Mestrado em Informtica) Universidade Federal do
Paran, Curitiba.
Denzin, Normam K.; Lincoln, Yvonna S. (2006), O Planejamento da pesquisa
qualitativa. Teorias e Abordagens. Porto Alegre: Artmed.
Favaretto, F. (2001), Uma contribuio ao processo de gesto da produo pelo uso da
coleta automtica de dados de cho de fbrica. Tese (Doutorado em Engenharia
Mecnica). Escola de Engenharia de So Carlos, Universidade de So Paulo, So
Carlos.
GIL, Antonio Carlos. (2002), Como elaborar projetos de pesquisa. 4. ed. So Paulo:
Atlas, p.175.
X Encontro Anual de Computao - EnAComp 2013
405

Guindani, L. P. R.; Cadon, C. (2012), Implementao de um mdulo de minerao de
dados em um ERP.
Inmon, W., Terderman, R., Imhoff, C. (2001), Data Warehousing: como transformar
informaes em oportunidades de negcios. So Paulo, Brasil: Editora Berkely.
Kimball, R. (1998), Data Warehouse tool kit tcnicas para a construo de data
warehouses dimensionais. So Paulo: Makron Books.
Langer, A. M. (2012), Guide to software development. Springer, p. 225-259.
Mazuco, G. M. (2011), Uma abordagem de Data Warehouse para gesto de mtricas de
software com anlise de valor agregado. Dissertao (Graduao em Bacharelado
em Cincia da Computao) Pontifcia Universidade Catlica do Rio Grande do
Sul, Porto Alegre.
Oliveira, S. B. et al. (2012), Gesto de processos e tecnologia de informao: em busca
da agilidade em servio. Revista eletrnica de gesto organizacional, vol. 10, n. 1, p.
172-194.
Rodrigues, L. C.; Fernandez, M. J. (2011), Alinhamento estratgico da tecnologia de
informao e inteligncia competitiva. Revista inteligncia competitiva, vol. 1, n. 3,
p. 328-344.
Santos, R. A. (2009), Data Warehouse: modelo de auditoria e controlo interno.
Dissertao (Mestrado em Sistemas Integrados de Apoio Deciso (Business
Intelligence) Instituto Universitrio de Lisboa.
Santana, M. F. (2011), O conceito de Data Warehousing aplicado gesto de
informaes em bibliotecas. Revista digital de biblioteconomia e cincia da
informao, vol. 8, n. 2, p. 131-134.
Soares, J. R. (2011), Melhoria de processos de suporte aplicao numa empresa de
servios de telecomunicaes. Dissertao (Mestrado em Engenharia Mecnica)
Faculdade de Engenharia da Universidade do Porto.
Suri, P.; Sharma, M. M. (2011), A comparative study between the performance of
relational & object oriented database in Data Warehousing. International Journal
of Database Management Systems, vol. 3, n. 2.
Sultan, F.; Aziz, A. (2010), Ideal strategy to improve data warehouse performance.
International journal on computer science and engineering, vol. 2, n. 2, p. 409-415.
Taurion, C. (1998), Data Warehouse: vale a pena gastar milhes investindo em um?
Developers Magazine, ano 2, n. 18.
Torres, A. et al. (2012), Apoio da tecnologia da informao e comunicao como
estratgia competitiva na gesto da cadeia de suprimentos. Revista Gesto
Industrial, vol. 8, n. 1, p. 22-37.

X Encontro Anual de Computao - EnAComp 2013
406
Application programming interface Library para Algoritmo
Gentico com Operador Transgnico
Fabrcio Alves Rodrigues
2
, Stfanne Alves de Souza
1
, Renan Vincius Aranha
1
Ana Paula Freitas Vilela Boaventura
1
1
Curso de Cincia da Computao - Universidade Federal de Gois/Jata (UFG)
BR364 Km 192, Setor Industrial, Jata - GO - Brasil
2
Ps-Graduao em Cincia da Computao - Universidade Federal de So Carlos (UFSCar)
Rodovia Washington Lus, km 235 - SP-310 So Carlos - So Paulo - Brasil
fabricio1989@gmail.com, tefi70@hotmail.com
Abstract. This paper presents features and operating mode API (Application
programming interface) of the genetic algorithm(GA) of Holland in 1975, which
is based on the natural selection process proposed by Charles Darwin with the
aim of get results favorable to complex problems. The API Also addresses a new
genetic operator proposed in 2011 for Amaral and Hruschka, which is a genetic
algorithm with a transgenic operator. Such change allows the population be
diversied, and have got faster and favorable results to the problem. The API
has been tested to mining data from a dataset from car trafc. The result was a
mining with a textit tness 100 % and the API has correctly executed the steps
described by AG.
Resumo. Este artigo apresenta caractersticas e o modo de funcionamento da
API(Application programming interface) do algoritmo gentico (AG) de Hol-
land em 1975, que baseia-se no processo de seleo natural proposto por Char-
les Darwin com o intuito de se obter resultados favorveis para problemas com-
plexos. A API Ainda aborda a proposta feita em 2011 por Amaral e Hruschka,
que propuseram um algoritmo gentico com um operador transgnico. Tal alte-
rao permite que a populao seja diversicada, alm de se obter mais rpido
resultado favorvel ao problema. A API foi testada para minerar dados de um
dataset referente a trafego de carros. O resultado foi uma minerao com um
tness de 100% e a API executou corretamente os passos descritos pelo AG.
1. Introduo
Nos ltimos anos, as heursticas tm tido destaque como uma das abordagens mais pro-
missoras para soluo de problemas de programao inteira e combinatrios. Dentre as
tcnicas heursticas mais sosticadas, existem as chamadas meta-heursticas, com varias
aplicaes nas diferentes reas da cincia [Rodrigues et al. 2004]. As principais meta-
heursticas que apresentam grande potencial para encontrar solues de problemas so:
Busca Tabu (BT) [Glover 1977], Ant Colony Optimization (ACO) [Dorigo et al. 1996],
GRASP (Greedy Randomized Adaptive Search Procedure) [Feo and Resende 1989], Par-
ticle Swarm Optimization (PSO) [Kennedy and Eberhart 1995] e Algoritmo Gentico
(AG) [Holland 1975].
X Encontro Anual de Computao - EnAComp 2013
407
AG tem sido muito usado para resolver problemas combinatrios e, em 2011, os
autores [Amaral and Hruschka 2011] propuseram um algoritmo gentico com um ope-
rador transgnico. O presente trabalho tem como objetivo descrever uma Application
programming interface Library (API) do Algoritmo Gentico com operador transgnico
para validar a API ser feita uma minerao de dados.O presente trabalho tem como
objetivo descrever um Application programming interface Library (API) do Algoritmo
Gentico com operador transgnico. Para validar a API, ser demonstrado um exemplo
utilizando-se a minerao de dados. Na seo 2, ser descrito o funcionamento do algo-
ritmo gentico e do operador transgnico, enquanto a seo 3 conter a descrio da API
do AG com operador transgnico. Por ltimo, sero apresentados resultados e concluses.
2. Algoritmo Gentico e Operador Transgnico
Os Algoritmos Genticos so tcnicas de busca que utilizam o processo da seleo natural
proposto por Charles Darwin. Os AGs inicialmente foram descritos por John Holland
[Holland 1975] e so bastante utilizados em problemas combinatrios.
Os Ags utilizam operadores para fazer sua busca, os principais operadores so
seleo de indivduos para o crossover, o mais simples o mtodo da roleta no qual cada
indivduo da populao recebe uma fatia da roleta proporcional ao (Fitness) do indivduo.
Em seguida feito o sorteio aleatrio desses indivduos e os selecionados faram parte do
operador de crossover [Man et al. 2001].
Crossover a troca de genes entre os indivduos selecionados. Um ponto de cru-
zamento escolhido aleatoriamente e a partir dele feita a troca gentica dos indivduos.
A informaes genticas anteriores a este ponto de um dos pais ligado as informaes
posteriores do outro pai gerando a cada cruzamento dois novos lhos, que so colocados
na populao auxiliar [Rezende 2005]. O operador mutao necessrio para que a po-
pulao seja diversicada, permite chegar mais rpido ao objetivo da busca e para fugir
dos mnimos locais, alterando aleatoriamente um ou mais genes dos indivduos gerados
pelo cruzamento.
Neste trabalho ser usando a estrategia mais equilibrada para reinsero, essa es-
trategia parece melhorar o desempenho do AG, ela chamada de melhores pais e -
lhos onde so escolhidos N/2 melhores indivduos geradores (pais) e N/2 melhores in-
divduos criados (Filhos) no qual so inseridos na populao gerando uma nova gerao
[Man et al. 2001].
Em 2011 foi proposto por Laurence [Amaral and Hruschka 2011] um algoritmo
gentico com um operador transgnico, esse novo operador para o algoritmo gentico
foi inspirado pela engenharia gentica, onde permite manipular o material gentico de
indivduos adicionando caractersticas que acredita-se ser a mais importante. Essa mesma
atividade que feita por engenheiros genticos foi introduzido no AG, assim identicasse
qual o gene ou genes mais importante ento esses genes dos N melhores indivduos so
passados para M outros inidivduos da populao.
3. Application programming interface Library Transgenic Genetic Algorithm
A API Java proposta neste artigo segue os princpios descritos por Holland em seu traba-
lho e tambm contm o operador transgnico descritos por Amaral e Hruschka.
X Encontro Anual de Computao - EnAComp 2013
408
A API apresenta duas classes (Population e GeneticAlgorithm), duas interfaces
(GeneImpl e IndividualImpl). A classe Population contm sete mtodos, so eles: ge-
nerateIndividuals() que gera os indivduos na populao, greaterIndividual() que re-
torna o individuo com maior tness, smallestIndividual() que retorna o individuo com
menor tness, getIndividual(int pos) retorna o individuo da populao que est na po-
sio requirida, getIndividuals() retorna todos os indivduos da populao, setIndivi-
dual(IndividualInpl ind, int pos) modica o individuo na posio requirida pelo individuo
passado por parmetro e setIndividuals(IndividualInpl ind[]) modica toda a populao
pelo vetor de indivduos passado no parmetro. A classe Population ser utilizada pela
outra classe chamada GeneticAlgorithm.
A classe GeneticAlgorithm contm os operadores descritos na seo 2, tambm
apresenta o mtodo bestIndividual() que retorna o melhor resultado encontrado pelo Al-
goritmo Gentico, para utilizar essa classe requer que o usurio passe tamanho da popu-
lao, um exemplo de individuo implementado, j que o mesmo somente uma interface
Java, tambm necessrio passar uma long que corresponde a Seed, caso o problema ne-
cessite executar mais de uma vez usando a mesma populao inicial e um valor booleano
onde (True: se o problema e de maximizao e False se for de minimizao).
O gene e o individuo da API so representados por interface, pois os genes e
indivduos so diferentes para cada problema que o usurio pretenda resolver. A in-
terface GeneImpl contm os seguintes mtodos que os usurios tero que implementar,
makeMutation() onde deve ser implementado como ser feita a mutao no gene, crea-
teGene(Random seed) ou createGene() mtodo no qual ser gerado o valor aleatrio do
gene, G getValue() retorna o valor do gene (G representa o tipo genrico da varivel valor
deve ser dito na implementao do gene, exemplo public GeneImpl<Integer>) e setVa-
lue(G valor) que deve modicar o valor do gene.
A interface IndividualImpl contm os seguintes mtodos que os usurios tero que
implementar createGenes(Random seed) esse mtodo deve gerar os N genes que repre-
senta o individuo do problema ser resolvido, getGenes() deve retornar todos os genes
que representa o individuo, setGenes(GeneImpl genes[]) dever modicar todos os genes
do individuo pelo vetor que ser recebido por parmetro, getGene(int pos) dever retor-
nar o gene que est na posio requirida, setGene(int pos, GeneImpl g) dever modicar
o gene na posio requirida pelo gene g passado pelo parmetro, getFitness() dever
calcular o valor do tness e retorna-lo e Mutation(int pos) que dever requisitar a classe
Gene, que deve ser implementada pelo usurio, a execuo de uma mutao no gene que
representado na posio pos.
4. Resultados e Concluses
Para validar a API, foi feita uma minerao de dados em um dataset que contm
dados de transito, que pode ser encontrado na abaTools and Files do link www.
fabricioarodrigues.wix.com/researches. Neste dataset requer encontrar
uma regra IF-THEN que melhor represente se houve ou no congestionamento com
base nos dados do dataset. A avaliao (Fitness) do AG foi formulado como sendo
TP 0.5 +FP 0.5, onde TP so registros classicados corretamente e FP so registros
que foram ditos como no pertencentes classe avaliada e realmente no pertenciam. O
AG foi executado com taxa de cruzamento de 100% e taxa de mutao de 2%. Eram
X Encontro Anual de Computao - EnAComp 2013
409
sorteados 2 indivduos para cruzamento e foi utilizado a reinsero balanceada, tambm
conhecida como melhores pais e lhos. Os genes e cromossomo usados neste artigo so
os mesmo do trabalho [Cunha et al. 2012].
A API executou corretamente cada passo descrito por Holland e com o operador
transgnico descrito por [Amaral and Hruschka 2011]. Apresentou ainda um resultado
satisfatrio, com resultados de tness de 100% foi executadas 180 geraes o AG foi exe-
cutado 100 vezes e as regras encontradas foram IF Fluxo >= 51 THEN Congestionado e
IF Fluxo < 50 THEN No Congestionado. Pode se concluir que, com o uso de uma API
do AG transgnico, como o descrito nesse trabalho, pode-se obter resultados satisfatrios
que so capazes de ajudar pesquisadores a encontrar resultados para problemas combina-
trios. Como trabalhos futuros iremos implementar outras funcionalidades de seleo e
cruzamento, pois usamos aqui somente uma das estrategias para os mesmos. Ainda, ser
feita a documentao apropriada para a API descrita neste artigo.
Referncias
Al-Hinai, N. and ElMekkawy, T. (2011). Robust and stable exible job shop scheduling
with random machine breakdowns using a hybrid genetic algorithm. International
Journal of Production Economics, 132(2):279291.
Amaral, L. and Hruschka, E. (2011). Transgenic, an operator for evolutionary algorithms.
In Evolutionary Computation (CEC), 2011 IEEE Congress on, pages 1308 1314.
Cunha, L. C., Rodrigues, F. A., and de Souza Alencar, W. (2012). Semforo inteligente
com lgica fuzzy baseado na minerao de dados por algoritmo gentico transgnico.
In EATI 2012.
Dorigo, M., Maniezzo, V., and Colorni, A. (1996). Ant system: optimization by a colony
of cooperating agents. Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE
Transactions on, 26(1):2941.
Feo, T. and Resende, M. (1989). A probabilistic heuristic for a computationally difcult
set covering problem. Operations research letters, 8(2):6771.
Glover, F. (1977). Heuristics for integer programming using surrogate constraints. Deci-
sion Sciences, 8(1):156166.
Holland, J. H. (1975). Adaptation in Natural and Articial Systems. University of Michi-
gan Press, Ann Arbor, MI, USA.
Kennedy, J. and Eberhart, R. (1995). Particle swarm optimization. In Neural Networks,
1995. Proceedings., IEEE International Conference on, volume 4, pages 19421948.
IEEE.
Man, K. F., Tang, K. S., and Kwong, S. (2001). Genetic Algorithms: Concepts and
Designs. Spring, 3 edition.
Rezende, S. O. (2005). Sistemas inteligentes: fundamentos e aplicaes. Manole Ltda,
Barueri,SP.
Rodrigues, F., Leite, H., Santos, H., de Souza, A., and Silva, G. (2004). Metaheurstica al-
goritmo gentico para soluo de problemas de planejamiento orestal com restries
de integridade. Revista rvore, 28(2):233245.
X Encontro Anual de Computao - EnAComp 2013
410

Você também pode gostar