Escolar Documentos
Profissional Documentos
Cultura Documentos
i
ii
ATAS DA CONFERÊNCIA IADIS IBERO-AMERICANA
21 – 23 NOVEMBRO, 2013
Organizada por
IADIS
International Association for Development of the Information Society
Co-organizada pela
iii
Copyright 2013
IADIS Press
Todos os direitos reservados
Este trabalho está sujeito a direitos de autor. Todos os direitos são reservados, no todo ou em parte,
mais especificamente os direitos de tradução, reimpressão, reutilização de ilustrações, re-citação,
emissão, reprodução em microfilme ou de qualquer outra forma, e armazenamento em bases de
dados. A permissão para utilização deverá ser sempre obtida da IADIS Press. Por favor contactar
secretariat@iadis.org.
ISBN: 978-972-8939-96-0
iv
ÍNDICE
PREFÁCIO ix
COMITÉ DO PROGRAMA xi
PALESTRAS CONVIDADAS xv
ARTIGOS LONGOS
v
UTILIZANDO TÉCNICAS DE ALGORITMO GENÉTICO PARA RESOLUÇÃO 71
DO PROBLEMA DE GERAÇÃO DE GRADE HORÁRIA PARA ENFERMARIAS
Ricardo Soares Bôaventura, Bruno Queiroz Pinto e Keiji Yamanaka
APLICAÇÃO DE RACIOCÍNIO BASEADO EM CASOS A SISTEMAS DE SUPORTE 79
DE TI – HELP DESK
Aldair Hoepers, Max Pereira e Ademar Schmitz
SCHISTOSYSTEM – INTELIGÊNCIA ARTIFICAL PARA DIAGNÓSTICO 87
AUTOMÁTICO POR IMAGENS
André Caetano Alves Firmo, Allison Dantas de Oliveira, Julyana Viegas Campos,
Jones Albuquerque e Constança Barbosa
EXTRAÇÃO E SELEÇÃO DE CARACTERÍSTICAS PARA DIAGNÓSTICO 95
AUTOMÁTICO DE DEFEITOS EM MÁQUINAS ROTATÓRIAS
Francisco de Assis Boldt, Thomas Walter Rauber e Flávio Miguel Varejão
AGRUPAMENTO FUZZY E REGRESSÃO LOGÍSTICA APLICADOS NA ANÁLISE 103
DE TRAUMATISMO CRANIOENCEFÁLICO GRAVE
Merisandra Côrtes de Mattos Garcia, Evandro Tostes Martins e Fernando Mendes de Azevedo
MODELO DE SISTEMA DE MONITORAMENTO PARA ESTRUTURAS DE AÇO 111
UTILIZADOS EM CONSTRUÇÃO CIVIL
Diogo Lucena Gomes de Melo, Eneias Bezerra da Silva Junior, Gilmar Gonçalves de Brito,
Paulo Sérgio Brandão do Nascimento, Mêuser Jorge Silva Valença e Sérgio Murilo Maciel
Fernandes
MIF-RC: UMA METODOLOGIA INTEGRADA PARA APLICAÇÃO DE FORENSE 119
COMPUTACIONAL EM LOGS DE E-MAIL
Toni Escobar, Cristiane Ellwanger, Cristina Paludo Santos, Alessandro Freitas de Oliveira
e Paulo Ricardo Baptista Betencourt
SEGURANÇA DA INFORMAÇÃO: UMA INVESTIGAÇÃO NA PERSPECTIVA 127
DO USUÁRIO DE SISTEMAS DE INFORMAÇÃO CORPORATIVOS EM UMA
ORGANIZAÇÃO DE SAÚDE
Luciana Emirena dos Santos Carneiro e Maurício Barcellos Almeida
BUSCA EXPLORATÓRIA: UM ESTUDO DE CASO SOBRE DESENVOLVIMENTO 135
E AVALIAÇÃO DE UM SISTEMA
Deyvid Heric de Moraes, Luciano Tadeu Esteves Pansanato, Douglas Felipe Pereira e
Diogo Arenhart Marinho
RFDroid: SOLUÇÃO PARA AUXÍLIO À MOBILIDADE DE PESSOAS COM 143
DEFICIÊNCIA VISUAL EM AMBIENTES INDOOR
Cristina Paludo Santos, Cristiane Ellwanger, Denilson Rodrigues da Silva e Thomaz Colpo de Lima
FERRAMENTA DE APOIO AO ENSINO DE PROGRAMAÇÃO COM INTRODUÇÃO 151
A ORIENTAÇÃO A OBJETOS
Eduardo Guedes Carvalho, Gabriel Viana Guedes e Luiz Alfredo Soares Garcindo
AVALIAÇÃO HEURÍSTICA PARA GROUPWARES MÓVEIS: UM ESTUDO DE 158
CASO UTILIZANDO UM AUDIENCE RESPONSE SYSTEM
Márcio J. Mantau, Luciana P. Araújo, Jucilane R. Citadin e Carla D.M. Berkenbrock
vi
UM SERVIÇO DE GERENCIAMENTO DE QUALIDADE DE CONTEXTO EM REDES 166
DE SENSORES SEM FIO
Joéver Silva Hoffman, Isaac S. A. Pereira, Sérgio Teixeira, Janaína Scal Duia Castello,
José Gonçalves Pereira Filho e Patricia Dockhorn Costa
VALIDAÇÃO DE DEPENDÊNCIAS FUNCIONAIS CONDICIONAIS EM DADOS 175
XML: UMA ABORDAGEM BASEADA EM GRAMÁTICA DE ATRIBUTOS
Aryadne Guardieiro Pereira Rezende e Maria Adriana Vidigal de Lima
ESCALONAMENTO DE TAREFAS EM FERRAMENTA DE SEQUENCIAMENTO 183
GENÉTICO
Jéfer Benedett Dörr, Guilherme Galante e Luis Carlos E. de Bona
ARTIGOS CURTOS
vii
SISTEMA RECONFIGURÁVEL PARA AQUISIÇÃO DE SINAIS DE 237
ELETROCARDIOGRAMA
Marcel Seiji Kay e Fábio Iaione
ARTIGO DE REFLEXÃO
POSTERS
AUTHOR INDEX
viii
PREFÁCIO
ix
Como sabemos, a organização de uma conferência requer o esforço de muitas pessoas.
Gostaríamos de agradecer a todos os membros do Comité de Programa pelo trabalho
realizado na revisão e seleção dos artigos que constam destas atas.
x
COMITÉ DO PROGRAMA
CO-CHAIRS
Cristiano Costa, Universidade do Vale do Rio dos Sinos (UNISINOS), Brasil
Pedro Isaías, Universidade Aberta, Portugal
MEMBROS DO COMITÉ
Alejandra Garrido, Universidad Nacional de La Plata, Argentina
Alejandro Oliveros, Universidad Nacional De Tres De Febrero, Argentina
Alex Sandro Roschildt Pinto, Unesp De Rio Preto, Brasil
Alvaro De La Ossa, Colaboratorio Nacional De Computacion Avanzada, Costa Rica
Alvaro Luis Bustamante, Universidad Carlos III de Madrid, Espanha
Amaury Antonio De Castro Jr, Universidade Federal de Mato Grosso do Sul, Brasil
Ana Barbosa, Universidade Do Extremo Sul Catarinense, Brasil
Ana Winck, Universidade Federal de Santa Maria, Brasil
Ana Carolina Bertoletti De Marchi, Universidade de Passo Fundo, Brasil
Ana Paula Ferreira, Unipampa, Brasil
Anderson Luiz Fernandes Perez, Universidade Federal De Santa Catarina, Brasil
Angel Perles Ivars, Universitat Politecnica De Valencia, Espanha
Anibal Zaldivar Colado, Universidad Autonoma De Sinaloa, Mexico
Antonio Marti Campoy, Universitat Politecnica De Valencia, Espanha
Antonio Rito-Silva, Universidade Tecnica De Lisboa, Portugal
Arturo Camacho, Universidad De Costa Rica, Costa Rica
Asier Perallos, Universidad De Deusto, Espanha
Autran Macedo, Universidade Federal de Uberlandia, Brasil
Begoña C. Arrue Ulles, Universidad De Sevilla, Espanha
Bernardo Rocha, Universidade Federal De Juiz De Fora, Brasil
Carla Osthoff, Laboratorio Nacional de Computação Cientifica, Brasil
Carlos Holbig, Universidade de Passo Fundo, Brasil
Carlos Travieso, Universidad De Las Palmas De Gran Canaria, Espanha
Carlos Montez, Universidade Federal De Santa Catarina, Brasil
Carlos Valencio, Universidade Estadual Paulista Julio De Mesquita F, Brasil
Carolina Tripp Barba, Universidad Politecnica De Cataluna, Espanha
Celso Costa, Pontificia Universidade Catolica do Rio Grande do, Brasil
Claudio Toledo, Universidade De Sã£o Paulo, Brasil
Clayton Reginaldo Pereira, Universidade Federal de São Carlos, Brasil
Cristian Cechinel, Ufpel, Brasil
Cristian Garcia Bauza, Universidad Nacional Del Centro De La Provincia De, Argentina
Daniel Mesquita, Universidade Federal De Uberlandia, Brasil
Diego Carvalho, Centro Federal de Educação Tecnológica Celso Suckow da Fonseca,
Brasil
xi
Diego Cazorla, Universidad De Castilla-la Mancha, Espanha
Eduardo Alchieri, Universidade De Brasilia, Brasil
Edward Moreno, Ufs, Brasil
Elder Cirilo, Pontificia Universidade Catolica Do Rio De Janeiro, Brasil
Eliane Pozzebon, Universidade Federal De Santa Catarina, Brasil
Elisangela Silva Da Cunha Rodrigues, Universidade Federal de Mato Grosso do Sul, Brasil
Esteban Robles Luna, Lifia - Unlp, Argentina
Eugenio Tamura, Pontificia Universidad Javeriana, Colombia
Fabiano Baldo, Universidade Do Estado De Santa Catarina, Brasil
Fabio Iaione, Facom/ufms, Brasil
Fabricio Augusto Rodrigues, Universidade Federal de Mato Grosso do Sul, Brasil
Fernando Jose Braz, Instituto Federal De Catarinense, Brasil
Fernando Osorio, Universidade De São Paulo, Brasil
Francisco Jose Seron, Universidad De Zaragoza, Espanha
Francisco Rodriguez Ballester, Universidad Politecnica De Valencia, Espanha
Geraldo Zafalon, Unesp, Brasil
Giliane Bernardi, Universidade Federal De Santa Maria, Brasil
Giovanni Cordeiro Barroso, Universidade Federal do Ceara, Brasil
Gustavo Boroni, Conicet-uncpba-pladema, Argentina
Gustavo Pessin, Usp/icmc, Brasil
Heitor S. Ramos, Universidade Federal de Alagoas, Brasil
Henrique Freitas, Pontificia Universidade Catolica de Minas Gerais, Brasil
Herbert Hoeger, Universidad Los Andes, Venezuela
Ignacio Larrabide, Upf, Espanha
Javier Muguerza, Universidad Del Pais Vasco, Espanha
Jesus Maria Perez, Universidad Del Pais Vasco, Espanha
João Paulo Papa, Universidade Estadual Paulista Julio de Mesquita F, Brasil
Joice Seleme Mota, Instituto Federal Catarinense, Brasil
Jorge Jesus Gomez Sanz, Universidad Complutense De Madrid, Espanha
Jose Alfonso Aguilar, Universidad Tecnologica De Mazatlan, Mexico
Jose Antonio Mateo, Universidad Castilla-la-mancha, Espanha
Jose Alfredo Cobian Campos, Universidad Nacional Autonoma De Mexico, Mexico
Jose Angel Banares Banares, Universidad De Zaragoza, Espanha
Jose L. Sanchez, Universidad De Castilla-la Mancha, Espanha
Jose Luis Castillo Sequera, Universidad De Alcala, Espanha
Jose Luis Vazquez-poletti, Universidad Complutense De Madrid, Espanha
Jose Manuel Colom, Universidad De Zaragoza, Espanha
Jose Amazonas, LCS/PTC/EPUSP, Brasil
Jose Machado, UNESP/SJRP, Bouvet Island
Juan Corchado, Universidad De Salamanca, Espanha
Juan Pablo D Amato, Univ. Nacional Del Centro De La Provincia De Bueno, Argentina
Juan Vicente Capella Hernandez, Universidad Politecnica De Valencia, Espanha
Juliana Souza, Fmrp - Usp, Brasil
Kalinka Branco, Universidade De São Paulo, Brasil
Karina Dos Santos Machado, Universidade Federal do Rio Grande, Brasil
xii
Kelton Augusto Pontara Da Costa, Fatec-campus Bauru, Brasil
Kike Marti, Universidad Carlos Iii Madrid, Espanha
Kleinner Farias, Universidade do Vale do Rio dos Sinos, Brasil
Lasaro Camargos, Universidade Federal De Uberlândia, Brasil
Leandro Alves Neves, Unesp De Rio Preto, Brasil
Leandro Tortosa, Universidad De Alicante, Espanha
Lilia Munoz, Universidad Tecnologica De Panama, Panama
Lisandra Manzoni Fontoura, Ufsm, Brasil
Luciana Foss, Universidade Federal De Pelotas, Brasil
Luciana Frigo, Universidade Federal De Santa Catarina, Brasil
Luciano Gonda, Facom/ufms, Brasil
Luciano Jose Senger, Universidade Estadual De Ponta Grossa, Brasil
Luis Enrique Zarate, Pontificia Universidade Catolica de Minas Gerais, Brasil
Manuel E. Acacio Sanchez, Universidad De Murcia, Espanha
Marcelo Da Silva Hounsell, Universidade do Estado de Santa Catarina, Brasil
Marcio Castro, Lig, Ensimag - Montbonnot, Inria, France
Marco Spohn, Uffs, Brasil
Marco Aurelio Wehrmeister, Universidade Tecnologica Federal Do Parana, Brasil
Marcos Fagundes Caetano, Univerisidade De Brasilia, Brasil
Margrit Krug, Unisinos, Brasil
Maria Eugenia Cabello Espinosa, Universidad De Colima, Mexico
Maria Jose Gil, Universidad De Deusto, Espanha
Maria Teresa Alonso Martinez, Universidad De Castilla-la Mancha, Espanha
Mark Alan Junho Song, Pontificia Universidade Catolica de Minas Gerais, Brasil
Marta Arias, Universidad Politecnica De Catalunya, Espanha
Merisandra Garcia, Universidade Do Extremo Sul Catarinense, Brasil
Miguel Serrano Mateos, Universidad Carlos III de Madrid, Espanha
Milton Heinen, Unipampa, Brasil
Milton Romero, Ccet/ufms, Brasil
Nestor Calvo, Universidad Nacional Del Litoral, Argentina
Olatz Arbelaitz, Universidad Del Pais Vasco, Espanha
Pablo Rabanal, Universidad Complutense De Madrid, Espanha
Pablo Rinaldi, Instituto Pladema, Argentina
Patricia Maldonado, Universidad De Magallanes, Chile
Pedro Velho, Ufrgs - Campus Do Vale, Brasil
Rafael Avila, Unisinos, Brasil
Rafael Mayo Garcia, Ciemat, Espanha
Rafael Pasquini, Universidade Federal De Uberlândia, Brasil
Rafael Rieder, Universidade De Passo Fundo, Brasil
Rafael Sachetto, Universidade Federal De São João De Rei, Brasil
Rafael Stubs Parpinelli, Universidade Do Estado De Santa Catarina, Brasil
Rafael Tolosana Calasanz, Universidad De Zaragoza, Espanha
Raimundo Correa De Oliveira, Uea, Brasil
Remo Suppi, Universitad Autonoma De Barcelona, Espanha
Ricardo Ribeiro Dos Santos, Universidade Federal De Mato Grosso Do Sul, Brasil
xiii
Rivalino Matias Jr, Universidade Federal Da Uberlândia, Brasil
Roberto Willrich, Universidade Federal De Santa Catarina, Brasil
Rodrigo Da Rosa Righi, Universidade Do Vale Do Rio Dos Sinos, Brasil
Rogelio Estrada, Universidad Autónoma De Sinaloa, México
Rogeria De Souza, UNESP/SJRP, Brasil
Rogerio Casagrande, Universidade Do Extremo Sul Catarinense, Brasil
Roseclea Duarte Medina, Universidade Federal De Santa Maria, Brasil
Rosita Wachenchauzer, UBA, Argentina
Sandro Da Silva Camargo, Universidade Federal Do Pampa, Brasil
Silas Evandro Nachif Fernandes, Universidade Estadual Paulista Julio De Mesquita, Brasil
Silvia Nassar, Universidade Federal De Santa Catarina, Brasil
Simone Costa, Universidade Federal De Pelotas, Brasil
Tales Bogoni, Universidade Do Estado De Mato Grosso, Brasil
Valeria Quadros, Universidade Federal De Mato Grosso Do Sul, Brasil
Vicente A. Gonzalez, Universidad Catolica "Nuestra Senora de la Asuncio, Paraguay
xiv
PALESTRAS CONVIDADAS
RESUMO
Devido ao grande aumento do uso da Internet, a escassez da informação já não é mais uma
preocupação, como em algumas décadas atrás. Atualmente, o excesso da informação
tornou-se um dos problemas da maior rede mundial. A grande quantidade de informações
permite coletar, classificar e separar essas informações em diversas formas, de acordo com
o interesse de cada camada da sociedade, desde a mais bem intencionada até a mais
maléfica, onde se encontram os cibercriminosos. Uma das formas de combater os
cibercriminosos é por meio do monitoramento minucioso das atividades de qualquer
cidadão que possa ser considerada como suspeito. Diversas agências de inteligência, em
especial NSA, a Agência Nacional de Segurança dos Estados Unidos, têm feito coletas
excessivas de dados para este fim. Este trabalho apresenta algumas formas de coleta,
utilizadas pela NSA, bem como os desafios e oportunidades existentes.
xv
TENDÊNCIAS NA ÁREA DE COMPUTAÇÃO MÓVEL E UBÍQUA
RESUMO
A área de computação ubíqua (ubicomp) pressupõe uma forte integração com o mundo real,
com foco no usuário e em manter alta transparência. Para o desenvolvimento de aplicações
nesse cenário, são necessárias pesquisas em diversos temas, abrangendo aspectos de
hardware e de software. Nesse âmbito, os tablets e smartphones são os principais
dispositivos empregados hoje em dia e que permitem uma transição para esse cenário.
Através do uso de diversos sensores e da exploração de conceitos como a ciência de
contexto, a adaptação e a interação transparente, os dispositivos móveis têm aproximado as
pessoas da ubicomp. O trabalho proposto, consequentemente, apresenta uma visão atual do
uso da computação móvel e das tendências envolvendo a computação ubíqua.
xvi
Artigos
Palestras Convidadas
Conferência IADIS Ibero-Americana Computação Aplicada 2013
SEGURANÇA CIBERNÉTICA:
DESAFIOS E OPORTUNIDADES NA ERA DE
CIBERESPIONAGEM
Mehran Misaghi
Centro Universitário UNISOCIESC – Joinville – SC – Brazil.
RESUMO
Devido ao grande aumento do uso da Internet, a escassez da informação já não é mais uma preocupação, como em
algumas décadas atrás. Atualmente, o excesso da informação tornou-se um dos problemas da maior rede mundial. A
grande quantidade de informações permite coletar, classificar e separar essas informações em diversas formas, de acordo
com o interesse de cada camada da sociedade, desde a mais bem intencionada até a mais maléfica, onde se encontram os
cibercriminosos. Uma das formas de combater os cibercriminosos é por meio do monitoramento minucioso das
atividades de qualquer cidadão que possa ser considerada como suspeito. Diversas agências de inteligência, em especial
NSA, a Agência Nacional de Segurança dos Estados Unidos, têm feito coletas excessivas de dados para este fim. Este
trabalho apresenta algumas formas de coleta, utilizadas pela NSA, bem como os desafios e oportunidades existentes.
PALAVRAS-CHAVE
Crime cibernético, Espionagem, NSA,Segurança cibernética.
1. INTRODUÇÃO
O advento da Internet revolucionou o cotidiano de tal modo que atualmente não se faz nada independente.
Consequentemente, todas as ações são registradas na maior rede mundial, quer seja onde o indivíduo esteja,
com que ferramenta esteja se comunicando, o que esteja falando e com quem esteja conversando. Diversos
aplicativos traçam os perfis de usuários através de coleta de informações preferenciais para, de forma
legítima, direcionar e potencializar o comércio, via Internet.
No entanto, existem outros interesses nem sempre legítimos. A coleta de informação pode ser bastante
útil para qualquer tipo de atacante em potencial no espaço cibernético e servir para fins de cibercrime e
ciberespionagem . O projeto da norma NBR ISO/IEC 27032:2013, define o espaço cibernético como sendo
um ambiente complexo, no qual, há interação entre pessoas, serviços e aplicativos na Internet por diversos
meios. Tais interações inexistem em qualquer forma física . O mesmo projeto da norma, também define o
crime cibernético (ou cibercrime) como “atividade criminal em que serviços ou aplicativos no espaço
cibernético são usados para ou são alvo de um crime, ou em que o espaço cibernético é a fonte, ferramenta,
alvo, ou local de um crime ” (ABNT, 2013).
Conforme Berghel (2013), no mês de junho de 2013, veio a tona o dilema sobre as atividades de
espionagem via diversas agências de inteligência, em especial NSA. As revelações do delator Edward
Snowden levam as diversas questões, como por exemplo, o que está de fato sendo vigiado? Como as
empresas e as nações devem reagir? Este artigo apresenta um breve histórico sobre diversas tentativas
realizadas pela NSA, bem como os desafios e oportunidades existentes.
3
ISBN: 978-972-8939-96-0 © 2013 IADIS
2. A ESPIONAGEM NA INTERNET
4
Conferência IADIS Ibero-Americana Computação Aplicada 2013
5
ISBN: 978-972-8939-96-0 © 2013 IADIS
2.3 PRISM
James Clapper, diretor de Inteligência Nacional dos EUA explica que, PRISM não é uma coleção de
informações reservadas ou programa de mineração de dados. Consiste em um sistema interno do governo
para facilitar a coleta das informações legalmente autorizadas de inteligência estrangeira, a partir de
prestadores de serviços de comunicações eletrônicas, sob supervisão judicial, conforme autorizado pelo
artigo 702 da Lei de Vigilância de Inteligência Estrangeira (FISA). Esta autoridade foi criada pelo Congresso
americano e tem sido amplamente conhecido e discutido publicamente desde a sua criação em 2008
(CLAPPER, 2013).
6
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Por outro lado, após vazamento de informações sobre espionagem americana e em especial, o PRISM,
surgiram diversas fontes que de forma detalhada apresentam programa de coleta de dados de PRISM, como
por exemplo, Poulsein (2013), Gellman (2013), Eaton (2013), Risen e Poitras (2013), Berghel (2013), entre
outras fontes. A figura 2, baseada em diversas fontes, apresenta de forma simples o que PRISM coleta e as
respectivas datas de adesão de diversos prestadores de serviços.
Conforme a figura 2, o maior interesse de coleta de dados via PRISM consiste em mineração de dados de
emails, chats, vídeos, fotos, vídeo conferência e o comportamento do indivíduo nas redes sociais.
7
ISBN: 978-972-8939-96-0 © 2013 IADIS
3. A ESPIONAGEM NO BRASIL
Estima-se que uma grande quantidade de brasileiros sejam alvos de espionagem de NSA nos últimos anos.
Segundo as revelações de Snowden, uma das estações de espionagem da NSA através da CIA funcionou em
Brasília até 2002. Logo após, veio na tona o assunto da espionagem da presidente Dilma Roussef no início de
setembro de 2013. A reportagem do Fantástico no dia 08/09/2013, apresentou documentos que confirmam,
que a maior empresa brasileira, a Petrobras, também foi alvo de espionagem do NSA (FANTÁSTICO,
2013a).
A Petrobras, a empresa com faturamento anual de aproximadamente 280 bilhões , maior do que a
arrecadação de muitos países. Não se sabe o que exatamente foi espionado neste caso. Mas, a Petrobras
possui conhecimento estratégico associado a negócios que envolvem bilhões de reais, comenta a reportagem
do Fantástico (2013a). Por exemplo, detalhes de leilão do Campo de Libra, sendo o maior leilão da história
do petróleo, detalhes de cada lote marcado para mês de outubro de 2013, para exploração do Campo de
Libra, parte do pré-sal. A pergunta crucial é: Será que os espiões tiveram acesso a esses dados?
Outros documentos disponibilizados pelo Snowdwn e apresentados na reportagem do dia 06/10/2013 no
programa de Fantástico afirmam que o Ministério de Minas e Energia foi alvo de espionagem canadense.
Através de um aplicativo chamado Olympia, que faz um mapeamento das comunicações telefônicas e de
computador do ministério, incluindo e-mails, é possível descobrir os contatos realizados para outros órgãos,
dentro e fora do Brasil, além de empresas como a Petrobras e a Eletrobrás. Desta forma, é fácil notar o
registro de ligações telefônicas feitas do Ministério para outros países, como o Equador, com chamadas
frequentes para a Organização Latino-Americana de Energia. Esta ferramenta consegue também identificar
números de celulares, marcas e modelos dos aparelhos utilizado (FANTÁSTICO, 2013b).
8
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Conforme Freitas (2011), a consolidação do setor cibernético na defesa brasileira ocorre através de
Conselho De Defesa Nacional (CDN), Câmera de Relações Exteriores e Defesa Nacional(Creden), Casa
Civil da Presidência da República, Gabinete de Segurança Institucional da Presidência da República (GSI-
PR), Departamento de Segurança da Informação e Comunicações (DSIC) e Agência Brasileira de
Inteligência (Abin).
Capacitar e gerir talentos humanos para a condução das atividades do setor cibernético na defesa;
impedir ou dificultar sua utilização contra interesses da defesa nacional;
Cooperar com o esforço de mobilização militar e nacional para assegurar as capacidades operacional
para o setor cibernético;
5. CONCLUSÃO
O presente artigo, de forma sucinta, apresentou os conceitos, condições e motivações de espionagem que
atualmente atormenta diversas nações. Foram também apresentados alguns detalhes de ferramentas de
espionagem de NSA. A preocupação com a segurança da informação não se deve somente à possibilidade de
coleta indevida de dados. É um momento oportuno para que as nações e as organizações verifiquem as suas
ações e políticas de segurança da informação atualmente em vigência. A atualização da política de segurança
da informação não é modismo e sim algo vital.
9
ISBN: 978-972-8939-96-0 © 2013 IADIS
REFERÊNCIAS
ABNT. Projeto da NBR ISO/IEC 27001:2013. Tecnologia da Informação – Técnicas de Segurança – Sistemas de gestão
da segurança da informação - Requisitos. Associação Brasileira de Normas Técnicas, 28/08/2013.
ABNT. Projeto da NBR ISO/IEC 27002:2013. Tecnologia da Informação-Técnicas de Segurança – Código de Prática
para controles de segurança da informação. Associação Brasileira de Normas Técnicas, 28/08/2013.
ABNT. Projeto da NBR ISO/IEC 27032:2013. Tecnologia da Informação – Técnicas de segurança – Diretrizes para
segurança cibernética. Associação Brasileira de Normas Técnicas, 28/08/2013.
ABNT. Projeto da NBR ISO/IEC 27037:2013. Tecnologia da Informação – Técnicas de Segurança – Diretrizes para
identificação, coleta, aquisição e preservação de evidência digital. Associação Brasileira de Normas Técnicas,
28/08/2013.
AMATO, Fabio, 2013. Decreto vai obrigar uso de novo e-mail em todo o governo, diz ministro. Disponível em
<http://g1.globo.com/politica/noticia/2013/10/decreto-vai-obrigar-uso-de-novo-e-mail-em-todo-o-governo-diz-
ministro.html>, 14/10/2013.
BENNY, Daniel J., 2014. Industrial Espionage: Developing a Counterespionage Program. CRC Press, Taylor & Francis
Group, NY, 2014.
BERGHEL, Hal, 2013. Through the PRISM Darkly. Computer: v. 46, issue 7, p.86-90. IEEE Computer Society. ISSN :
0018-9162
BURNS, Thomas L., 1990. The Origins of the National Security Agency. Centre for Cryptologic History, 1990.
CARVALHO, Jailton, 2013. Dilma determina ao Serpro reforço na segurança do sistema de e-mails do governo.
Dsisponível m http://oglobo.globo.com/pais/dilma-determina-ao-serpro-reforco-na-seguranca-do-sistema-de-do-
governo-10353980.htm>, 13/10/2013.
CLAPPER, James, 2013. Facts on the Collection of Intelligence Pursuant to Section 702 of the Foreign Intelligence
Surveillance Act. Disponível em <http://www.wired.com/images_blogs/threatlevel/2013/06/PRISM-FAQ.pdf>,
08/06/2013.
EATON, Joshua, 2013. Timeline of Edward Snowden's revelations. Disponível em
<http://america.aljazeera.com/articles/multimedia/timeline-edward-snowden-revelations.html>, 29/06/2013.
FANTÁSTICO, 2013a. Petrobras foi espionada pelos EUA, apontam documentos da NSA. Edição do Programa exibido
no dia 08/09/13 .Disponível em <http://g1.globo.com/fantastico/noticia/2013/09/petrobras-foi-espionada-pelos-eua-
apontam-documentos-da-nsa.html>
FANTÁSTICO, 2013b. Ministério de Minas e Energia foi alvo de espionagem do Canadá. Edição do programa exibio no
dia 06/10/2013. Disponível em <http://g1.globo.com/politica/noticia/2013/10/ministerio-de-minas-e-energia-foi-alvo-
de-espionagem-do-canada.html>
FREITAS, W. L., 2011. Desafios estratégicos para segurança e defesa cibernética
. Secretaria de Assuntos Estratégicos da Presidência da República, 2011
GELLMAN, Barton, 2013. NSA slides explain the PRISM data-collection program. Disponível em
<http://www.washingtonpost.com/wp-srv/special/politics/prism-collection-documents/>, 10/07/2013.
JARFIS, Jeff. NSA by numbers, 2013. Dipsonível em <http://buzzmachine.com/2013/08/10/nsa-by-the-numbers/>.
Acesso em 02/10/2013.
POULSEIN, Kevin, 2013. What’s in the Rest of the Top-Secret NSA PowerPoint Deck? Disponível em
<http://www.wired.com/threatlevel/2013/06/snowden-powerpoint/?viewall=true>, 10/06/2013.
RISEN, J.; POITRAS, L., 2013. N.S.A. Gathers Data on Social Connections of U.S. Citizens. Disponível em
<http://www.nytimes.com/2013/09/29/us/nsa-examines-social-networks-of-us-citizens.html?pagewanted=all&_r=3&
>, 28/09/2013.
10
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
A área de computação ubíqua (ubicomp) pressupõe uma forte integração com o mundo real, com foco no usuário e em
manter alta transparência. Para o desenvolvimento de aplicações nesse cenário, são necessárias pesquisas em diversos
temas, abrangendo aspectos de hardware e de software. Nesse âmbito, os tablets e smartphones são os principais
dispositivos empregados hoje em dia e que permitem uma transição para esse cenário. Através do uso de diversos
sensores e da exploração de conceitos como a ciência de contexto, a adaptação e a interação transparente, os dispositivos
móveis têm aproximado as pessoas da ubicomp. O trabalho proposto, consequentemente, apresenta uma visão atual do
uso da computação móvel e das tendências envolvendo a computação ubíqua.
PALAVRAS-CHAVE
Computação Ubíqua, Computação Móvel, Ciência de Contexto, Dispositivos Móveis, Sistemas Distribuídos.
1. INTRODUÇÃO
A computação ubíqua (ubicomp) é um paradigma que já está completando cerca de 15 anos de existência. A
proposta, introduzida por Weiser (1991), consiste na ideia de que o computador se integre ao nosso dia a dia,
de tal forma que a sensação das pessoas é que ele desaparece. Para atingir tal visão, é necessária uma alta
integração da tecnologia com o ambiente, aliado a um alto grau de automatização e pró-atividade nos
softwares desenvolvidos (COSTA, 2008). Apesar dos vários anos de existência do conceito de ubicomp e dos
diversos trabalhos científicos na área, apenas mais recentemente surgiram dispositivos móveis com
capacidade de suportar aplicações que englobem essas ideias. Esses dispositivos, que hoje são
majoritariamente representados por tablets e smartphones, se caracterizam por possuírem uma autonomia de
bateria que permite um período mínimo de uso e também um alto grau de conectividade, seja através das
redes sem fio ou da rede de telefonia celular.
Apesar da evolução da área de computação móvel, muitos recursos ainda são limitados, tais como largura
de banda da rede sem fio, tempo de vida da bateria, tamanho da tela, dentre outros. Além disso, muitas vezes,
o software que carregamos no dispositivos móvel não é muito diferente daquele que usamos nos
computadores tradicionais. Geralmente ocorrem mudanças na interface e redução nas funcionalidades
disponibilizadas. De acordo com SATYANARAYANAN (1996) computação móvel é caracterizada por
estáticos;
Mobilidade é inerentemente mais perigosa: é muito mais fácil o furto ou roubo de um
dispositivo móvel do que o de um computador pessoal. Pelo fato de usarmos os dispositivos
móveis em todos os lugares, ficamos sujeitos aos riscos inerentes dessa ação. Além das
espaços podem suportar redes sem fio de alta velocidade com um certo grau de confiabilidade,
11
ISBN: 978-972-8939-96-0 © 2013 IADIS
porém isso não é ainda universal. A variabilidade na qualidade de serviço oferecida pelas redes
sem fio é muito grande, principalmente nos ambientes externos. Nesse caso, é comum o uso de
bateria irá evoluir no decorrer do tempo, a necessidade de ser sensível ao consumo de energia
não vai diminuir. A preocupação com economia de energia deve estar em muitos níveis do
projeto, tanto do software quanto do hardware.
Recentemente, o mesmo autor (SATYANARAYANAN, 2011), revisitou as restrições propostas em 1996
e concluiu que as mesmas são validas nos dias atuais. Satyanarayanan (2011) acrescenta que os desafios da
computação móvel levam a uma filosofia de projeto denominada “canivete suíço”: tentar espremer o máximo
de funcionalidade possível em um projeto compacto que é alto-contido e tão frugal quanto possível no
consumo de recursos. Infelizmente, essa característica geralmente compromete usabilidade, assim como as
ferramentas em um canivete suíço real (como faca, garfo, abridor de latas, saca-rolhas) são substitutos pobres
as implementações de tamanho real (SATYANARAYANAN, 2011). Telas minúsculas e teclados são
especialmente desafiadores para usuários móveis. Além disso, a um incentive do Mercado atual a valorizar a
quantidade de funcionalidade disponibilizada ao invés das inovações para atributos mais difusos como a
usabilidade.
Outo ponto a considerar que é diretamente ligada a usabilidade é a interface. Ela deve considerar a forma
mais natural de interação para os dispositivos específicos, e também informação contextual (como a
localização) e comportamento dos usuários (preferencias, necessidades, história, etc.) (COSTA, 2009). Por
exemplo, reconhecimento de voz é uma das melhores interfaces para telefones celulares porque eles tem telas
pequenas, botões diminutos e são otimizados para comunicação por voz (CANNY, 2006).
Apesar dos limites da computação móvel, e considerando os avanços recentes, torna-se mais factível o
desenvolvimento da área de ubicomp. Nesse cenário, o presente artigo tenta explorar as tendências atuais
relacionadas com a área e com os principais conceitos envolvidos. A principal contribuição científica do
artigo é delinear os limites atuais, bem como as tecnologias e modelos disponíveis para o crescimento da
ubicomp. No trabalho são detalhados os principais conceitos da área, bem como as principais soluções para
endereçar tais questões.
O artigo está organizado em 4 seções. A seção 2 define os principais conceitos da área, incluindo os
principais desafios para serem endereçados. Na seção 3 é feito um destaque de diversas tecnologias
disponíveis hoje em dia que se alinham as necessidades da ubicomp, bem como tendências futuras na área.
Por fim, a seção 4, traça as conclusões do trabalho.
12
Conferência IADIS Ibero-Americana Computação Aplicada 2013
As possibilidades geradas pelo desenvolvimento da computação móvel, definem o cenário para que a
computação ubíqua se desenvolva. Esse conceito é detalhado na próxima subseção.
13
ISBN: 978-972-8939-96-0 © 2013 IADIS
Heterogeneidade é um desafio derivado de sistemas distribuídos. Aplicativos devem ser capaz de executar
em diferentes tipos de dispositivos, com vários sistemas operacionais e interfaces com o usuário. Software
deve mascarar as diferenças de infraestrutura para o usuário e gerenciar as necessárias conversões de um
ambiente para o outro. Como resultado, é necessário tratar diferenças de protocolos. Nesse cenário, não é
possível recriar software específico para cada dispositivo. Consequentemente, a lógica dos aplicativos deve
ser criada apenas uma vez com uma abordagem independente de dispositivo.
Outro desafio relacionado, herdado de sistemas distribuídos, é escalabilidade. Na ubicomp, um grande
número de usuários, dispositivos, aplicações e comunicações são esperados em uma escala sem precedentes.
Além disso, seria impraticável distribuir e instalar aplicativos explicitamente. É necessário evitar soluções
centralizadas para obter uma melhor escalabilidade e prevenir gargalos. Por fim, interações mais distantes
devem ser reduzidas ao mínimo necessário.
Algumas vezes, o sistema não consegue executar de acordo com a especificação funcional.
Adicionalmente, podem ocorrer problemas relacionados com erros de especificação e de implementação.
Essas situações levam a falhas. Uma falha é definida como a transição de um serviço correto para um serviço
incorreto (AVIZIENIS, 2004). Um serviço correto é obtido quando o sistema implementa a função desejada.
Serviço incorreto deve ser detectado e a execução restaurada para o estado correto. Evitar falhas que são mais
frequentes e mais severas do que o aceitável leva a dependability, um conceito que integra os atributos de
disponibilidade, confiabilidade, segurança crítica (safety), integridade e facilidade de manutenção. O termo
pervasive dependability tem sido usado para referir a essas necessidades no escopo da ubicomp (FETZER e
HÖGSTEDT, 2002).
Segurança é um conceito estritamente relacionado com a dependability de um sistema. Um sistema é
considerado seguro se existem medidas que garantem disponibilidade, integridade e confidencialidade.
Existem muitos mecanismos para fornecer segurança em sistemas distribuídos que podem também ser
usados na ubicomp. Entretanto, essas ações devem ser leves, preservando tanto a espontaneidade da interação
quanto as limitações de alguns dispositivos, no provimento de segurança para recursos e dados do usuário
(COULOURIS, 2012).
14
Conferência IADIS Ibero-Americana Computação Aplicada 2013
A privacidade dos dados desse usuário é uma questão a tratar. A medida que a ubicomp tornar-se parte da
vida cotidiana, dispositivos praticamente invisíveis vão coletar informações do usuário, incluindo dados
pessoais, sem nem mesmo serem notados. Garantir formas pelas quais essa informação possam ser usadas ou
transferidas de maneira privada será extremamente difícil.
Outro conceito associado é confiabilidade (trust). Em um cenário altamente heterogêneo e dinâmico, a
confiança em componentes para interação deve ser medida. Uma vez que não existe uma infraestrutura fixa e
nem um domínio específico, é necessário usar um sistema gerenciador de confiança para medir o que deve
ser exposto aos demais componentes (ROBINSON, 2005).
Integrar componentes variados disponíveis em vários dispositivos, bem como fazer a comunicação e o
entendimento entre eles possível, é um desafio identificado como interoperação espontânea. Um componente
interopera espontaneamente se ele "interage com um conjunto de componentes de comunicação que podem
alterar tanto a identidade quanto a funcionalidade ao longo do tempo, a medida que as circunstâncias
mudam" (KINDBERG e FOX, 2002). Essa espontaneidade é necessária por causa da natureza volátil da
ubicomp. Os componentes estão em movimento e interagindo com um conjunto de serviços que mudam
constantemente.
Outro desafio, denominado mobilidade, possibilita o acesso às aplicações e aos dados onde quer que o
usuário esteja independentemente do deslocamento. Isso porque em dispositivos portáteis, tais como
smartphones e notebooks, o ambiente computacional costuma acompanhar o usuário. Entretanto, mobilidade
física (de equipamentos ou de usuários) não é a única opção. Mover componentes como aplicações, dados e
serviços (mobilidade lógica) também é desejável. Hoje em dia, muitos desses componentes estão vinculados
a dispositivos específicos, dificultando que o usuário carregue esses componentes. Aplicações devem mover-
se de um dispositivo para outro, e o acesso aos dados deve ser mantido (aplicações estilo siga-me) (COSTA,
2008).
A computação móvel também introduziu a ideia de sensibilidade ao contexto, isto é, detectar informações
que caracterizam a situação de entidades nas aplicações. Essas entidades são pessoas, lugares ou objetos que
são consideradas relevantes em determinada circunstância (DEY, 2001). Para obter as informações de
contexto geralmente são usados sensores ou outros dispositivos que usam computação embarcada. O
emprego dessas informações relativas às entidades nas aplicações gera o que é denominado de software
sensível ao contexto, algo que se torna cada dia mais comum nos smartphones.
O ato de uma aplicação responder as informações obtidas pelos sensores é denominado de gerência de
contexto. Uma vez que é possível perceber o contexto, é necessário usar esta informação e agir
proativamente. Baseado nos dados obtidos dos sensores, o sistema toma decisões, tais como a configuração
de serviços de acordo com a mudança ambiental ou a manutenção do histórico de eventos passados para
reiniciar serviços quando o usuário reentra nesses ambientes (LYYTINEN e YOO, 2002). O gerenciamento
também pode expandir a capacidade dos dispositivos pelo uso de recursos disponíveis no contexto atual.
O projeto da Interação Humano-Computador (IHC) também é um assunto significativo. Como a ubicomp,
irão existir muitas formas de interação com o usuário. Além disso, a medida que os computadores tornam-se
mais "inteligentes", a intensidade e a qualidade da interação humano-computador tende a aumentar (SAHA e
MUKHERJEE, 2003). O foco na interface com o usuário, no projeto de software, tem adquirido um novo
significado desde o surgimento da computação móvel e dos novos modos de interação. A fusão de dados do
usuário com o ambiente real é outra razão para o desenvolvimento da área de IHC na ubicomp. Isso faz com
que a atenção seja direcionada para o conceito de interação transparente com o usuário. A ideia é preservar a
atenção do usuário, evitando saturação de informações (SIEWIOREK, 2002). Usuários devem ser capazes de
focar na tarefa que desejam realizar sem distração do sistema.
O último desafio é diretamente relacionado com a própria ubicomp. Invisibilidade está relacionada com a
manutenção do foco do usuário na tarefa, não na ferramenta (WEISER, 1994). Para atingir essa visão, o
software deve satisfazer a intenção do usuário, ajudando-o e não gerando obstruções. As aplicações devem
aprender com os usuários e, em alguns casos, deixar esses alterarem suas preferências, interagindo de
maneira quase subconsciente com o sistema (SATYANARAYANAN, 2001).
Na próxima seção vamos explorar algumas tendências e visão de futuro para minimizar o impacto desses
desafios.
15
ISBN: 978-972-8939-96-0 © 2013 IADIS
RFID, NFC e Bluetooth de baixa energia permitem interação entre diferentes usuários e
dispositivos bastante próximas da atividade das pessoas. Essas tecnologias podem ser
empregadas para serviços diversos de comunicação, localização, identificação e
Redes de Sensores sem Fio: permitem a comunicação ad hoc para monitorar determinados
pagamento;
carregados pelas pessoas em seu corpo. Por causa disso, esses dispositivos permitem uma
perfil das pessoas e personalizar a experiência. Com essa tecnologia é possível antecipar
necessidades e adaptar o ambiente em resposta.
16
Conferência IADIS Ibero-Americana Computação Aplicada 2013
4. CONCLUSÃO
O desenvolvimento de software ubíquo ainda é limitado pela falta de infraestrutura de software cobrindo
todas as necessidades da ubicomp. A principal razão por essa ausência, é a complexidade de considerar
tópicos de pesquisa em aberto tão diferentes em um único projeto. Entretanto, muitos projetos hoje em dia
tem fornecido soluções isoladas para questões específicas.
Nesse artigo foram apresentados as principais questões relacionadas com tendências na computação
móvel, particularmente considerações relacionadas com a computação ubíqua. Primeiro, os principais
conceitos da área foram apresentados, focando nos desafios encontrados. Segundo, foram destacadas as
dificuldades em construir software ubíquo.
Hoje presenciamos o início da era da computação ubíqua. Apesar de existir uma grande evolução em
linguagens e ferramentas para o desenvolvimento de software desde o advento do PC, quando o foco são os
requisitos da ubicomp, ainda se observa os primeiros passos. São necessários middleware e framework para
acelerar o processo de desenvolvimento de software nesse cenário.
Um problema adicional do cenário da ubicomp é como a infraestrutura pode permitir que o usuário acesse
se ambiente computacional onde estiver e independentemente do deslocamento. A promessa do "todo tempo,
de todo o lugar" que seguidamente é apresentada junto com a ubicomp ainda é difícil de ser obtida. Outro
problema relacionado é como usar dados e aplicativos fortemente integrados com o mundo real. Essas
questões envolvem o endereçamento conjunto de diversos desafios aqui apresentados.
Esperamos que esse artigo possa contribuir para o avança do desenvolvimento da computação ubíqua.
Além disso, consideramos que para que se obtenha a visão seminal do Weiser de ubicomp, futuros sistemas
devem integrar-se transparentemente com o ambiente, tratando várias questões relacionadas com os desafios
discutidos nesse trabalho.
AGRADECIMENTOS
Agradecemos a IADIS e a pessoa do Pedro Isaias pelo convite para desenvolver esse artigo, além de
participar como orador e organizador da edição 2013 das conferências Ibero-Americanas WWW/INTERNET
e Applied Computing. Agradeço também ao CNPq que financia parte da minha pesquisa através da concessão
de Bolsa de Produtividade.
REFERÊNCIAS
Abech, M. et al., 2012. Um Modelo de Adaptação de Objetos de Aprendizagem com foco em Dispositivos Móveis.
Anais do Simpósio Brasileiro de Informática na Educação. pp. 1-5.
Avizienis, A. et al., 2004. Basic concepts and taxonomy of dependable and secure computing, Dependable and Secure
Computing, IEEE Transactions on , 1(1), pp. 11- 33.
Canny, J. 2006. The Future of Human-Computer Interaction. ACM Queue, 4(6), pp.24-32.
Costa, C. da, 2009. Software Infrastructure for Ubiquitous Computing, VDM Verlag, 2009. 174 p.
Costa, C. da, Yamin, A. & Geyer, C., 2008. Toward a General Software Infrastructure for Ubiquitous Computing.
Pervasive Computing, IEEE, 7(1), pp.64–73.
Costa, C. et al., 2013. 4iPay: A Payment System Model For U-Commerce. Proceedings of IADIS International
Conference WWW/Internet, pp. 43-50.
Costa, H. et al., 2012. A Ubiquitous Electronic Tourist Guide for the Caminhos de. Pedra Itinerary. Proceedings of IADIS
International Conference WWW/Internet, pp. 109-116.
Coulouris, G. et al., 2012. Mobile and Ubiquitous Computing, Distributed Systems: Concepts and Design, 5th ed.,
Addison-Wesley, pp. 817-880.
Dey, A.K., 2001. Understanding and Using Context. Personal and Ubiquitous Computing, 5(1).
Fetzer, C., Högstedt, K., 2002. Challenges in Making Pervasive Systems Dependable, Future Directions in Distributed
Computing, A. Schiper et al., eds., Springer, pp.186−190.
Grimm, R. et al., 2004. System support for pervasive applications. Transactions on Computer Systems - TOCS, 22(4).
Heidegger, M., 1996. Being and time: a translation of Sein and Zeit, State University of New York, New York.
17
ISBN: 978-972-8939-96-0 © 2013 IADIS
Henson, C., Sheth, A. & Thirunarayan, K., 2012. Semantic Perception: Converting Sensory Observations to Abstractions.
Internet Computing, IEEE, 16(2), pp.26–34.
Jing, J., Helal, A., Elmagarmid, A., 1999. Client-server Computing in Mobile Environments. ACM Computing Surveys,
31(2), pp. 117-157.
Keen, E., 1975. A primer in phenomenological psychology, Holt, Rinehart and Winston, New York.
Kindberg, T., Fox, A., 2002. System software for ubiquitous computing. Pervasive Computing, IEEE , 1(1), pp. 70- 81.
Lyytinen, K., Yoo, Y., 2002. Issues and Challenges in Ubiquitous Computing, Communications of the ACM, 45(12), pp.
63-65.
Robinson, P. et al., 2005. Some Research Challenges in Pervasive Computing, Privacy, Security and Trust within the
Context of Pervasive Computing, P. Robinson et al., eds., Springer, pp. 1−16.
Saha, D., Mukherjee, A., 2003. Pervasive computing: a paradigm for the 21st century. Computer , 36(3) , pp. 25- 31.
Santos, F., Costa, C., 2013. UBIHEALTH: A Ubiquitous Collaborative System to Support Telemedicine. Proceedings of
IADIS International Conference WWW/Internet, pp. 172-179.
Satyanarayanan, M., 1996. Fundamental Challenges in Mobile Computing. Proceedings of the ACM Symposium on
Principles of Distributed Computing (1996).
Satyanarayanan, M., 2011. Mobile computing: the next decade. SIGMOBILE Mobile Computing and Communications
Review, 15(2).
Siewiorek, D., 2002. New frontiers of application design, Pervasive Computing, IEEE, 1(1), pp. 79-82.
Want, R. et al., 2002. Disappearing hardware [ubiquitous computing], Pervasive Computing, IEEE , 1(1), pp. 36- 47.
Weiser, M., 1991. The computer for the 21st century. Scientific American, 265(3), pp.94–104.
Weiser, M., 2994. The world is not a desktop, ACM Interactions, 1(1), pp. 7-8.
18
Artigos Longos
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Ari Magagnin Junior1,2,3, João Hamilton Cecato Simas1,2 e Miguel Antonio Sovierzoski2,3
1
Departamento Acadêmico de Informática
2
Departamento Acadêmico de Eletrônica
3
Programa de Pós-Graduação em Engenharia Biomédica (PPGEB)
Universidade Tecnológica Federal do Paraná (UTFPR)
Avenida Sete de Setembro, 3165, Curitiba, Paraná
RESUMO
Este trabalho apresenta uma solução tecnológica para a aquisição do sinal de eletrocardiografia através de comunicação
sem fio e visualização do sinal através de WWW em computação normal ou em dispositivos móveis, integrando diversas
tecnologias. O sinal de eletrocardiografia é adquirido e condicionado por circuitos eletrônicos, digitalizado e transmitido
para um computador através de padrão de comunicação sem fio ZigBee. A aplicação no computador recebe o sinal
transmitido em tempo real e o envia em pequenos pacotes de dados pela internet para um servidor web para
armazenamento e acesso. Os usuários cadastrados no servidor web podem receber e visualizar o sinal de
eletrocardiografia em tempo real no seu computador de mesa, laptop, tablet ou aparelho smartphone. O trabalho apresenta
a fundamentação teórica, as principais tecnologias utilizadas, detalhes de implementação, resultados obtidos discutindo-
se limitações e potenciais de melhoria.
PALAVRAS-CHAVE
Comunicação sem fio, dispositivos móveis, protocolo de comunicação, WebSocket, WWW, ECG.
1. INTRODUÇÃO
A WWW é composta de um emaranhado de protocolos e padrões de comunicação interconectados entre si.
Apesar de ser utilizada no início para facilitar a troca de informações entre pesquisadores, hoje a sua
utilização está crescendo devido aos avanços tecnológicos dos últimos anos, fato esse relacionado
principalmente pela grande demanda de utilização da rede provocada por um aumento significativo nas
vendas de smartphones e tablets. Em 2011, por exemplo, foram vendidos cerca de 472 milhões de aparelhos
smartphones no mundo, um aumento de 58% em relação ao ano anterior segundo Flipsen (2012). Existem
pesquisas para fornecer o acesso a internet até em zonas rurais através de redes mesh, como descrito no
trabalho de Kretschmer (2011). Dado o mundo globalizado em que estamos inseridos, é praticamente
impossível pensar nos afazeres diários sem a presença da rede mundial de computadores. A integração da
web com outras tecnologias permitiu o desenvolvimento de novas modalidades de negócios, serviços e
equipamentos, indo desde um meio para usuários comuns terem acesso a informações, até aplicações mais
sofisticadas em Home Care, como apresenta Nambu (2002). Todos estes avanços revertem para a sociedade
como novos serviços e facilidades.
Este trabalho apresenta um eletrocardiógrafo portátil com comunicação sem fio para um computador, que
pode estar em um hospital, clínica, consultório médico, em trânsito ou em uso domiciliar (e-health). O sinal
de eletrocardiografia adquirido é transmitido em tempo real para o computador próximo. Este computador
conectado a um servidor web através da internet transmite os dados de eletrocardiografia (ECG) em tempo
real para o servidor. O servidor web recebe os dados, armazena e permite o acesso em tempo real aos dados
por diversos usuários cadastrados. Os usuários cadastrados e conectados ao servidor web podem utilizar
diversas plataformas de computação fixa ou móvel. Na sequência do trabalho é apresentada a fundamentação
teórica da eletrocardiografia, as tecnologias envolvidas e o detalhamento de como foram utilizadas. São
apresentados alguns resultados do projeto e finalizando o trabalho com discussões e comentários.
21
ISBN: 978-972-8939-96-0 © 2013 IADIS
O Monitoramento Remoto de Pacientes tem sido amplamente utilizado a fim de melhorar a qualidade de
vida das pessoas e sob esse contexto o Colégio Americano de Cardiologia em parceria com a Associação
Americana do Coração descreveu diretrizes para eletrocardiografia ambulatorial. (Crawford, 1999). O grande
aumento de projetos desenvolvido para esse fim pode ser facilmente comprovado devido ao aumento do
número de publicações de artigos relacionado ao tema. Existem vários projetos que foram divulgados na
literatura que utilizam o conceito de e-Health em ECG. Watanabe (2012) utiliza o smartphone integrado com
um sistema desenvolvido chamado “Dentan” para fazer a monitoração do sinal de ECG. Paraschiv (2011)
desenvolveu um equipamento remoto para monitorar os sinais de ECG, porém com um foco voltado para
equipamentos de baixo custo com o intermédio de aparelhos celulares para a aquisição. Existem outros
trabalhos que fazem uso de tecnologias sem fio para transmissão de dados de ECG. Em Fensli (2005) foi
desenvolvido um dispositivo similar a esse projeto, entretanto o equipamento não foi desenvolvido para
operar em tempo real.
A grande diferença desse projeto para os demais relatados é o monitoramento remoto em tempo real, além
de fazer a gravação dos dados de ECG adquiridos. A possibilidade de visualizar o sinal em tablets e
smartphones também é um diferencial. As tecnologias utilizadas também são diferentes das apresentadas,
como no caso do padrão Zigbee escolhido para a transmissão sem fio.
2. FUNDAMENTAÇÃO TEÓRICA
Os trabalhos de Einthoven, Goldberger e Wilson no século passado determinaram as derivações e a
nomenclatura empregada no sinal de eletrocardiografia. A morfologia típica do sinal de ECG de uma pessoa
por uma das derivações de Einthoven pode ser observada na Figura 1, destacando-se a onda P e T, e o
complexo QRS com alguns valores típicos de intervalos e amplitudes. (Guyton, 2006).
3. MATERIAIS E MÉTODOS
A visão geral do projeto é apresentada pela Figura 2, com diferentes tecnologias e dispositivos envolvidos.
Observa-se que o paciente está conectado a um eletrocardiógrafo via eletrodos, colocados na superfície da
pele. O eletrocardiógrafo efetua a aquisição do sinal de ECG, faz as conformações do sinal, as adequações de
níveis de tensão, faz a amostragem e envia o sinal digitalizado para um computador através de comunicação
sem fio.
22
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Esse computador recebe os dados em tempo real, verifica erros nos pacotes de dados, trata os erros e
envia os dados para um servidor web em tempo real.
Figura 2: Visão geral do projeto de ECG sem fio e acesso via web.
Por outro lado e podendo estar em um ambiente distante daquele onde se encontra o paciente, um médico,
ou profissional da saúde habilitado, a partir de um host (computador, tablet ou aparelho smartphone) com
conexão a internet, pode acessar o servidor e visualizar em tempo real o sinal de ECG do paciente, ou um
sinal já gravado no banco de dados.
3.1 Eletrocardiógrafo
colocados na superfície da pele do paciente. Ele amplifica a diferença de potencial entre os eletrodos
colocados nos braços ou no tórax do paciente. O sinal na saída do amplificador de instrumentação
está sujeito a interferência em modo comum, devido ao circuito em malha fechada realizado pelos
condutores dos eletrodos e pelo paciente, sendo susceptível a interferência da rede elétrica.
O Circuito da perna direita é responsável por causar uma interferência subtrativa, minimizando a
(Webster, 2010)
interferência provocada pelo ruído em modo comum. O circuito injeta uma corrente na perna direita
restringir a banda passante do sinal de ECG (Webster, 2010). O filtro passa-altas é necessário para
atenuar a interferência causada pelo potencial de meia célula gerado pelos eletrodos e atenuar
também a interferência do músculo diafragma responsável pela respiração. O filtro passa-baixas é
O Filtro Notch de 60 Hz é utilizado para atenuar os ruídos provenientes da rede elétrica, que não
necessário como filtro anti-aliasing e para limitar a faixa de frequências do sinal adquirido.
foram suficientemente atenuados pela interferência destrutiva provocada pelo circuito da perna
O Ganho inicial, ajuste de ganho e ajuste de offset são utilizados para ajustar a faixa do sinal
direita. (Webster, 2010)
entre os níveis de tensão de 0 e 3,3 volts, que são os limites dos níveis de tensão do conversor
analógico-digital (ADC) com resolução de 10 bits e envia serialmente o sinal digitalizado para o
dados para o outro módulo ZigBee conectado na porta USB do computador receptor.
23
ISBN: 978-972-8939-96-0 © 2013 IADIS
Figura 3: Diagrama em blocos da aquisição e transmissão dos sinais de ECG para o computador.
Config_Timer – O firmware inicia nesse estado e configura o periférico Timer para realizar 300
periféricos, e os demais pela etapa de aquisição de envio do sinal de ECG. Segue a descrição dos estados:
interrupções por segundo. Após essa configuração passa para o estado Config_ADC.
Config_ADC – Nesse estado o firmware configura o periférico ADC para amostrar o sinal no modo
Config_UART – Nesse estado o firmware configura a UART para poder enviar os pacotes de
burst (controle por hardware). Após essa configuração passa para o estado Config_UART.
Waiting – O firmware permanece nesse estado até receber uma chamada de interrupção do Timer
mensagem para o módulo de comunicação sem fio e então passa para o estado Waiting.
modo burst, passando o controle para o hardware, e volta para o estado Waiting para aguardar uma
SendDataToModule - Nesse estado o firmware envia os dados para o módulo de comunicação sem
Send_Pkt_Uart.
fio serialmente através da UART e então retornar para o estado Waiting aguardando novamente uma
interrupção do timer.
24
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Figura 5. Estrutura em camadas das soluções de comunicação sem fio e via web utilizadas no projeto.
2º byte: Identificador de pacote com valor variando se 0 a 0xFE. É utilizado para a reconstrução do
3º ao 14º byte: Valores da conversão dos canais do ADC. Dois bytes são necessários para cada canal
sinal e indicativo de quais amostras chegaram ao computador receptor.
já que o ADC tem resolução de 10 bits, e cada byte possui os 5 bits mais significativos ou menos
15º byte: Checksum do pacote. São os 8 bits menos significativos da soma do 2º ao 14º byte do
significativos de cada canal do ADC.
25
ISBN: 978-972-8939-96-0 © 2013 IADIS
implementadas pela definição IEEE 802.15.4 na faixa de frequência de 2,4 GHz. Utiliza-se do sistema de
segurança padrão da indústria AES-128. As vantagens da utilização desse padrão são: baixo consumo de
energia, segurança, baixo custo, confiabilidade, e a comunicação em rede sem fio baseada em uma norma
aberta global (ZigBee Specifications, 2013). Entretanto a taxa de transmissão é inferior a algumas normas
como Bluetooth e WiFi, porém atende os requisitos desse projeto.
3.2.2 Computador Receptor - Programa Receptor
O programa receptor que é executado no computador receptor foi desenvolvido em Java e é responsável por
receber os dados do eletrocardiógrafo, tratar os erros, montar o pacote de mensagens e enviá-lo ao servidor
Figura 8. Máquina de estados do programa receptor utilizada no recebimento nos pacotes de mensagem.
26
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Waiting_MSP – Estado onde o programa aguarda o recebimento do byte mais significativo dos dois
pacote. Quando recebe este byte o programa passa para o estado Waiting_MSP.
bytes que formam o valor digitalizado do sinal de ECG. Quando ele recebe este byte passa para o
sinal digitalizado de ECG. Após o recebimento deste byte o programa passa para o estado
Calculate_CheckSum. Caso o byte recebido seja o último byte do quinto canal de ECG, o programa
verifica se é igual ao valor de checksum que veio no pacote, caso seja igual o programa salva o
pacote e volta para o estado Waiting_Delimiter, aguardando um novo pacote, caso seja diferente
Error – Estado onde o programa detectou algum erro durante o recebimento dos bytes que
passa para o estado Error.
completam o pacote, descarta-se os dados do último pacote recebido que estava com erro e volta-se
para o estado Waiting_Delimiter.
Para o funcionamento do protocolo descrito é necessário que o navegador web do host, onde é executado
a aplicação cliente tenha compatibilidade com o protocolo WebSocket, caso contrário essa troca de
mensagem não funciona.
4. RESULTADOS E DISCUSSÕES
Para apresentar resultados de testes com o sistema para este trabalho, foi adquirido o sinal de ECG de um
equipamento simulador de ECG Lionheart Bio-Tek Multiparameter Simulator. A Figura 9 apresenta o sinal
que foi visualizado em tempo real pelo usuário final na aplicação cliente. No canto inferior da Figura 9 pode
ser visto o tempo em que a aplicação está conectada no servidor e o batimento cardíaco instantâneo. Sob
condições normais o sistema como um todo funcionou corretamente sem problemas observados. Todavia o
sistema é dependente de uma boa conexão com a internet, caso essa conexão seja muito ruim, pode ocorrer
atrasos na transmissão dos pacotes se o sinal estiver sendo observado em tempo real, entretanto isso não
ocorre se for observado na aplicação cliente um sinal já gravado no servidor. Até uma distância de 40 m em
ambientes abertos a comunicação sem fio é eficiente, entretanto para distâncias maiores ocorre o aumento do
número de erros chegando a tornar inviável em alguns ambientes fechados e de alto ruído.
27
ISBN: 978-972-8939-96-0 © 2013 IADIS
Figura 9: Sinal de ECG Sinal gerado por um equipamento simulador de sinais de ECG (Lionheart Bio-Tek
Multiparameter Simulator), sendo observado em tempo real na aplicação cliente. (a) Menu da aplicação cliente. (b) Sinal
sendo observado simultaneamente em um aparelho smartphone e em um computador.
5. COMENTÁRIOS
Foi possível verificar em tempo real o sinal de ECG sendo adquirido pelo eletrocardiógrafo em um host com
acesso a internet e distante de onde o paciente está se submetendo a aquisição. Os protocolos de comunicação
sem fio desenvolvido e o protocolo WebSocket funcionaram de forma robusta e precisa, eliminando as
amostras com erros. A utilização da internet como meio de transporte de dados para um outro local distante
de onde o paciente se encontra, deu uma dinâmica diferente no modo como esse exame de eletrocardiograma
é realizado atualmente. Um médico, por exemplo, pode observar um exame sendo feito em tempo real do seu
paciente através de um aparelho smartphone ou tablet com internet 3G em qualquer lugar em que se encontra
ou então pode fazer o exame em uma clínica e buscar esse mesmo exame no banco de dados do servidor em
outra clínica sem nenhuma burocracia de transferência.
REFERÊNCIAS
Crawford, M. H. 1999. ACC/AHA Guidelines for ambulatory electrocardiography. Journal of the American College of
Cardiology, vol. 34, pp 912-48.
Fensli, R. et al. 2015. A Wearable ECG-recording System for Continuous Arrhythmia Monitoring in a Wireless Tele-
Home-Care Situation. IEEE Symposium on Computer-Based Medical Systems, Dublin, pp. 1063-7125.
Flipsen B. et al. 2012. Environmental sizing of smartphone batteries. Electronics Goes Green, Berlin Alemanha, pp. 1-9.
Guyton, A. C.; Hall, John E, 2006. Textbook of medical physiology. Elsevier Saunders, Pennsylvania, USA.
Kretschmer M. et al. 2011. Providing Mobile Phone Access in Rural Areas via Heterogeneous Meshed Wireless Back-
haul Networks. IEEE International Conference on Communications Workshops, Kyoto, Japão, pp. 1-6.
Malmivuo, J.; Plonsey, R. 1995. Bioelectromagnetism - Principles and Applications of Bioelectric and Biomagnetic
Fields. Oxford University Press, New York.
Nambu M. et al. 2002. WWW Based ECG Transfer for Home Care using JAVA Script. Proceedings of the 2002 IEEE
Engineering in Medicine and Biology 24th Annual Conference and the 2002 Fall Meeting of the Biomedical
Engineering Society (BMES/EMBS '02), vol. 3, pp. 1891 - 1892.
Paraschiv, A.-M. et al. 2011. Remote Monitoring ECG Signals System. 7th International Symposium on Advanced Topics
in Electrical Engineering (ATEE), Bucharest, pp. 1 – 6.
Tompkins, Willis J. 1993. Biomedical digital signal processing: C-language examples and laboratory experiments for
the IBM PC. Prentice-Hall.
Watanabe , H.; Kawarasaki, M.; Sato, A.; Yoshida, K. 2012. Development of Wearable Heart Disease Monitoring and
Alerting System associated with Smartphone, Healthcom, pp. 292 – 297.
WebSocket, 2012. Disponível em: < http://www.websocket.org/> Acesso em: 09 de maio de 2013.
Webster, John G. 2010. Medical instrumentation: application and design. John Wiley.
ZigBee Specifications, 2013. Disponível em: < http://www.zigbee.org/> Acesso em: 10 de maio de 2013.
28
Conferência IADIS Ibero-Americana Computação Aplicada 2013
M.Sc. Fredy Humberto Vera Rivera1, M.Sc. Fernando Antonio Rojas Morales2
y Esp. Enrique Torres López3
Universidad Francisco de Paula Santander - Cúcuta – Colombia - Departamento de Ingeniería de Sistemas
1
2
Universidad Industrial de Santander – Bucaramanga – Colombia - Escuela de Ingeniería de Sistemas e Informática
3
Universidad Industrial de Santander - Bucaramanga – Colombia - División de Servicios de Información
RESUMEN
El presente artículo corresponde a la investigación tecnológica realizada en conjunto por la Escuela de Ingeniería de
Sistemas y la División de Servicios de Información (DSI) de la Universidad Industrial de Santander (UIS) de
Bucaramanga - Colombia, en la cual se plantea un proceso de desarrollo de componentes software reutilizables, donde se
establecen y detallan los pasos necesarios para crear una biblioteca de componentes Java (versión JEE5). Como
resultado, el proceso se utiliza en la creación de componentes software para el desarrollo de software empresarial de la
DSI, en el marco del proyecto de desarrollo de nuevas versiones de los sistemas que dan soporte a las actividades
misionales de la UIS: Académico, Financiero y de Recursos Humanos. El artículo explica las fases del proceso de
desarrollo y su aplicación.
PALABRAS CLAVE
Ingeniería del Software Basada en Componentes, Componentes Software Reutilizables, Enterprise Java Bean,
Persistencia Java – JPA.
1. INTRODUCCION
Según (Pressman, 2002), “La ingeniería del software basada en componentes (ISBC) es un proceso que se
centra en el diseño y construcción de sistemas basados en computadora que utilizan componentes de software
reutilizables”. Con base en esta premisa, en el contexto de una investigación realizada en conjunto por la
Escuela de Ingeniería de Sistemas y la División de Servicios de Información (DSI) de la Universidad
Industrial de Santander (UIS), se propuso un proceso de desarrollo de componentes software reutilizables
como estrategia para el desarrollo del software empresarial, y se establecieron actividades para crear una
biblioteca de componentes reutilizables, que resuelve un problema de investigación planteado así: ¿Cómo
elaborar componentes reutilizables que sirvan de apoyo al proceso de desarrollo software? También se
resuelven las siguientes preguntas que ayudan a clarificar la solución del problema de investigación
propuesto: (1) ¿Cómo identificar los componentes candidatos a implementar y cuáles son los criterios de
selección de estos componentes? (2) ¿Qué alternativas de arquitectura se pueden utilizar para el desarrollo de
los componentes reutilizables? (3) ¿Cómo se deben implementar y especificar los componentes software, de
tal forma que se pueda hacer fácil su reutilización? La estructura del componente software reutilizable
estudiado se puede apreciar en la figura 1.
29
ISBN: 978-972-8939-96-0 © 2013 IADIS
30
Conferência IADIS Ibero-Americana Computação Aplicada 2013
La evaluación de las áreas de aplicación, en el sistema de Recursos Humanos, se obtuvieron los siguientes
resultados: Administración de personal 25 puntos, tramite Solicitudes 22 puntos, administración de roles,
usuarios, menús 23 puntos, generador de Listados 23 puntos, consultas generales de recursos humanos 28
puntos, administración ordenes de trabajo 19 puntos. Esta evaluación la realiza un experto del dominio y/o
líder del desarrollo. Se selecciona el área con mayor puntaje. Después de identificar y seleccionar el área de
aplicación se describe el dominio de aplicación seleccionado, resaltando las funcionalidades que se quieren
cubrir con la biblioteca de componentes por medio de un modelo de requisitos. Los resultados del modelo de
requisitos son la descripción detallada del dominio de aplicación y diagramas de casos de uso.
31
ISBN: 978-972-8939-96-0 © 2013 IADIS
Figura 4 a. Diagrama de Clases de Entidad de las consultas generales – b. Diagrama de clases o Modelo de Análisis
Modelo de componentes: Se utiliza para definir los componentes software candidatos a implementar. El
objetivo principal del modelo de componentes es agrupar las entidades y los EJBs en componentes
independientes, de tal forma que se puedan reutilizar en los proyectos de desarrollo de manera independiente.
En la figura 5 – a, se muestra el diagrama inicial de componentes para la aplicación realizada en la DSI.
Hasta el momento, los componentes identificados constan sólo de entidades y EJBs, quedando por definir los
servicios Web y los componentes personalizados para la interfaz de usuario. El diagrama de componentes
mostrado en la figura 5- a cambia al agregar los servicios web y los componentes UI, dando origen al
diagrama que se muestra en figura 5 - b, El resultado de esta fase son los tres componentes mostrados en la
figura 5 - b.
32
Conferência IADIS Ibero-Americana Computação Aplicada 2013
33
ISBN: 978-972-8939-96-0 © 2013 IADIS
Al realizar la evaluación de los criterios de selección sobre los componentes candidatos a implementar se
obtuvieron los siguientes resultados: (1) Generales 35 puntos, (2) Unidades 34 puntos, (3) Cargos 32 puntos.
Los tres componentes candidatos superan los 30 puntos, cumpliendo con los requisitos planteados. Se
determina entonces en esta fase que se construirán 3 componentes software reutilizables para el área de
aplicación seleccionada.
34
Conferência IADIS Ibero-Americana Computação Aplicada 2013
35
ISBN: 978-972-8939-96-0 © 2013 IADIS
36
Conferência IADIS Ibero-Americana Computação Aplicada 2013
3. CONCLUSIONES
Esta investigación especifica de forma detallada el proceso de desarrollo de componentes software
reutilizables que ha sido adoptada en los desarrollos de la DSI, probando así su impacto y relevancia. Se pudo
evidenciar que la utilización del proceso de desarrollo de componentes software reutilizables la
competitividad de la DSI mejora en aspectos como: (1) La producción de aplicaciones de software se hace
con mayor rapidez, teniendo en cuenta que los componentes reutilizables ya creados, se usan en muchos
proyectos de desarrollo sin necesidad de volver a implementarlos para cada sistema. (2) Los sistemas
informáticos ofrecidos a la comunidad universitaria que se basan en componentes creados, probados y
estandarizados, realizados con las mejores prácticas de desarrollo, logran una mejor calidad en el producto.
Como resultado se planteó un procedimiento para el desarrollo, prueba y especificación de componentes
basados en el estándar Java EE 5; se detalló la forma de implementar el mapeo de entidades, la elaboración
de servicios del área de aplicación utilizando EJBs 3.0, se hizo una exposición de esos servicios como
servicios Web y componentes personalizados para la interfaz de usuario, permitiendo aplicar los conceptos
en un entorno de desarrollo y puesta en marcha de aplicaciones de software en una organización de tamaño
considerable como la UIS. Además, como valores agregados, resultado de la investigación se hicieron
aportes fundamentales a la DSI. Entre los que se cuentan: la definición de estándares y buenas prácticas para
los nuevos desarrollos utilizando la especificación Java EE 5.
REFERENCIAS
Bruegge, B. & Dutoit, A. 2004. Object-Oriented Software Engineering Using UML, pattern and Java. 2 ed. Prentice
Hall.
Debu, P., Reza, R. & Lane, D, 2007. EJB in action. Manning Publications Co..
Geisterfer, C. M. & Ghosh, S., 2006. Software component specification: A study in perspective of component selection
and reuse. Proceedings of the fifth international conference on comercia-off-the-shelf COTS - based software
systems.
Guijun, W. & Casey K, F., 2004. Architecture, paradigms ans their influences and impacts on component-based software
systems. Hawaii , Proceedings of 37th International Conference on System Sciences.
Iribarnes Martinez, L. F., 2003. Un modelo de mediación para el desarrollo de software basado en componentes. España:
Tesis Doctoral - Universidad de Malaga.
Oracle - Sun Microsystem, 2008. The jave EE 5 tutorial.
Pressman, R. S., 2002. Ingeniería del Software un enfoque práctico. 5 ed. Mc. Graw Hill.
Sergey, S., 2008. CDK developer guide. Jboss comunity.
Vera Rivera, F. . H. & Rojas Morales, F. A., 2008. Propuesta de un proceso de desarrollo de componentes software
reutilizables. Revista Gerencia Tecnológica Informática - GTI, 7(19).
Weitzenfeld, A., 2002. Ingeniería del software orientada a objetos, teoría y práctica con UML y Java. Mexico: Itam.
37
ISBN: 978-972-8939-96-0 © 2013 IADIS
RESUMO
Métricas de software é um assunto que vem sendo estudado há anos e ainda hoje desperta interesses de pesquisadores.
Talvez pelo fato de ainda não ter atingido sua maturidade. Para esse trabalho foi aplicado o processo de revisão
sistemática da literatura sobre métricas de software com o intuito de responder à algumas questões de pesquisa com o
objetivo de contextualizar acerca do estado da arte do assunto estudado. Na fase inicial da revisão sistemática a string de
busca aplicada retornou 559 trabalhos totalizando as cinco bases científicas selecionadas para a pesquisa. Após aplicação
dos critérios de seleção nas fases da condução da revisão, apenas 22 trabalhos foram selecionados. Através da revisão
sistemática da literatura foi possível identificar e analisar conceitos, características, dentre outras informações que
contribuíram para aprimorar os estudos na área e enriquecer o seu conteúdo teórico.
PALAVRAS-CHAVE
Métricas de Software; Engenharia de Software; Estimativas; Revisão Sistemática da Literatura.
1. INTRODUÇÃO
Métricas de software é um assunto estudado há mais de 30 anos. No entanto, mal conseguiu se estabelecer
em sua amplitude na engenharia de software. A principal razão para isto, é que a maioria das atividades de
métricas de software não têm apresentado o requisito mais importante: fornecer informações para apoiar a
tomada de decisão gerencial quantitativa, durante o ciclo de vida do software. [FENTON e NEIL, 2000].
De acordo com [Singh et al 2012], métricas de software, medem diferentes aspectos da complexidade do
software e, portanto, desempenham um papel importante na análise e melhoria da qualidade do software. Tais
aspectos, abrangem área de qualidade, estimativa, custos, processos e assim por diante. Para [Yu e Zhou,
2012] métricas de software é a medida - geralmente usando classificações numéricas - para quantificar
algumas características ou atributos de uma entidade de software. Medições típicas incluem a qualidade dos
códigos de fonte, o processo de desenvolvimento e as aplicações realizadas.
Já Goodman [1993] define métricas de software como sendo, a contínua aplicação de técnicas baseadas
na medição para o processo de desenvolvimento de software e para os seus produtos fornecendo informação
de gestão relevante e, juntamente com a utilização dessas técnicas visando melhorar o processo e os seus
produtos. Sendo assim, o uso de métricas se mostra importante e relevante para os gestores e analista de
projetos de software. Entretanto realizar estimativas e prover métricas de software tem se tornado um grande
desafio na área de TI [MOLØKKEN, 2003]. A incapacidade da indústria em estimar software com precisão,
resulta em derrapagens orçamentais e atrasos nas entregas que minam em confiança e desgaste. Estimar
tamanho de um software é uma atividade complexa, cujos resultados devem ser constantemente atualizado
levando em consideração quantitativos reais de todo o ciclo de vida [MOLØKKEN, 2003].
A construção de uma solução que de fato produza resultados significativos e que seja de fácil aplicação e
entendimento ainda está sendo buscada, inclusive por empresas de TI [MOLØKKEN, 2003]. Sendo assim,
métricas de software se mostra como um assunto relevante e que merece certa atenção em relação a seus
conceitos, características e uso. Visando entender os conceitos gerais e possíveis estudos realizados na
indústria sobre métricas de software, tem-se como objetivo responder as seguintes questões de pesquisa:
38
Conferência IADIS Ibero-Americana Computação Aplicada 2013
(RQ1) Qual o estado da arte atual em relação estudos sobre métricas de software?
(RQ2) Quais o tipos de métricas de software identificadas na revisão sistemática da literatura?
(RQ3) Existem ferramentas que dão suporte ao uso de métricas de software?
(RQ4) Existem publicações científicas de estudos sobre métricas de software realizados na
indústria (empresas e/ou consultorias de TI)?
Para alcançar o objetivo desse trabalho, foi aplicado o método de revisão sistemática da literatura com o
intuito de conseguir as respostas para esse questões de pesquisa. A aplicação da string de busca nas bases
científicas selecionadas resultou em 559 trabalhos, dentre os quais foram classificados após etapas de
seleção, 22 trabalhos relevantes para a pesquisa.
O restante do trabalho está organizado da seguinte forma: Na seção 2 é abordado o referencial teórico da
pesquisa. A seção 3 aborda acerca do processo de aplicação da revisão sistemática da literatura. Na seção 4
são descritos e analisados os resultados alcançados com a pesquisa. E por fim, a seção 5 traz as conclusões do
estudo realizado.
2. MÉTRICAS DE SOFTWARE
Métricas de softwares possibilitam realizar uma das atividades mais fundamentais do processo de
gerenciamento de projetos, que é o planejamento, porém para planejar é necessário estimar, entretanto
estimar softwares continua sendo um grande desafio na área de TI. A construção de uma solução que de fato
produza resultados significativos e que seja de fácil aplicação e entendimento ainda está sendo buscada
[MOLØKKEN, 2003].
Métricas de software servem como suporte a mediação em diversas tipos de atividades e aplicações, como
por exemplo utilização de métricas no contexto organizacional de gestão do conhecimento, no apoio a
sistemas baseados em computação em nuvem, no suporte a medição de complexidade do software, medição
de esforço de trabalho, métricas no contexto de custos em manutenção corretiva de software, como suporte a
mensuração de qualidade em aplicações de negócios, inspeção de software e métricas no contexto de
qualidade e testes de software, dentre outros [Goldoni e Oliveira, 2009; Singh et al 2012; Li et al. 2010;
Curtis et al, 2011; Salger et al 2009; Barros et al. 2008].
Goodman [1993] define métricas de software como sendo, a contínua aplicação de técnicas baseadas na
medição para o processo de desenvolvimento de software e para os seus produtos fornecendo informação de
gestão relevante e, juntamente com a utilização dessas técnicas visando melhorar o processo e os seus
produtos. De acordo com SINGH et al. (2011), as métricas de software são definidas em dois tipos, a
métricas de produto e as métricas de processos.
Métricas de Produto, também são conhecidos como as métricas de qualidade e são usadas para medir as
propriedades do software e ajudam a melhorar a qualidade dos diferentes componentes e existentes do
sistema [SINGH et al. 2011]. Pode-se destacar como exemplos de métricas de produto: Métrica de esforço,
métrica de tamanho, métrica de volume, métrica de complexidade, contagem de pontos de função, contagem
de Tokens, métricas de funcionalidades, métricas de desempenho, métricas de usabilidade, métricas de custo
e tamanho e métricas de estilo, por exemplo.
Já as métricas de processo são conhecidos como métricas de gestão e utilizados para medir as
propriedades do processo que é usado para se obter o software. Métricas de processo incluem as métricas de
custo e esforços, métricas de progresso e métricas de reutilização. Métricas de processo ajuda na previsão do
tamanho do sistema final e determinar se um projeto sobre a execução de acordo com o cronograma [SINGH
et al. 2011]. Como métricas de processos podemos citar: métricas de reusabilidade, métricas de
produtividade, métrica média de ponto de estória por desenvolvedor por dia, métricas de recursos, dentre
outros,
Comparar e avaliar as capacidades e produtividade das pessoas envolvidas no desenvolvimento de
software, elaboração das especificações de qualidade de software, verificação do cumprimento de requisitos
de sistemas de software e especificações, tomada de decisões sobre outra divisão do módulo complexo que
deve ser feito ou não e obtenção de um ideia sobre a complexidade do software - são algumas das
características de métricas que são consideradas vantagens de acordo com [SINGH et al. 2011].
39
ISBN: 978-972-8939-96-0 © 2013 IADIS
Ao mesmo tempo que as métricas de software possuem certas vantagens que ajudam no auxílio de
algumas atividades dentro do processo de desenvolvimento, também possuem certas limitações em relação ao
seu uso. Pode-se destacar como sendo limitação, o fato da aplicação de métricas de software nem sempre ser
fácil e, em alguns casos, pode ser difícil e dispendioso. A verificação e justificação de métricas de software é
baseada em dados históricos / empíricos, cuja validade é difícil de verificar. A maioria dos modelos de
previsão baseiam-se em estimativas de certas variáveis que muitas vezes não são conhecidas exatamente. São
úteis para o gerenciamento de produtos de software, mas não para avaliar o desempenho da equipe técnica
[SINGH et al 2011].
No processo de utilização de métricas de software, deve-se garantir algumas propriedades para que as
mesmas sejam utilizada da maneira mais eficiente possível. As métricas devem ser facilmente entendidas,
calculadas e testadas, devem gerar uma sugestão de melhoria nas estratégias, bem como é de grande
importância que a métrica seja obtida o mais cedo possível no processo de desenvolvimento do software
[COSTA et al 2013]. Sendo assim, Guarizzo [2008] comenta que a utilização de métricas de software tem
seu papel muito importante dentro da engenharia de software, especialmente na gerência de projetos de
software, seja qual for à metodologia ou tipo a ser utilizada. Ela é analisada por gerentes de projetos de
software e coletada pelos engenheiros de software.
40
Conferência IADIS Ibero-Americana Computação Aplicada 2013
41
ISBN: 978-972-8939-96-0 © 2013 IADIS
4.1 (RQ1) Qual o Estado da Arte Atual em Relação Estudos sobre Métricas de
Software?
O estado da arte sobre métricas de software compreendem trabalhos publicados que abordam métricas no
contexto organizacional de gestão do conhecimento [Goldoni e Oliveira, 2009], Métricas de apoio a sistemas
baseados em computação em nuvem e software as a service [Singh et al 2012], Métricas para medição de
complexidade do software [Singh et al. 2012],[Li et al. 2010], métricas no contexto de custos em manutenção
corretiva de software [Li et al. 2010], Métricas como suporte a mensuração de qualidade em aplicações de
negócios [Curtis et al, 2011], Métricas no contexto de inspeção de software [Salger et al 2009], Métricas no
contexto de qualidade e Testes de Software [Kanij et al 2012], Métricas de software de grande escala [Barros
et al. 2008], Métricas de desenvolvimento baseadas em resultados [THAMMARAK, e INTAKOSUM, 2011]
dentre outros. As respostas para as outras questões ajudarão ainda mais, a contextualizar acerca do estado da
arte de trabalhos relacionados ao assunto métricas de software, visto que abordam aspectos relevantes ao
estado da arte.
42
Conferência IADIS Ibero-Americana Computação Aplicada 2013
43
ISBN: 978-972-8939-96-0 © 2013 IADIS
[Curtis et al, 2011] No trabalho intitulado - “An Evaluation of the Internal Quality of Business
Applications: Does Size Matter?” - procurou-se realizar um estudo com o intuito de verificar a qualidade
interna, estrutural de 288 aplicativos de negócios que compreendem 108 milhões de linhas de código
recolhidos de 75 empresas de oito segmentos da indústria, incluindo bancos, seguros, telecomunicações,
energia, manufatura, consultoria de TI, software e governo. Estas aplicações foram submetidos a uma análise
estática que avalia a qualidade dentro e entre os componentes do aplicativo que podem ser codificadas em
diferentes idiomas. A análise consiste em avaliar a aplicação com um repositório de mais de 900 regras de
boas práticas de arquitetura e codificação. Os resultados são apresentados para as medidas de segurança,
desempenho e mutabilidade. O efeito do tamanho na qualidade é avaliada, bem como a capacidade modular a
reduzir o impacto do tamanho é sugerido pelos resultados. Métricas de qualidade interna foram mostradas
para correlacionar com os critérios, tais como o esforço de manutenção e detecção de defeitos. O dados
analisados nesse estudo compreendem segurança, performance, atributos de mudança (changeability) e efeito
de tamanho na qualidade.
[Li et al 2010] No trabalho intitulado - “Cost Drivers of Software Corrective Maitenance: An Empirical
Study in Two Companies” - os autores tiveram como objetivo realizar um estudo em duas organizações que
desenvolvem software com o intuito de conhecer os fatores que têm maior influência sobre as atividades de
manutenção corretiva do software. Foram analisados nesse estudo, as atividades e esforços de corrigir 810
defeitos de software em uma empresa de software norueguesa e 577 defeitos de software em outra empresa.
Nesse estudo foi realizada uma comparação entre os perfis de defeitos de acordo com o esforço de correção
de defeitos. Também foram analisadas as descrições de defeitos e discussões gravadas entre desenvolvedores
no curso de correção de defeitos, a fim de entender o que levou ao alto custo de corrigir alguns tipos de
defeitos. Foi possível identificar nesse estudo que o tamanho e complexidade do software a ser mantido, a
experiência do mantenedor e suporte a processos e ferramentas são fatores de custo mais influentes da
manutenção corretiva. Nesse estudo foram utilizadas métricas de produtos como tamanho, esforço, tempo,
complexidade e métricas para estimativa de manutenção adaptativa.
[Kanij et al 2012] No trabalho intitulado - “Performance Assessment Metrics for Software Testers” - os
autores contextualizam sobre problema e/ou a dificuldade em se avaliar o desempenho de testadores de
software. Diante dessa dificuldade os autores realizaram um survey com 104 testadores profissionais de
software da índia e dos Estados Unidos, com o objetivo de identificar através do ponto de vista deles, a
importância de fatores proposto que possam ajudar o gestores a mensurar o desempenho dos testadores de
software. Esses fatores contribuem para geração de métricas. Nesse trabalho, foram abordadas métricas de
qualidade que poderão servir como fatores que contribuem para avaliação de desempenho dos testados como,
número de defeitos reportados por dia, qualidade do report do defeito, número de defeitos graves
identificados, rigorosidade dos testes e número de bugs reportados em produção.
[Goldoni e Oliveira, 2009] No trabalho intitulado – “Knowledge management metrics in software
development companies in Brazil” – as autoras objetivaram analisar métricas de avaliação da gestão do
conhecimento em empresa de software a partir da percepção dos gestores e dos usuários. Essa pesquisa foi
aplicada em duas empresas brasileiras de TI. Usou-se métricas identificadas na literatura e associadas as fases
do processo de gestão do conhecimento: criação, armazenamento, disseminação, utilização e medição.
Algumas métricas foram identificadas de processos, como número de discussões em grupos relacionadas a
processos/produtos de inovação, número de documentos armazenados em sistemas, qualidade do
conhecimento armazenado, número de usuários do sistema, dentre outras – E métricas de resultados como,
média de resolução de problema, Redução do tempo de ciclo do produto, Nível de aprendizagem individual,
Aumento do patrimônio líquido, etc. Percebe-se que esse trabalho preocupou-se não em analisar métricas
relacionadas a atividades diretas do processo de desenvolvimento de software, mas sim em analisar métricas
relacionadas a circulação de conhecimento entre as equipes de desenvolvimento de software, que pode ser
considerado fator importante na era da informação.
[Bouwers et al 2013] No trabalho intitulado – “Evaluating Usefulness of Software Metrics: an Industrial
Experience Report” – os autores contextualizam a cerca de uma problemática em relação a falta de análise
estrutural e mostra que para muitas métricas, avaliação consiste em verificar as propriedades matemáticas da
métrica, a investigar o comportamento da métrica para um certo número de sistemas de código aberto ou
comparando o valor da métrica contra outras métricas quantificando atributos de qualidade relacionados. Para
Bouwers et al [2013] infelizmente, uma análise estrutural da utilidade de métricas num ambiente de avaliação
do mundo real é frequentemente ausente, sendo que essa avaliação é importante para compreender as
situações em que uma métrica pode ser aplicada, para identificar áreas de possíveis melhorias, para explorar
44
Conferência IADIS Ibero-Americana Computação Aplicada 2013
problemas gerais detectadas pelos indicadores e definir estratégias de solução geralmente aplicáveis. Sendo
assim, o objetivo desse trabalho foi executar tal análise para duas métricas de nível de arquitetura, balanço de
componentes e perfis de dependência, através da análise dos desafios envolvidos na aplicação dessas
métricas em um ambiente industrial. Além disso, foi explorado a utilidade dos indicadores através de
entrevistas semiestruturadas com os avaliadores experientes. Foram documentadas as lições aprendidas, tanto
para a aplicação destas métricas específicas, bem como para o método de avaliação de indicadores na prática.
5. CONCLUSÕES
Através da revisão sistemática da literatura, foi possível identificar diversos trabalhos relevantes que nos
ajudou a identificar possíveis respostas para as questões de pesquisa estabelecidas. Através dessa revisão, foi
constatado que existem diversos estudos sobre métricas de software realizados com várias aplicações
diferentes que vão desde software convencionais, passam por computação em nuvem, e chegam à gestão do
conhecimento. Foi possível perceber que 5 trabalhos dentre os selecionados, abordavam como metodologia a
aplicação de estudos de casos aplicados na indústria.
Também ficou evidente que as métricas de software proporcionam diversas vantagens para que as utiliza,
entretanto não deve-se ressaltar que mesmo possibilitando diversas vantagens, essa abordagem oferece
algumas limitações. Esse trabalho mostrou através do levantamento realizado os mais diversos tipos de
métricas hoje utilizadas sendo possível levantar pelo menos 28 tipos de métricas classificadas em dois
grandes grupos: produtos e processos. Inicialmente, não é possível apontar se esse número de métricas
levantadas na literatura é um número alto ou baixo, mas percebe-se que é um número significante. Além de
algumas ferramentas de suporte ao uso de métricas de produtos orientados a objetos.
Pode-se afirmar que vários estudos sobre métricas de software foram realizados na indústria, tornando
possível identificar e analisar conceitos, características, dentre outras informações a fim de aprimorar os
estudos na área e enriquecer o seu conteúdo teórico.
REFERÊNCIAS
BARROS, Rodrigo C.; RUIZ, Duncan D.; BASGALUPP, Márcio P.; BECKER, Karin. Issues on Estimating Software
Metrics in a Large Software Operation. 32nd Annual IEEE Software Engineering Workshop, 2008.
BIOLCHINI, Jorge; MIAN, Paula Gomes; NATALI, Ana Candida Cruz; TRAVASSOS, Guilherme Horta. Systematic
Review in Software Engineering. Technical Report. PESC – COPPE/UFRJ, 2005.
BOUWERS, Eric; DEURSEN, Arie Van; VISSER, Joost. Evaluating Usefulness of Software Metrics - an Industrial
Experience Report -.Software Engineering Research Group, Department of Software Technology, Faculty of
Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, 2013.
COSTA et al 2013. Utilizando métricas para dimensionar um software. Disponível
em:<http://www.csi.uneb.br/engenharia_de_software/anexos/Artigo>MetricasdeSoftware.pdf>. Acessado em 20 de
Julho de 2013.
CURTIS, Bill; SAPPIDI, Jay; SUBRAMAYAM; Jintendra. An Evaluation of the Internal Quality of Business
Applications: Does Size Matter?. 33rd International Conference on Software Engineering, Honolulu, Hawaii, 2011.
DYBA, T.; KAMPENES, V.; SJOBERG, D. A Systematic Review of Statistical Power in Software Engineering
Experiments. Journal of Information and Software Technology, v. 1, n. 11, 2005.
FENTON, Norman E; NEIL, Martin. Software Metrics: A roadmap. ICSE '00 Proceedings of the Conference on The
Future of Software Engineering, 2000.
GOLDONI, Vanessa; OLIVEIRA, Mírian. Knowledge management metrics in software development companies in
Brazil. JOURNAL OF KNOWLEDGE MANAGEMENT, 2009.
GOODMAN, Paul. Practical Implementation of Software Metrics, McGraw Hill, London, 1993.
JOHARI, Kalpana; KAUR, Arvinder. Effect of software evolution on software metrics: An open source case study. ACM
SIGSOFT Software Engineering Notes, 2011.
KANIJ, Tanjila; MERKEL, Robert; GRUNDY, John. Performance Assessment Metrics for Software Testers. CHASE
2012, Zurich, Switzerland, 2012.
45
ISBN: 978-972-8939-96-0 © 2013 IADIS
LI, Jingyue; STALHANE, Tor; KRISTIANSEN, Jan M. W.; CONRADI, Reidar. Cost Drivers of Software Corrective
Maitenance: An Empirical Study in Two Companies. 26th IEEE International Conference on Software Maintenance
in Timișoara, 2010
LINCKE, Rudiger, LUNDBERG, Jonas, LOWE Welf. Comparing Software Metrics Tools. ISSTA’08, July 20–24,
Seattle, Washington, USA, 2008.
LITTLEFAIR, Tim. CCCC - C and C++ Code Counter. A free software tool for measurement of source code related
metrics by Tim Littlefair. Disponível em: <http://cccc.sourceforge.net/>. Acessado em 05 de Julho de 2013.
MAFRA, S.N., TRAVASSOS, G.H. Estudos Primários e Secundários Apoiando a Busca por Evidência em Engenharia
de Software, Relatório Técnico ES-687/06. COPPE/UFRJ. Rio de Janeiro: Brasil, 2006.
MOLØKKEN, Kjetil; JØRGENSEN, Magne; A Review of Surveys on Software Effort Estimation. Proceedings of the
2003 International Symposium on Empirical Software Engineering, ISESE '03, IEEE Computer Society, pp.223-230,
2003.
NERURKAR, N.W. Assessment of Reusability in Aspect-Oriented Systems using Fuzzy Logic. ACM SIGSOFT
Software Engineering Notes, 2010.
SALGER, Frank; ENGELS, Gregor; HOLFMANN, Alexander. Inspection Effectiveness for Different Quality Attributes
of Software Requirement Specifications: An Industrial Case Study. 2009 ICSE Workshop on Software Quality, 2009.
SAMPAIO, R.F; MANCINI, M.C. Estudos de Revisão Sistemática: Um guia para síntese criteriosa da evidência
científica. Revista Brasileira de Fisioterapia. São Carlos, 2007.
SINGH, Gurdev; SINGH, Dilbag; SINGH, Vkram. A Study of Software Metrics. IJCEM International Journal of
Computational Engineering & Management, Vol. 11, January 2011.
SINGH, Ram; BHAGAT, Avinash; KUMAR, Navdeep. Generalization of Software Metrics on Software as a Service
(SaaS). International Conference on Computing Sciences, 2012.
SPINELLIS. ckjm — Chidamber and Kemerer Java Metrics. Disponível em: <http://www.spinellis.gr/sw/ckjm/> .
Acessado em 06 de Julho de 2013.
SWAMINATHAN, Balachander; JAIN, Karuna. Implementing the Lean concepts of Continuous Improvement and Flow
on an Agile Software Development Project - An Industrial Case Study. Agile India 2012.
YU, Sheng; ZHOU, Shijie. A Survey on Metric of Software Complexity. Information Management and Engineering
(ICIME), 2010
WU, Ching-seh; CHANG, Wei-chun; SETHI, Ishwar, K. A Metric-Based Multi-Agent System for Software Project
Management. Eigth IEEE/ACIS International Conference on Computer and Information Science, 2009.
46
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Marisa Panizzi, Diego Arenas, Damián Gimenez, Elisa Licata Caruso y Mayra Carabajal
Universidad de Morón, Facultad de Informática, Ciencias de la Comunicación y Técnicas Especiales - Cabildo 134,
(B1708JPD) Morón, Buenos Aires, Argentina
RESUMEN
En un primer estadio de la línea de investigación, se ha diseñado una herramienta para la medición de la satisfacción de
las necesidades de los usuarios de un sistema informático de gestión empresarial. Esta herramienta permite la medición
de dos variables, la satisfacción socio y la satisfacción técnica de sus necesidades. En la medición de la satisfacción socio,
se contemplaron las siguientes dimensiones: satisfacción en la empresa, satisfacción en el puesto de trabajo, satisfacción
con el medio ambiente, comunicación y participación. En la medición de la satisfacción técnica, se contemplaron las
siguientes dimensiones: requerimientos funcionales, requerimientos no funcionales y las características del usuario del SI
(Sistema Informático). La herramienta en cuestión se compone de dos cuestionarios, el cuestionario que permite la
medición del enfoque socio denominado ¨MES¨ y el cuestionario que permite la medición del enfoque técnico
denominado ¨MET¨. Actualmente, nos encontramos aplicando la herramienta a usuarios de sistemas informáticos de
diferentes industrias, para realizar los ajustes necesarios a la misma como así también para generar evidencias empíricas
de su aplicación.
PALABRAS CLAVE
Implantación de sistemas informáticos/Satisfacción de usuarios de Sistemas informáticos/Medición de
satisfacción/Requerimientos funcionales/Requerimientos No funcionales/enfoque socio técnico.
1. INTRODUCCION
Los usuarios de los sistemas informáticos, son empleados de una organización podrían considerarse expertos
en su trabajo diario, ellos pueden aceptar o rechazar un nuevo sistema de trabajo en este caso se puede
considerar a un sistema informático como tal.
Recopilando experiencias en diferentes industrias, hemos detectado que en las organizaciones, el capital
humano todavía aún no forma parte de todos los sistemas de trabajo. Las personas tienen valores, actitudes y
necesidades psicológicas, el abandono de sus intereses vinculados al trabajo puede ocasionar una situación de
cambio que perjudique a la organización. En lugar de producirse el cambio deseado por la organización
tendiente a aumentar la eficiencia con la incorporación del nuevo sistema informático (SI), se produce la no
satisfacción por parte de los usuarios ocasionando la no aceptación en el uso del nuevo sistema, generando
nuevamente un fracaso en la implantación del mismo.
Para la construcción de la herramienta de medición se revisaron los siguientes antecedentes respecto a las
metodologías de implementación de sistemas de información y modelos de cambio organizacional, se han
analizado las siguientes propuestas: la Metodología ETHICS de Enid Mumford (Mumford, 2003), el modelo
de cambio organizacional de Kolb/Frohman (Kolb, 1970), el modelo “Diamond Model" de Leavitt (Leavitt,
1965), la Metodología de Sistemas Suaves de Checkland (Checkland, 1993) entre otras.
Se revisaron marcos teóricos de las Ciencias del Comportamiento, entre los cuales se pueden mencionar:
la Teoría del Cima Laboral de Likert (Likert, 1967), teorías sobre la motivación, entre ellas, la jerarquía de
necesidades de Maslow (Maslow, 1991), las teorías X y Y de McGregor (Robbins, 2005) y la teoría de la
motivación e higiene de Herzberg (Robbins, 2005).
47
ISBN: 978-972-8939-96-0 © 2013 IADIS
Se revisaron algunos estándares, enfoques y prácticas, entre ellos: el concepto de Usabilidad definido en
el estándar ISO 9241(Grau, 2000), la disciplina denominada HCI (Human-Computer Interaction) (Grau,
2005) las ISO 9000:2000 e ISO 9004 (ISO 9004:2009, 2009).
En una primera instancia del trabajo de investigación, se considero relevante revisar conceptos asociados
a la satisfacción de un empleado en su puesto de trabajo y adoptamos la definición propuesta por Mumford
(Mumford, 2003). A partir de esta definición, se elaboró la siguiente enunciación:
¨Un usuario de un sistema informático (denominado USI) se encuentra satisfecho cuando el sistema
informático (denominado SI) le permite realizar su trabajo plenamente¨ (Estayno, M. et al, 2011).
Con el propósito de ofrecer herramientas para la toma de decisiones de los profesionales responsables de
llevar a cabo el proceso de implementación de los sistemas informáticos o aquellos roles que trabajan
vinculados a los clientes/usuarios es que se consideró el desarrollo de esta herramienta.
2. DESARROLLO
Para el diseño de la herramienta se siguieron los lineamientos generales de construcción de un instrumento de
medición propuesto por Hernández Sampieri Roberto, Fernández Collado Carlos y Baptista Lucio Pilar
(Hernández Sampieri, 2006) De la revisión y análisis del procedimiento mencionado, se ha realizado un
ajuste en función de lo que se necesitaba en el presente trabajo, se presenta en la Figura 1.
48
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Tabla 1. Variable, sus dimensiones, la nomenclatura propuesta para cada dimensión y los indicadores del MES (Medición
del Enfoque Socio).
Variable Dimensión Nomenclatura Indicador
a de la
medir Dimensión
Satisfacción en la MES1 Grado en que los empleados de una organización (en
empresa este trabajo, serían los usuarios) se sienten involucrados
Satisfacción socio de las necesidades de los usuarios
con la misma.
Satisfacción en el MES2 Grado en que los empleados (usuarios) de una
puesto de trabajo organización perciben el “ajuste” entre lo que buscan
en sus puestos de trabajo (necesidades, expectativas y
aspiraciones) y lo que la organización requiere que
hagan en sus puestos (requerimientos de conocimientos,
habilidades y competencias)” (Mumford E.., 1983)
Satisfacción con el MES3 Valor percibido por los empleados (usuarios) respecto al
medio ambiente ambiente de trabajo adecuado
(combinación de factores humanos y físicos) brindado
por la organización. (ISO 9004)
Comunicación MES4 Grado en que los empleados (usuarios) perciben los
flujos de información dentro de la organización.
Especialmente todos aquellos flujos relacionados al
diseño de los sistemas informáticos.
Participación MES5 Nivel en que los empleados (usuarios) perciben su aporte
en el Diseño de un Sistema Informático. Cabe aclarar
que se toma en cuenta el principio de Diseño
Participativo.
Tabla 2. Variable, sus dimensiones, la nomenclatura propuesta para cada dimensión y los indicadores del MET (Medición
del Enfoque Técnico).
Variable Dimensión Nomenclatura Indicador
a de la Dimensión
medir
Requerimientos MET1 Grado en que los usuarios de una
Funcionales organización perciben que el SI realiza
Satisfacción técnica de las necesidades de los
Con el propósito de realizar una medición que permita un análisis de la satisfacción técnica con un mayor
nivel de granularidad, se ha decidido dividir las dimensiones Requerimientos No funcionales y
Características del usuario en sub dimensiones. La Dimensión Requerimientos No Funcionales, se presenta
en la Tabla 3. Dimensión Requerimientos No Funcionales y Sub dimensiones, la nomenclatura propuesta
para cada sub dimensión y sus sub indicadores. En la Tabla 4., se presenta la Dimensión Características del
usuario, Sub dimensiones, la nomenclatura propuesta para cada sub dimensión y los sub indicadores.
49
ISBN: 978-972-8939-96-0 © 2013 IADIS
Tabla 3. Dimensión Requerimientos No Funcionales, Sub dimensiones, la nomenclatura propuesta para cada sub
dimensión y los sub indicadores.
Dimensión Sub Dimensión Nomenclatura Sub Indicador
de la Sub dimensión
50
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Tabla 5. Procedimiento aplicado para someter a prueba el instrumento de medición (Panizzi, 2012)
Prueba piloto inicial Validez del Someter a prueba el Una versión mejorada de la
Validación de caso único instrumento instrumento de medición herramienta de medición
Evaluar las condiciones de
aplicación y los
procedimientos
involucrados
Prueba piloto 2 Método de Confiabilidad Realizar dos veces la La herramienta tiene un nivel de
estabilidad (test – retest). del instrumento medición con versión 2 de confiabilidad aceptable ya que hay
la herramienta al mismo consistencia entre los resultados y
grupo de usuarios reflejan la realidad de la satisfacción
de la muestra.
Para aplicar la herramienta de medición en una muestra de usuarios, se requiere aplicar el proceso que se
detalla a continuación (Panizzi, 2012):
1. Identificar a los usuarios de un determinado sistema informático y los requerimientos funcionales del
sistema informático o del módulo que utilizan. Se propone la matriz que se presenta en la Tabla 6.
2. Identificar los interfaces de entrada y-o salida y su relación con los requerimientos funcionales del
sistema informático o del módulo. Se propone la matriz que se presenta en la Tabla 7.
3. Relevar las estrategias de comunicación y participación respecto a los cambios de los sistemas
informáticos que se desarrollan en la organización. Esta información es necesario para la ponderación
de algunas preguntas del cuestionario de medición socio.
4. En el caso de que el sistema informático no sea un sistema contable, se debe eliminar la pregunta del
cuestionario de medición de enfoque técnico relacionada a este tema.
5. Definir la técnica que se empleara para la administración de los cuestionarios (autoadministrado
grupal, individual, vía mail, etc.).
51
ISBN: 978-972-8939-96-0 © 2013 IADIS
Tabla 6. Matriz de relación Usuario del Sistema Informático & Requerimiento Funcional del Sistema Informático (RF del
SI) (Panizzi, 2012).
Usuario 1
Usuario 2
Usuario 3
Usuario 4
Usuario n
Requerimientos Funcionales del SI
/Usuarios del Sistema de Informático
RF 1
RF 2
RF 3
RF 4
RF n
Tabla 7. Matriz de relación de los Requerimientos Funcionales & Entradas y Salidas del Sistema Informático (Panizzi,
2012)
Sistema Informático
Interface 1
Interface 2
Interface 3
Interface n
Entradas
y Salidas
(Interfaces
de software)
Requerimiento Funcional 1 E
52
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Para el desarrollo de esta línea de investigación, desde un primer momento se quiso reflexionar sobre las
personas que reciben el producto resultante de la ingeniería de software, los usuarios.
Se ha decidido conocer con exactitud cuáles son las cuestiones con las que los usuarios se sienten no
satisfechos con un sistema informático, para poder conocerlas y analizarlas es que se pensó en la herramienta
de medición propuesta.
Se comparten algunas experiencias realizadas con usuarios a través de la aplicación de la herramienta de
medición e invitamos a la comunidad científica y a la industria del software a aumentarlas.
3. CONCLUSION
En este trabajo, partimos de la premisa que usuario satisfecho aceptará el cambio y usará el nuevo sistema
informático si ha participado en la definición del mismo. Esta satisfacción se robustece si además ha sido
escuchado de cuáles son sus necesidades de satisfacción a cubrir, independientemente del tipo de
participación (directa o indirecta). Esto, dió origen a evaluar estas necesidades de satisfacción de los usuarios
no solamente desde el punto de vista técnico, sino también desde el punto de vista social.
53
ISBN: 978-972-8939-96-0 © 2013 IADIS
Al haber aplicado la herramienta de medición en distintos casos se concluye que posee un nivel de
confiabilidad, validez y objetividad aceptable ya que demostró consistencia entre los resultados obtenidos,
reflejando veracidad de satisfacción de la muestra.
Las experiencias realizadas nos han permitido confirmar una vez más, que parte de los fracasos de las
implantaciones de los sistemas informáticos se deben a aspectos sociales y no solo a aspectos técnicos.
Se tiene planificado ampliar la generación de evidencias mediante la herramienta fuera del contexto
nacional, para lo cual habrá que adaptar el lenguaje al país en que se aplicaría la misma.
Se tiene planificado experimentar con diferentes maneras de administración de la herramienta para poder
evaluar las diferentes reacciones de los usuarios.
De esta línea de investigación se desprendió una sub línea, orientada hacia la Ingeniería del
conocimiento, en la cual nos encontramos trabajando en la generación de un prototipo de sistema experto en
el cual la base de conocimiento sea el juicio de los expertos.
AGRADECIMIENTOS
En primer lugar, quiero agradecer a Marcelo Estayno, por el desarrollo de mi tesis de Maestría en Informática
y mi desarrollo profesional como investigadora. Y a mi equipo de investigación, Diego Arenas, Damián
Gimenez, Elisa Licata Caruso y Mayra Carabajal, quienes han avanzado con esta línea de investigación en
sus tesinas de grado.
REFERENCIAS
Checkland, P. 1993. Pensamiento de sistemas, práctica de sistemas. México: Megabyte - Grupo Noriega Editores.
Estayno, M. et. al, 2012, Aproximación a una Herramienta para la medición de la satisfacción de las necesidades de los
usuarios. XIV Workshop de Investigadores en Ciencias de la Computación. Misiones, Argentina, pp. 428-432
Estayno, M. et al, 2011, Medición socio-técnica de las implementaciones de los sistemas de información automatizados.
XIII Workshop de Investigadores en Ciencias de la Computación. Rosario. Argentina, pp. 514-518
Estayno, M. et. al, 2012, Prototipo de herramienta para la medición socio- técnica de la satisfacción de las necesidades de
los usuarios. XVIII Congreso Argentino de Ciencias de la Computación. Bahía Blanca, Argentina, pp. 1313-1322
Grau, X. F. Marco de integración de la usabilidad en el proceso de desarrollo de software. Tesis Doctoral . Departamento
de Lenguajes y Sistemas Informáticos e Ingeniería de Software. Facultad de Informática. Universidad Politécnica de
Madrid. (2005).
Grau, X. F. 2000. Principios Básicos de Usabilidad para Ingenieros de Software. V Jornadas de Ingeniería de Software y
Bases de Datos.Valladolid, España, pp. 39-46
Hernández Sampieri R. et al, 2006. Metodología de la investigación. México: Mc Graw Hill.
IEEE ANSI 830-1998. 1998. IEEE Recommended Practice for Software Requirements Specifications. USA: Institute of
Electrical and Electronics Engineers.
Kolb, D. et al. 1970. An Organization Development Approach to Consulting. Sloan Management Review , 51-65. ((pre-
1986); Fall 1970).
ISO 9004:2009. International Organization for Standardization. http://www.iso.org/iso/home/standards/management-
standards/iso_9000.htm
Mumford, E. 2003. Redesigning Human Systems. United States of America / United Kingdom: Information Science
Publishing.
Leavitt, H. J. 1965. Applied Organizational Change in Industry: Structural, Technological and Humanistic, Handbook of
Organizations. James G. March.
Likert, R. 1967. The Human Organization. McGraw Hill.
Maslow, A. 1991. Motivacion y Personalidad. España: Diaz de Santos.
McGregor. 1960. The Human Side of Enterprise. McGraw Hill.
Robbins S. et al, 2005. Administración (Octava ed.). Mexico: Pearson Educacion.
Panizzi, Marisa Daniela (2012). Propuesta de Recomendaciones para la implementación de Sistemas Informáticos. MS.
Tesis de Maestría en Informática. Universidad Nacional de La Matanza. 168 pp.
54
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Esse artigo descreve o desenvolvimento e apresenta um protótipo de uma aplicação de reconhecimento de placas de
veículos. O reconhecimento de placas veiculares tem como objetivo identificar, a partir de uma imagem, os caracteres
que compõem a placa do veículo presente na imagem. A aplicação foi desenvolvida utilizando técnicas de processamento
de imagens e análise de variação tonal para a localização da placa na imagem e para a segmentação dos caracteres e,
utiliza de redes neurais, para o reconhecimento de caracteres. A aplicação obteve 81% de acerto no reconhecimento dos
caracteres em teste executado com uma base de 357 fotos de veículos.
PALAVRAS CHAVE
Placas veiculares, Redes neurais, Variação tonal, Processamento de imagens.
1. INTRODUÇÃO
As informações obtidas através do reconhecimento de placas de automóveis podem ser utilizadas para
inúmeros fins, desde o monitoramento até a geração de estatísticas de tráfego. Essa tecnologia pode ser
aplicada em diversos setores, tanto em órgãos públicos como em empresas privadas. Podem ser citados
vários exemplos de aplicações possíveis para a ferramenta proposta como: Monitorar rodovias com a
finalidade de buscar carros roubados ou procurados pela polícia. Monitorar rodovias buscando identificar
veículos que estão com documentação irregular ou com débitos junto aos órgãos regulamentadores.
Monitorar rodovias para criar histórico de tráfego como, por exemplo, gerar estatísticas da quantidade e dos
tipos de veículos que trafegam na rodovia, podendo efetuar análises por períodos. Sendo possível também
identificar o tipo de tráfego da rodovia, como por exemplo, municipal, estadual, interestadual, possibilitando
assim auxiliar no planejamento da infraestrutura rodoviária e, ainda, monitorar a entrada e saída de veículos
em locais restritos como, por exemplo, estacionamento de empresas, supermercados, shoppings, entre outros.
Em abril de 2013 o número de veículos registrados no país atingiu 77.849.890 segundo levantamento do
Departamento Nacional de Trânsito (DENATRAN, 2013) e, ainda segundo Moreira (2011), em dez anos o
aumento acumulado foi de 119%, ou seja, mais 35 milhões de veículos chegaram às ruas no período. Com
base nesses números pode-se concluir que o monitoramento automatizado da crescente frota de veículos no
país se faz cada vez mais necessário.
Souza e Susin (2000) desenvolveram o projeto SIAV (Sistema de Identificação Automática de Veículos).
O projeto visa alcançar a capacidade de localizar e interpretar o conteúdo da placa de um veículo qualquer
através da utilização de técnicas de processamento de imagens e inteligência artificial. Para obter o resultado
esperado foram utilizados alguns algoritmos e técnicas, como por exemplo: Algoritmo de localização da
placa, técnicas de segmentação e redimensionamento dos caracteres encontrados e uma rede neural para
reconhecimento dos caracteres. O SIAV foi desenvolvido para Windows 95 utilizando a linguagem C++.
Após aperfeiçoamento, a versão SIAV 2.0 obteve 88,70% de acerto na localização da placa e 82,70% de
acerto no reconhecimento dos caracteres em testes feitos pelos autores do projeto.
55
ISBN: 978-972-8939-96-0 © 2013 IADIS
Guingo (2003) propõe um sistema que possa fazer o reconhecimento automático das placas dos
automóveis através da aplicação das técnicas de processamento de imagens e de inteligência computacional.
A estratégia adotada para a concepção e desenvolvimento do sistema é modular, dividida em seis fases, que
cobrem desde a tomada da imagem até o reconhecimento de cada um dos caracteres que compõem a placa.
Em alguns testes apresentados na dissertação observa-se um percentual de acerto de 86% em imagens com
qualidade boa, 78% em imagens com qualidade normal e 40% em imagens com qualidade ruim. Gualberto
(2010) divide o reconhecimento de imagens em 3 etapas: A primeira consiste na localização da placa. A
segunda consiste num pré-processamento da placa e, a terceira etapa, consiste em aplicar uma função de
Reconhecimento Ótico de Caracteres (OCR) a fim de identificar os caracteres. O projeto proposto pelo autor
se limita a realização da segunda e terceira etapa do reconhecimento.
É perceptível a necessidade de desenvolvimento de aplicações para automatizar a identificação de placas
veiculares. Os trabalhos publicados, em geral, apresentam uma combinação de técnicas de processamento de
imagem, aliada à técnicas de inteligência artificial. O objetivo desse artigo é descrever o método de
processamento da imagem, principalmente o reconhecimento da localização das placas nas imagens,
utilizando a técnica de variação tonal, bem como a descrição da estrutura de rede neural utilizada para o
reconhecimento dos caracteres e, com isso, apresentar os resultados obtidos.
2. MATERIAIS E MÉTODOS
O desenvolvimento da aplicação foi dividido em três etapas, sendo elas, a localização da placa na imagem, a
segmentação de caracteres e o reconhecimento óptico de caracteres. A metodologia de divisão do processo
nas três etapas foi baseada nas etapas seguidas por Trentini et al (2010).
Co = R - B
t = B + (Co >> 1) (1)
Cg = G - t
Y = t + (Cg >> 1)
Para transformar a imagem do formato RGB em escala de cinza é atribuído o valor encontrado para Y
(luminância), que representa a intensidade de cinza na abordagem YCoCg, aos atributos R, G e B de cada
pixel. Nessa transformação as cores dos pixels, que são representadas pelo Co (crominância laranja) e Cg
(crominância verde), são ignoradas.
2.1.1 Análise de Variação Tonal
Após a transformação para a escala de cinza, buscou-se criar um gráfico de variação tonal da imagem. As
técnicas desenvolvidas para criação de gráfico de variação tonal e quantização foram inspiradas nos conceitos
de amostragem e quantização. Essas técnicas são utilizadas no processo de digitalização de sinais analógico
(conversão analógico/digital), tais como sinais de áudio e vídeo [Fernandes e Panazio, 2009].
O gráfico de variação tonal de uma linha representa, no eixo x, os pixels da linha da imagem e, no eixo y,
seu valor no padrão RGB de 0 a 255, da imagem em escala de cinza. Para efeito de melhor visualização e
entendimento do gráfico foi invertido os valores RGB do eixo y do gráfico, considerado o valor 0 como
branco e o valor 255 como preto, ficando assim, o oposto do padrão RGB. No gráfico da Figura 1a é possível
56
Conferência IADIS Ibero-Americana Computação Aplicada 2013
observar nitidamente uma alta variação tonal dos locais onde se encontram as placas. No gráfico da Figura 1b
é possível observar uma área da imagem que não possui placa, portanto não possui a alta variação tonal
característica de uma placa.
Figuras 1a e 1b. Variação tonal de uma placa (1a) e variação tonal sem a presença da placa (1b)
Após a quantização da variação tonal é aplicada uma normalização da quantização (Figura 2), visando
diminuir a quantidade de blocos. Esse processo visa unir os blocos consecutivos de aumento ou diminuição
da variação tonal. O uso dessa técnica melhora a precisão dos métodos que analisam os blocos em busca das
características de variação tonal das placas, pois une alguns dos blocos que não caracterizam a presença de
um caractere na imagem.
57
ISBN: 978-972-8939-96-0 © 2013 IADIS
O cálculo do desvio padrão de altura dos blocos é calculado para cada linha da região, para mensurar a
homogeneidade dessa região, ou seja, quanto mais homogênea maior a possibilidade de presença da placa na
imagem. As equações 3 e 4, são utilizadas para esse fim, onde é a média de altura dos blocos, é o desvio
padrão de altura, é a altura de um bloco e é a quantidade de blocos, sendo que são considerados apenas
os blocos de subida entre o primeiro e o último bloco candidato da linha.
(3)
(4)
Depois de calculado o desvio padrão de altura dos blocos para todas as linhas da região é selecionado a
linha que possui o menor desvio padrão, e esse desvio padrão ( ) é somado a diferença de tamanho (dt)
calculada para a região. Esse cálculo é efetuado para todas as regiões, e a região com menor resultado será a
escolhida para ser segmentada.
Na etapa de segmentação de caracteres o objetivo é extrair os 7 caracteres que são encontrados nas placas
e prepará-los para o envio a etapa de reconhecimento óptico dos caracteres. Alguns dos algoritmos da etapa
de segmentação necessitam dos valores referentes a densidade das linhas e/ou das colunas da imagem.
Conforme Trentini et al (2010) a densidade pode ser calculada somando-se a quantidade de pixels pretos
encontrados em determinada parte de uma imagem binarizada.
O processo de segmentação da imagem efetua cortes da imagem nos pontos em que a densidade da coluna
for menor que 10% da densidade máxima encontrada na imagem, considerando para a criação dos segmentos
os intervalos em que a densidade é superior ao delimitador. As figuras 4a e 4b mostram os resultados dos
processos de binarização e segmentação da imagem.
58
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Figuras 4a e 4b. Resultados obtidos após a binarização da imagem e segmentação dos caracteres
Quando a etapa de segmentação encontrar mais de 7 segmentos, conforme mostrado na figura 4b, é
necessário a aplicação de uma heurística para a seleção dos 7 segmentos que mais se aproximam das
características esperadas de um caractere. Para tal, foram definidas algumas regras para a análise dos
segmentos.
Primeiramente são selecionados os 7 elementos com altura mais próxima entre si, em seguida adicionado
ao conjunto os segmentos que possuem uma diferença de altura de até 5 pixels comparados a altura dos
elementos do conjunto anterior. Após essa etapa é efetuado uma análise das dimensões dos segmentos do
conjunto selecionado.
Para analisar as dimensões do segmento é feita a divisão de y/x, onde y é a altura do segmento e x é a
largura do segmento. O resultado esperado para essa equação é um valor entre 1,45 e 5,65 (valores
padronizados para caracteres das placas veiculares). Caso o resultado da equação não esteja nesse intervalo,
então é calculado o desvio de tamanho que é a distância do resultado obtido ao intervalo esperado. São
selecionados para a etapa de reconhecimento óptico 7 elementos com distância igual a 0 e/ou com menor
distância do padrão esperado da imagem.
59
ISBN: 978-972-8939-96-0 © 2013 IADIS
3. RESULTADOS E DISCUSSÕES
A interface para demonstração dos resultados obtidos foi desenvolvida utilizando as tecnologias Java SE e
Swing, conforme pode ser visto na Figura 5. Essa interface tem como objetivo apresentar o resultado da
aplicação de reconhecimento de placa.
Entre as falhas ocorridas, 25 são falhas na localização da placa, decorrentes algumas vezes por conter
ambiente com muita variação tonal ou por confundir a variação tonal da placa com a variação tonal de
adesivos do carro. Outras 40 falhas são decorrentes de erro de segmentação dos caracteres, onde alguns deles
são causados pelo fato de a placa estar com alguns caracteres um pouco apagados e outros pelo fato de a
placa possuir parafusos, próximos aos caracteres, que acabam não sendo separados na segmentação. A etapa
de reconhecimento dos caracteres apresentou 3 falhas, sendo elas 2 no reconhecimento de letras e 1 no
reconhecimento de números. Ambas as falhas foram ocasionadas pelo efeito de inclinação presente na placa.
60
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Para verificar a compatibilidade com diversas resoluções, a aplicação foi testada utilizando dois cenários
onde foram obtidas imagens nas resoluções 2560x1920, 2048x1536, 1600x1200, 1280x960, 640x480. Nas
imagens com resolução 640x480 não foram obtidos sucesso do reconhecimento, apresentando falha na
segmentação dos caracteres devido a baixa resolução. Nas demais resoluções a aplicação se mostrou
compatível e não apresentou falhas, a mais, devido a diversidade de resolução.
A validação foi executada em um notebook com processador Core i5-2410M com 2,30 Ghz, 4 GB de
memória RAM e com sistema operacional Windows 7 Home Premium. Nesse cenário a aplicação efetuou o
reconhecimento das 357 imagens sequencialmente, sem a utilização de thread, em 5:10 minutos, sendo
aproximadamente 868 milissegundos por imagem.
4. CONCLUSÃO
A aplicação obtém uma taxa de acerto de 81% utilizando a base de imagens de validação, cumprindo assim a
expectativa obtida em torno do projeto. Esses resultados podem ser considerados bons e bastante
promissores. Os resultados mostram a eficácia dos métodos aplicados, porém, para que a aplicação possa ser
utilizada em ambientes reais ainda se torna necessário um estudo aplicando-a nesses ambientes para obter
dados mais realistas de precisão e desempenho. Também se torna necessário o estudo de melhorias nas
técnicas utilizadas na aplicação visando um aumento na precisão dos resultados. Contudo os resultados
obtidos já mostram que a aplicação tem grande potencial para poder vir a atender a diversas necessidades de
reconhecimento de placas de veículos.
Os pontos em que a aplicação apresenta a maior quantidade de falhas são nas etapas de segmentação dos
caracteres e localização da placa, que são etapas cruciais no sucesso do reconhecimento. Essas etapas
poderiam ser alvo de futuros estudos visando o aumento das taxas de acerto para aprimorar o desempenho da
aplicação, com o objetivo de aumentar a viabilidade do uso em ambientes reais.
Os resultados do trabalho desenvolvido chegaram próximos aos resultados de alguns trabalhos correlatos,
sendo até superiores em alguns casos. Porém não é possível fazer um comparativo justo entre os trabalhos,
pois a análise de percentual de sucesso é muito subjetiva, dependendo muito das características da base de
imagens que foi utilizada para fazer a validação e coleta de resultados do trabalho. Sendo assim, torna-se
muito susceptível a cometer equívocos, qualquer comparação dos percentuais de acerto do trabalho
desenvolvido com qualquer trabalho correlato apresentado.
REFERÊNCIAS
Conci, Aura; Monteiro, Leonardo Hiss, 2004. Reconhecimento De Placas De Veículos Por Imagem. In: III Congresso
Nacional de Engenharia. Belém, 2004, Belém, Brasil.
CONTRAN. Resolução no 241, de 22 de Junho de 2007. Dá nova redação aos incisos I e II do art. 6o, ao art. 11 e ao
Anexo da Resolução no 231/2007 – CONTRAN.
DENATRAN. Frota de veículos: Frota 2013. 2013. Disponível em: <http://www.denatran.gov.br/frota.htm>. Acesso em:
01 jun. 2013.
Fernandes, Tales Gouveia; Panazio, Aline Neves, 2009. Do analógico ao digital: amostragem, quantização e codificação.
In: II Simpósio de Iniciação Científica da Universidade Federal do ABC. Santo André, 2009.
Gonzalez, Rafael C.; Woods, Richard E., 2010. Processamento digital de imagens. 3. ed. São Paulo: Pearson Prentice
Hall, 624 p.
Gualberto, Daniel Rocha. 2010. Em rumo a um sistema automático de controle de acesso de veículos automotivos:
Reconhecimento de caracteres em placas de veículos. 51 f. Monografia (Graduação em Ciência da Computação) -
Universidade Federal de Ouro Preto, Ouro Preto
Guingo, Bruno Clemente, 2003. Reconhecimento Automático de Placas de Veículos Automotores. 143 f. Dissertação
(Mestrado em Ciência da Computação) - Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2003.
Haykin, Simon. 2001. Redes neurais: princípios e prática. 2.ed. - Bookman, Porto Alegre, Brasil.
Malvar, Henrique S. et al. 2008. Lifting-based reversible color transformations for image compression. In: Applications
of Digital Image Processing XXXI. Microsoft Corporation, USA.
Mitchell, Tom M. 1997. Machine Learning. WCB–McGraw–Hill
61
ISBN: 978-972-8939-96-0 © 2013 IADIS
Moreira, Ardilhes. 2011. Frota de veículos cresce 119% em dez anos no Brasil, aponta Denatran. Disponível em:
<http://g1.globo.com/carros/noticia/2011/02/frota-de-veiculos-cresce-119-em-dez-anos-no-brasil-aponta-
denatran.html>. Acesso em: 29 nov. 2012.
NEUROPH. Java neural network framework. 2012. Disponível em: <http://neuroph.sourceforge.net>. Acesso em: 01 jun.
2013.
ORACLE JAI API. Java Advanced Imaging API. 2007. Disponível em:
<http://www.oracle.com/technetwork/java/javase/tech/jai- 142803.html>. Acesso em: 01 jun. 2013.
Rijsselbergen, Dieter Van. 2005. YCoCg(-R) Color Space Conversion on the GPU. In: Sixth FirW PhD Symposium,
Faculty of Engeneering, Ghent University.
Souza, Fernando P. Coelho de.; Susin, Altamiro Amadeu. 2000. SIAV: Sistema de Identificação Automática de Veículos.
In: XIII Congresso Brasileiro de Automática, Universidade Federal do Rio Grande do Sul. Porto Alegre.
Trentini, Vinicius Bergoli et al. 2010. Reconhecimento Automático de Placas de Veículos. In: VI Workshop de Visão
Computacional, Universidade Estadual Paulista, Presidente Prudente.
62
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
O objetivo deste trabalho é desenvolver um sistema dinâmico de mapeamento de linhas de ônibus que fornecerá
informações a respeito do transporte coletivo da cidade de Manaus para os usuários. Utilizando tecnologias de
geolocalização em tempo real em conjunto com plataformas móveis, o projeto pretende fornecer para o usuário
informações detalhadas a respeito do itinerário completo das linhas de ônibus da cidade e também sua geolocalização no
mapa em um determinado momento. Uma API padrão de comunicação será desenvolvida a fim de possibilitar o acesso
aos dados a partir de qualquer plataforma.
PALAVRAS-CHAVE
Geolocalização, transporte urbano, GPS, GPRS, arduino
1. INTRODUÇÃO
A falta de informação a respeito do transporte coletivo nas grandes cidades brasileiras ainda é um grande
problema que afeta tanto os moradores da cidade quanto os turistas que pretendem utilizar o transporte
público.
Os órgãos responsáveis não divulgam abertamente estas informações, e como ainda não há uma
organização a respeito dos horários que cada ônibus irá passar em um determinado lugar, os usuários muitas
vezes perdem o ônibus e com isso se atrasam para a chegada ao seu destino. Diante deste grave problema que
afeta grande parte da população brasileira, a qual depende do transporte coletivo diariamente, propomos aliar
a tecnologia para resolver ou minimizar tal situação.
Este projeto tem como objetivo desenvolver uma solução que fornecerá informações a respeito do
transporte coletivo, esta solução será um sistema que irá aliar sistemas embarcados, comunicação GPRS,
webservices, banco de dados, redes e sistemas operacionais móveis, onde juntos fornecerão para o usuário o
itinerário completo de cada ônibus da cidade, ônibus disponíveis a partir da origem e destino selecionadas e
mapas para auxiliar a visualização em tempo real da posição dos ônibus.
2. FUNDAMENTOS TEÓRICOS
Este capítulo visa fornecer a fundamentação teórica de acordo com as tecnologias utilizadas durante o
desenvolvimento do projeto, assim como identificar quais os componentes e ferramentas utilizadas.
63
ISBN: 978-972-8939-96-0 © 2013 IADIS
2.1 GPS
A funcionalidade principal do projeto irá utilizar o sistema de posicionamento global – GPS, e seu
funcionamento é relevante para o desenvolvimento do projeto. O GPS é um sistema de posicionamento de
abrangência global em tempo real, desenvolvido pelo departamento de defesa dos Estados Unidos em 1973,
ele consta com dois tipos de serviço de posicionamento diferentes: o padrão SPS (Standard Positioning
Service) e o preciso PPS (Precise Positioning Service). O SPS está disponível a todos os usuários do globo e
proporciona valores com precisão de 100 a 140m ou 10 a 20m, enquanto o PPS, de uso restrito militar
apresenta precisão de 10 a 20 m. Nota-se, assim, que ambos os serviços podem proporcionar valores com a
mesma precisão [1].
O GPS é dividido em três segmentos: espacial, de controle e de usuários. O segmento espacial consiste de
24 satélites distribuídos em seis planos orbitais igualmente espaçados, que cruzam o centro da terra. Cada
plano conta com quatro satélites. Essa configuração permite que, em qualquer local da superfície terrestre, a
qualquer momento, pelo menos quatro satélites estejam “visíveis” por um receptor. O segmento de controle é
o responsável pelo monitoramento, correção dos relógios e atualização periódica das mensagens de
navegação de cada satélite. O segmento de usuários é constituído pelos receptores GPS, dependendo da
aplicação a qual se destina, o aparelho necessita um grau maior ou menor de qualidade do seu relógio interno
[2].
Considerando a sofisticação existente por trás da tecnologia, o princípio de funcionamento do GPS é
relativamente simples. Cada um dos 24 satélites componentes do sistema transmite continuamente um sinal
de rádio (onda eletromagnética) que contém informações sobre a sua posição orbital, vinculado à um
referencial geodésico, e o tempo marcado por seu relógio atômico interno. Um receptor GPS localizado na
terra recebe informações de, no mínimo, quatro satélites diferentes e usa esses dados para calcular sua
posição no planeta [3].
Utilização de voz e dados ao mesmo tempo;
Ampla cobertura
Redução de custos. Com apenas o GSM a tarifação poderá ser efetuada por tempo de conexão.
Com o GPRS, a informação é dividida em “pacotes” relacionados entre si antes de ser transmitida e
remontada no destinatário.
Durante o transporte entre a origem e o destino, as informações são misturadas. Quando o destinatário
recebe todos os dados do pacote ele as remonta, formando a informação completa original [4].
O GPRS faz o uso eficiente de diversos recursos que possibilitam um grande número de usuários
compartilhando a mesma largura de banda, utilizando a modulação por chaveamento de fase gaussiano [5].
64
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Um cliente em geral é referenciado como User Agent, ou simplesmente UA. Os recursos HTTP são
identificados e localizados por meio de um URI (Uniform Resource Identifier), mais especificamente, do tipo
URL (Uniform Resource Locator) [7].
As requisições são feitas por meio dos métodos HTTP. A seguir são listados os principais métodos.
GET: requisição de recurso . É um método básico do HTTP.
POST: envia dados a serem processados pelo servidor a um recurso identificado.
OPTIONS: retorna os métodos http suportados pelo servidor.
3. METODOLOGIA
A concretização deste projeto ocorreu de acordo com as seguintes etapas definidas no início do mesmo:
4. DESENVOLVIMENTO
Neste tópico serão apresentadas as etapas de desenvolvimento do projeto. Serão abordados os componentes
de software e hardware envolvidos e a integração física entre os módulos. Também será descrito o
desenvolvimento do aplicativo cliente e do firmware embarcado. Por fim, o desenvolvimento do webservice
será detalhado e como foi realizada a integração dos módulos.
65
ISBN: 978-972-8939-96-0 © 2013 IADIS
4.2 Hardware
Para o projeto de hardware embarcado foram utilizados os seguintes módulos: microcontrolador, módulo
GPS e um módulo GPRS. Nas seções seguintes serão apresentados com mais detalhes.
4.2.1 Microcontrolador
O microcontrolador utilizado foi o ATMEGA328. Trata-se de um microcontrolador da fabricante ATMEL,
de 8 bits, com 32kB de memória flash, 2kB de memória RAM e arquitetura RISC (Reduced Instruction Set
Computer). Possui 131 instruções assembly, sendo que a maioria delas realizada em um único ciclo de clock.
Além disso possui 14 pinos de entrada e saídas digitais e 6 entradas analógicas. Com relação a capacidade de
processamento, ele é capaz de executar 20 milhões de instruções por segundo (MIPS), quando associado com
um cristal oscilador de 20 MHz [7].
4.2.2 Módulo Gps
O receptor GPS escolhido é o módulo ME-1000RW fabricado pela M.E Componentes eletrônicos.
66
Conferência IADIS Ibero-Americana Computação Aplicada 2013
O ME-1000RW é um módulo receptor GPS com antena acoplada. A antena é conectada ao receptor
através de um LNA. (Amplificador de Baixo Ruido). O receptor possui 51 canais de aquisição e 14 canais de
rastreamento que são capazes de receber sinais de até 65 satélites GPS e informar a posição e o tempo
precisos para serem lidos na porta UART ou RS232. O equipamento possui baixo consumo e a faixa de
tensão supor tada é de 3.3V~6.0V. O conector possibilita a saída tanto em nível TTL quanto em nível RS232
[8].
4.2.3 Módulo Gprs
Para o módulo GPRS, foi selecionado o SIM900B, fabricado pela SIMCom Wireless Solutions. Opera em
quatro frequências de banda (quad-band), o módulo dispõe de interfaces seriais USART, SPI e I2C,
conversor analógico-digital, e é preparado com entradas e saídas para microfone e alto-falantes.
4.3 Firmware
O software embarcado irá controlar os módulos GPS e GSM/GPRS na coleta de dados e em seguida enviar
para o webservice. Pelo fato de a cominucação depender diretamente da rede de celular foi necessário
desenvolver um firmware robusto o suficiente para lidar com eventuais interrupções na comunicação. O
fluxograma do firmware desenvolvido se encontra na figura 4.
O firmware tem como papel coletar os dados provenientes do módulo GPS (coornedadas, velocidade e
data/hora) e enviar para o webservice através do módulo GSM/GPRS. Esta operação será realizada a cada 20
segundos.
67
ISBN: 978-972-8939-96-0 © 2013 IADIS
GET http://whatbus.no-ip.org:8185/apimobile/index.php?funcao=registra_localizacao?id=1234&latitude=
3.2342&longitude=4.3232&data=12/04/2013&hora=11:12:32
HTTP/1.1[CR][LF]
Host:whatbus.no-ip:8185.org[CR][LF]
User-agent: Arduino [CR][LF]
[CR][LF]
<?php
if(isset($_GET['funcao']) && $_GET['funcao'] != '') {
$funcao = $_GET['funcao'];
require_once 'include/DB_Functions.php';
$db = new DB_Functions();
if(method_exists($db,$funcao)) {
call_user_func_array(array(&$db, $funcao),array($_GET));
} else{
echo "Access Incompatible!";
}
} else {
echo "Access Denied";
}
?>
68
Conferência IADIS Ibero-Americana Computação Aplicada 2013
5. RESULTADOS OBITIDOS
Para a validação do projeto a aplicação web foi hospedada provisoriamente em um servidor doméstico
utilizando o Apache como servidor http e banco de dados MySQL, ambos operando no sistema operacional
Linux.
Uma amostra de coordenadas coletadas pela aplicação web pode ser vista na figura 6.
69
ISBN: 978-972-8939-96-0 © 2013 IADIS
6. CONCLUSÃO
O estudo apresentado neste projeto é de uma importância estratégica, uma vez que o transporte público está
passando por um processo de descrédito cada vez maior junto ao público alvo.
Em Manaus, por exemplo, o transporte púbico por meio de linhas regulares vem perdendo mercado para
sistemas alternativos. Um dos motivos é justamente o modelo tecnológico ultrapassado no qual o transporte
brasileiro se baseia no seu funcionamento.
O projeto aqui apresentado foi capaz de mostrar a viabilidade de se implementar uma solução tecnológica
que permite apresentar ao usuário o posicionamento da rota em tempo real e também informações básicas
referente ao transporte coletivo como, itinerário dos ônibus e alternativas de rotas a partir de uma origem e
destino.
Como sugestão para trabalhos futuros, pode-se estudar a viabilidade de aproveitar o sistema embarcado
até aqui desenvolvido para acrescentar um dispositivo de alerta de roubo, no qual o motorista irá apertar um
botão e um sinal de alerta será enviado diretamente para o distrito policial mais próximo.
REFERÊNCIAS
[1] Zanotta, D. C., Cappelletto, E., & Matsuoka, M. T. (2011). O GPS: unindo ciência e tecnologia em aulas de fısica.
Revista Brasileira de Ensino de Fısica, 33(2), 2313.
[2] J.F.G. Monico, 2008. Posicionamento Pelo GNSS: Descrição, Fundamentos e Aplicações. Unesp, São Paulo.
[3] W. Hoffmann, B.H. Lichtenegger and J. Collins, 1994. GPS: Theory and Practice. Springer-Verlag, New York.
[4] NOVATEL WIRELESS INC, 2002. Technical Manual with Specifications: Merlin for GPRS. Novatel, 215 p.
[5] TURLETTI, Thierry, 1996. A brief Overview of the GSM Radio Interface. Massachusetts: Massachusetts Institute of
Technology.
[6] Kurose, J., & Ross, K.,2006. Redes de Computadores e Internet. São Paulo: Person.
[7] ATMEL INC. Atmel Microcontroller with 4/8/16/32K Bytes In-Stytem Programmable Flash ATMEGA328P-P.
Atmel, 2011. 567 p.
[8] ME Componentes eletrônicos, 2009. MÓDULO GPS COM ANTENA ACOPLADA ROM ME-1000RW. 14 p.
70
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
A teoria da evolução inspirou a criação da computação evolutiva, ramo da computação capaz de solucionar problemas de
otimização. Esta categoria de problemas pode ser solucionada eficientemente através da adoção de técnicas como
algoritmos genéticos. Problemas de geração de grade horária são identificados em diversos contextos, o objetivo deste
trabalho é descrever a aplicação de algoritmos genéticos na criação de uma grade horária otimizada para enfermarias.
PALAVRAS-CHAVE
Algoritmo Genético, Geração de Horário, Horários de Enfermarias e Inteligência Artificial
1. INTRODUÇÃO
Uma importante tarefa na computação é a otimização na resolução de problemas, existe diversos problemas
que apresentam grande quantidade de soluções possíveis e a identificação de uma solução eficiente é uma
tarefa complexa, podendo demandar um esforço computacional considerável [Linden 2012].
Há diversas técnicas que podem ser utilizadas na solução deste tipo de problema, tais como: Algoritmos
Genéticos (AG), GRASP (Greedy Randomized Adaptive Search Procedure) , Busca Tabú, Algoritmo da
colônia de formigas, Redes neurais artificiais, Simulated annealing, entre outras. Este trabalho utilizou a
técnica de algoritmo genético. Tal técnica é baseada em três partes distintas: a codificação do problema, a
função objetivo que se deseja maximizar ou minimizar e o espaço de soluções associado. A escolha da
técnica de algoritmos genéticos é baseada na ampla utilização desta técnica na elaboração de escala de
trabalho, devido principalmente à diversificação promovida pelo AG para obter os melhores resultados.
O Problema de Geração de Horários, também conhecido como Timetabling Problem, trata da alocação de
horários para as atividades em um determinado contexto, considerando-se restrições nestes horários. Este
problema pode ser identificado em diversos contextos, tais como: escalonamento de enfermeiros, horários de
aulas em instituições de ensino, horários de médicos e planejamento de transporte publico, entre outros. O
desenvolvimento de uma solução para este problema de forma manual, além de ser trabalhosa e lenta, pode
gerar soluções não tão boas. Este tipo de problema tem sido constantemente solucionado através do uso da
técnica de algoritmos genéticos [Poltosi and Goméz 2007].
Desta forma, este trabalho desenvolveu um algoritmo, utilizando técnicas de algoritmos genéticos, capaz
de encontrar uma boa solução na montagem de grade horária para enfermarias.
2. ALGORITMO GENÉTICO
Algoritmo Genético é uma técnica baseada em computação evolutiva, tais técnicas se inspiram em princípios
da teoria da evolução e seleção natural e utiliza modelos destes processos naturais para encontrar soluções de
problemas [Bergamaschi and Bonfim 2010].
71
ISBN: 978-972-8939-96-0 © 2013 IADIS
Uma atividade essencial nesta técnica é a definição da representação de cada individuo que fará parte do
processo de seleção natural, tal individuo é definido como cromossomo. Existem diversas formas de
representá-lo, tais como: binária, inteira, real ou alfanumérica. Esta representação também é conhecida como
alfabeto do Algoritmo Genético [Bergamaschi and Bonfim 2010]. A Figura 1 mostra um exemplo de
representação do tipo alfanumérica, onde cada gene pode possuir somente um caractere.
a b a b 0 1 a a 1 5 T r k v
Figura 1. Representação alfanumérica do cromossomo.
A primeira atividade na elaboração de um algoritmo genético é a criação de uma população aleatória de
cromossomos (indivíduos). Os indivíduos que possuírem os cromossomos que representem uma boa solução
receberão valores maiores, indicando uma maior probabilidade de ser uma boa solução do problema.
A seleção de um bom indivíduo é dependente de uma função objetivo, que indica aquele que atende de
forma mais adequada o problema que está sendo solucionado. A função objetivo informa o quanto um
cromossomo está próximo da solução. Essa função fornece um valor que será usado para o cálculo de sua
probabilidade para ser selecionado para reprodução. Esta função também é conhecida como função de
aptidão [Linden 2012].
Dois indivíduos (pais) deverão ser selecionados para permitir a geração de dois novos indivíduos (filhos).
Existem vários métodos de seleção utilizados nas aplicações de Algoritmos Genéticos: seleção por roleta,
seleção Boltzmann, seleção por torneio, entre outros [Mattioli and Yamanaka 2009].
A seleção por roleta divide os indivíduos em grupos e faz aleatoriamente a sua seleção. Os melhores
indivíduos ganham maiores espaços na roleta e piores indivíduos ganham espaços menores na roleta. Esta
técnica permite selecionar indivíduos mais aptos, mas não exclui os indivíduos que não possuem um bom
material genético [Russel and Norvig 2004].
Para a otimização ou substituição da seleção por roleta é possível adotar a técnica de seleção por torneio,
que limita o tamanho (k) da população colocada na roleta. Esta técnica permite que indivíduos com baixa
probabilidade participe de alguns cruzamentos.
A geração dos novos indivíduos é possível pelo cruzamento entre os cromossomos dos indivíduos
selecionados. Tal operação é essencial para o funcionamento de um Algoritmo Genético. Há diversas formas
de realizar o cruzamento como: ponto de cruzamento único, dois pontos de cruzamento, cruzamento
uniforme e cruzamento aritmético [Poltosi and Goméz 2007].
Garantir uma varredura ampla no espaço de possíveis soluções é essencial em todos os problemas de
otimização. Para atender esta necessidade, algoritmos genéticos aplicam a operação de mutação após a
operação de cruzamento. Esta operação evita que o algoritmo genético encontre precocemente mínimos ou
máximos locais. A mutação é efetuada alterando-se o valor de um ou mais genes de um indivíduo sorteado
aleatoriamente com uma determinada probabilidade, denominada probabilidade de mutação [Russel and
Norvig 2004].
A reinserção dos indivíduos na população é a última etapa necessária, na qual os indivíduos capazes são
preservados e os indivíduos com menor aptidão são descartados. Nesta etapa é possível utilizar a técnica de
Elitismo, que permite manter os k melhores indivíduos e aleatoriamente preencher o restante, outra
abordagem é o Elitismo Total, que mantém apenas os melhores indivíduos [Poltosi and Goméz 2007].
72
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Neste problema é necessário realizar a atribuição de turnos e férias para cada enfermeiro. Cada
enfermeiro tem a sua vontade e suas preferências. A solução deve atender ao máximo possível estas
preferências e também atender as necessidades das enfermarias. Normalmente um enfermeiro pode trabalhar
nos turnos da manhã, tarde e noite (seis primeira horas) [Dias 2010].
Um enfermeiro também pode realizar plantão de 12 horas, que durante o dia compreende os turnos da
manhã e tarde e durante a noite compreende toda a noite [Burke et. al. 2001]. As restrições das enfermarias
são definidas por regras internas ou mesmo leis nacionais ou do órgão que regula a profissão. Uma
enfermaria precisa respeitar estas regras para não ter problemas trabalhistas [Dias 2010].
A definição de uma grade horária eficaz permite a geração de quadros de horários otimizados garantindo
a cobertura correta de profissionais ao longo do período e diminuindo o montante necessário de horas extras
exigidas dos funcionários, o que implica em uma significativa redução de custos. Já os enfermeiros têm como
benefício uma melhor qualidade de vida, visto que a escala gerada permite uma distribuição mais uniforme
do trabalho. A melhoria no ambiente de trabalho permite que se ofereça um melhor atendimento à população
[Camillo and Stelle 2008].
4. DESENVOLVIMENTO DA APLICAÇÃO
0 1 0 1 1 2 1 2 2 1 3 3 3 5 1 3 6 2 3 …
Figura 2. Representação de parte do cromossomo.
73
ISBN: 978-972-8939-96-0 © 2013 IADIS
Cada uma das regras pode ser desativada ou ativada pelo usuário. Abaixo a descrição de cada uma das
regras:
Regra 1: penaliza a solução, quando ela não respeita o período de férias de um enfermeiro. A cada dia de
férias não respeitado é acrescido o valor da penalidade.
Regra 2: penaliza a solução, quando ela permite que um determinado período (Manhã, Tarde e Noite) fique
sem enfermeiro. A cada período não atendido é acrescido o valor da penalidade.
Regra 3: penaliza a solução, quando ela não permite a um enfermeiro que trabalhou a noite, folgar no outro
dia. A cada ocorrência é acrescido o valor da penalidade da regra.
Regra 4: penaliza a solução, quando ela não permite a um enfermeiro que trabalhou em um plantão noturno,
folgar 36 horas. A cada ocorrência é acrescido o valor da penalidade da regra.
Regra 5: penaliza a solução, quando ela não encontra uma quantidade suficiente de enfermeiros por período,
esta quantidade é definida pelo usuário. Quando esta regra esta ativa ela desabilita a regra 2.
Regra 6: penaliza a solução, quando ela não respeita a carga horária máxima de trabalho de um enfermeiro.
A penalidade nesta regra é a quantidade de horas que excederam o limite mensal multiplicada pelo valor da
penalidade da regra.
Regra 7: penaliza a solução, quando ela permite a um enfermeiro trabalhar mais de 6 dias seguidos. A cada
ocorrência é acrescido o valor da penalidade da regra.
Regra 8a: penaliza a solução, quando um determinado dia fica sem plantonista noturno. A cada ocorrência é
acrescido o valor da penalidade da regra.
Regra 8b: penaliza a solução, quando um determinado dia fica sem plantonista diurno. A cada ocorrência é
acrescido o valor da penalidade da regra.
Regra 9a: penaliza a solução, quando a preferência do enfermeiro quanto ao período preferido não é
atendido, o enfermeiro pode indicar o período de preferência para seu trabalho (Manhã, Tarde ou Noite). A
cada ocorrência é acrescido o valor da penalidade da regra.
Regra 9b: penaliza a solução, quando a preferência do enfermeiro quanto aos seus plantões não é atendido, o
enfermeiro pode indicar o horário de preferência para seus plantões (noturno ou diurno). A cada ocorrência é
acrescido o valor da penalidade da regra.
A tabela 1 apresenta os pesos e situação padrão de cada regra. O usuário tem opção de modificar tais
valores.
Tabela 1. Pesos e condição de cada regra.
Regra Ativada Peso Regra Ativada Peso
Regra 1 Sim 10 Regra 7 Sim 3
Regra 2 Não 5 Regra 8a Sim 5
Regra 3 Sim 4 Regra 8b Não 1
Regra 4 Sim 4 Regra 9a Sim 1
Regra 5 Sim 3 (5 caso, número de enfermeiros = 0) Regra 9b Sim 1
Regra 6 Sim 3
Mutação: Mutação de um ponto. Foi adaptado para permitir mudar uma quantidade de até 10 genes.
Nesta solução foram desenvolvidas as seguintes estratégias:
Cruzamento: Foram desenvolvidas as técnicas de roleta e torneio que podem ser utilizados para
Mas o padrão é realizar a mutação de apenas um gene.
Reinserção: Foram desenvolvidas soluções baseadas em elitismo total ou parcial, com um máximo
selecionar os pais para o cruzamento, no cruzamento é considerado um ponto de corte.
de k indivíduos elitizados.
74
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Enfermaria: Permite ao usuário selecionar um arquivo em formato excel (XLS) que armazena os
Neste projeto foi desenvolvido uma interface gráfica, apresentada na figura 3, que contém 5 partes distintas:
Horário Mensal da Enfermaria: O usuário pode selecionar o mês e então executar o algoritmo
dados da enfermaria.
genético. Após a sua execução, o usuário tem três modos de visualizar o resultado: Tabela com
Preferências: O usuário tem a possibilidade de habilitar ou desabilitar regras, bem como modificar
todos os dados gerados, grade horária por enfermaria, grade horária por enfermeiro.
Configuração do Algoritmo Genético: Esta interface permite definir várias configurações para a
os pesos delas.
5. EXPERIMENTOS
O algoritmo genético desenvolvido foi executado em seis experimentos em ciclos contínuos de 5.000
gerações para evolução da solução. O experimento é finalizado quando um ciclo não apresenta melhorias ou
quando apenas erros gerados em regras relacionadas às preferências dos enfermeiros ou horas extras forem
identificados.
Cada experimento foi executado três vezes, modificando a quantidade de enfermeiros. Em cada uma
delas, a quantidade de enfermeiros testará os limites na geração da grade horária, de uma configuração fácil
até uma difícil. A tabela 2 apresenta a configuração de cada um dos experimentos.
75
ISBN: 978-972-8939-96-0 © 2013 IADIS
A figura 4 apresenta os gráficos gerados pela aplicação, com o desempenho do algoritmo no primeiro
experimento. A ferramenta desenvolvida disponibiliza informações quando ao desempenho apresentado,
permitindo ao usuário otimizar a sua configuração. Cada gráfico mostra a evolução da solução do problema
em cada configuração.
76
Conferência IADIS Ibero-Americana Computação Aplicada 2013
O experimento três apresentou mais restrições, gerando soluções que acarretaram uma quantidade maior
de horas extras e no caso de poucos enfermeiros, o não atendimento da folga de 36 horas após a execução de
um plantão.
Os demais experimentos mostraram que é possível evoluir a solução propondo configurações diferentes
para o algoritmo genético.
Os experimentos demonstram que o algoritmo consegue evoluir a solução, entretanto necessita, em alguns
casos, de muitas gerações. O algoritmo conseguiu na maioria dos casos encontrar uma solução satisfatória.
Tais soluções podem ser evoluídas disponibilizando mais gerações para a sua evolução.
6. RESULTADOS E DISCUSSÕES
As regras propostas apresentaram um bom desempenho, permitindo definir um horário que foi capaz de
satisfazer tanto restrições das enfermeiras como dos hospitais, entretanto seria possível criar diversas outras,
tais como: restringir um enfermeiro a uma enfermaria especifica, definir uma preferência a dias da semana,
definir preferências de trabalho em equipe e definir restrições de acessibilidade nas enfermarias.
A solução proposta, além de poder ser utilizada para geração do escalonamento da força de trabalho de
uma enfermaria, pode ser empregada para o planejamento do quadro necessário de enfermeiros.
A configuração do problema gera cromossomos grandes, que oneram muito o processamento. A criação
de grades horárias para diversas enfermarias com dezenas de enfermeiros pode gerar cromossomos com
milhares de genes.
O algoritmo demandou uma grande quantidade de gerações para encontrar uma solução adequada ao
problema, isto se deve principalmente a complexidade do cromossomo. A função de aptidão influenciou
diretamente no desempenho do algoritmo, uma grande quantidade de regras ativas gera uma necessidade de
grande processamento.
Para superar tais dificuldades, é proposto como trabalho futuro: paralelizar a solução das regras e os
processos de cruzamento e mutação, otimizar a representação do cromossomo e também estudo e
implantação de outras técnicas de computação evolutiva para solucionar o problema. A identificação de uma
configuração ótima para o algoritmo genético poderia ser obtida através da aplicação de técnicas de redes
neurais, que permitiria identificar um padrão ótimo para tal configuração.
77
ISBN: 978-972-8939-96-0 © 2013 IADIS
REFERÊNCIAS BIBLIOGRÁFICAS
Beppler, A. and Leite, D. P., 2009. Sistema para geração de escalas de plantões médicos, in III EPAC – Encontro
Paranaense de Computação. pp. 174-183.
Bergamaschi, P. R. and Bonfim, I. P, 2010). O Método de Otimização Evolução Diferencial: uma análise dos parâmetros
– fator de perturbação e probabilidade de cruzamento, in Anais do II Simpósio de Matemática e Matemática
Industrial – SIMMI’ ’2010, Vol. 1, ISSN 2175-7828.
Burke, E. B., et al, 2001. Fitness Evaluation for Nurse Scheduling Problems. In Evolutionary Computation. pp. 1139 -
1146 vol. 2.
Camillo, C. and Stelle, D., 2008. Aplicando Algoritmos Genéticos ao problema de definição de escala de trabalho do
corpo de enfermagem de um Hospital Universitário. In XL SBPO Simpósio Brasileiro de Pesquisa Operacional. pp.
1216-1224.
Dias, H. J. C., 2010. Escalonamento de equipas de enfermagem de acordo com a previsão das necessidades de serviço.
Dissertação de Mestrado. Universidade Técnica de Lisboa. Instituto Superior de Economia e Gestão.
Linden, R., 2012. Algoritmos genéticos: uma importante ferramenta da inteligência computacional. 3ª Edição. São
Paulo: Brasport.
Mattioli, F. and Yamanaka, K., 2009. Algoritmos Genéticos aplicados à programação de Manutenção de Sistemas
Elétricos de Potência.
Poltosi, M. R. and Goméz A. T., 2007. Elaboração de escalas de trabalho de técnicos de enfermagem com busca tabu e
algoritmo genético. In XXXIX Simpósio Brasileiro de Pesquisa Operacional - SBPO. Pp 1832-1843.
Russel, S. and Norvig P., 2004. Inteligência Artificial. São Paulo : Editora Campus.
78
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Este artigo apresenta a aplicação da técnica de Raciocínio Baseado em Casos (RBC), que consiste em utilizar experiência
passada para a solução de problemas e para o aprendizado, em uma ferramenta para auxiliar os funcionários do suporte de
TI – Tecnologia da Informação. O setor de Help-Desk tem como função auxiliar os clientes em qualquer tipo de
assistência e recebe diariamente várias dúvidas ou problemas, que muitas vezes são semelhantes. O sistema desenvolvido
utiliza uma base de dados com 12.716 registros de chamados e em 85,1% das buscas o sistema retornou pelo menos um
caso similar. Das buscas onde o sistema retornou pelo menos um caso similar, 68,3% das soluções desses casos puderam
ser reutilizadas.
PALAVRAS CHAVE
Help-Desk, Raciocínio baseado em Casos, Recuperação Inteligente de Informações
1. INTRODUÇÃO
Segundo Lagemann (1998), os setores de Help-Desk atualmente são usados para auxiliar clientes a qualquer
tipo de assistência. Os clientes fazem um contato com os operadores de Help-Desk que, tomam
conhecimento do problema, e baseados na sua experiência e conhecimento prestam uma informação ou
recomendam uma determinada ação para resolver o problema.
O trabalho realizado nesses setores é baseado em processo, ou seja, um conjunto de atividades
padronizadas que através de uma entrada, realiza um processamento para gerar a saída. Segundo Statdobler
(2006), no caso do processo de atendimento, uma das entradas é facilmente identificável como sendo o
contato do cliente, seja este contato uma reclamação, sugestão ou solicitação; é uma necessidade que o
mesmo apresenta para a qual espera um retorno. A saída deste processo de atendimento é definida como a
entrega ao cliente do resultado que o mesmo espera, seja um problema resolvido, uma solicitação atendida,
uma dúvida sanada, etc.
Raciocínio Baseado em Casos (RBC) é uma técnica de Inteligência Artificial (IA) que consiste em utilizar
experiência passada para a solução de problemas e para o aprendizado. Pode-se entender RBC como a
solução de um novo problema através de um caso similar já conhecido. Para Lee (1998), os sistemas de RBC
simulam o ato humano de relembrar um episódio prévio para resolver um determinado problema em função
da identificação de afinidades entre os mesmos que, para o domínio de sistemas de Help-Desk, pode ser
aplicado de forma simples. Cada atendimento ao cliente pode ser modelado em um caso que se forma
basicamente de problema e solução.
Segundo Wangenheim (2003), RBC tem sido utilizado em uma série de domínios de aplicação, entre elas:
análise financeira, assessoramento de riscos, diagnóstico médico, suporte a sistemas de software, avaliação
imobiliária, suporte ao cliente, etc. Fernandes et al (2010a) apresentam o desenvolvimento de uma FAQ
(Frequently Asked Questions, em português, perguntas mais frequentes) baseada em RBC para suporte a
usuários do sistema web ECG®, sistema voltado para a área de têmperas e vidraçarias. O sistema foi
desenvolvido devido ao fato de que as dúvidas dos usuários sobre o sistema são resolvidas através de e-mail,
telefone, fax e chats por duas pessoas que também são responsáveis pelo desenvolvimento do sistema. Para o
desenvolvimento da ferramenta RBC utilizou-se um dicionário de sinônimos que contém todo o vocabulário
de palavras formado com o cadastro das dúvidas dos usuários. Em Oliveira (2008) apresenta-se uma pesquisa
cujo objeto é avaliar a medida de precisão de um sistema de recuperação de informação jurídica
79
ISBN: 978-972-8939-96-0 © 2013 IADIS
(jurisprudência) do Tribunal Regional Eleitoral do Distrito Federal que utiliza a técnica de RBC. O modelo
definido como modelo clássico, que utiliza o modelo de recuperação de informação booleano, sendo que esse
modelo apresenta um índice de precisão máximo de 25%. O modelo de recuperação baseado em casos
utilizado na pesquisa apresentou-se como um mecanismo eficiente na recuperação de jurisprudência eleitoral
na medida em que o resultado da avaliação da precisão obteve uma média global de 54%.
Fernandes et al (2010b) também apresentam um estudo que consiste em aplicar a técnica de RBC em uma
ferramenta já existente de service desk chamada de SYSDESK, buscando auxiliar na resolução de
problemas/incidentes encontrados por vários níveis de usuários, melhorando o atendimento do chamado. O
protótipo desenvolvido utiliza a técnica de nearest neighbour para realizar o cálculo de similaridade entre os
casos. Outra ferramenta de apoio a Help-Desk [Viel, 2010] aplicada na empresa inDATA Sistemas tem
como objetivo agilizar o atendimento a clientes, bem como simplificar a resolução de eventuais problemas e
facilitar o serviço do atendente, apresentando sugestões similares através da técnica de similaridade do RBC.
Foram levantados dados estatísticos ao longo do período de implantação da ferramenta, bem como na
utilização do mesmo, sendo que se constatou um aumento de praticamente 50% no número de atendimentos
solucionados por dia.
Atualmente, os funcionários do suporte de TI da Universidade do Sul de Santa Catarina (UNISUL)
realizam em média 1.200 atendimentos por mês, onde os atendimentos classificados como incidentes levam
cerca de 27 horas para serem finalizados e os atendimentos classificados como requisição de serviços levam
cerca de 46 horas. A implementação de uma ferramenta inteligente de Help-Desk para apoiar esses
funcionários visa principalmente agilizar o atendimento aos usuários melhorando a qualidade do trabalho
prestado.
Ademais, os funcionários que não tem conhecimento sobre o problema que estão resolvendo podem
utilizar a ferramenta para buscar um problema anterior, similar já solucionado e assim utilizar sua respectiva
solução, não tendo a necessidade de consultar funcionários mais experientes. Com isso, diminui-se o tempo
de atendimento, que por sua vez gera a satisfação do cliente. A ferramenta também poderá oferecer a solução
para o problema, relatado pelo funcionário, sendo que esta solução foi anteriormente proposta por um
funcionário mais experiente e que pode ter passado por uma revisão de um especialista.
A implementação de uma ferramenta Help-Desk inteligente é uma proposta para auxiliar os funcionários
do suporte de TI da UNISUL utilizando a técnica de RBC. Uma importante vantagem na implementação da
ferramenta proposta é a associação da tecnologia inteligente, que é o RBC, com o aproveitamento da base de
dados já existente do setor de suporte de TI da UNISUL.
2. MATERIAIS E MÉTODOS
Segundo Lee (1998), o raciocínio humano reproduzido no sistema de RBC funciona de acordo com a
suposição de que problemas cuja descrição possui forma similar apresentam soluções similares e que os tipos
de problemas se repetem. Com isso, soluções de problemas resolvidos anteriormente e armazenados na base
de casos que sejam similares ao problema atual são um ponto de partida muito útil para a solução desse novo
problema.
A ferramenta RBC para Help-Desk foi desenvolvida para o ambiente web, utilizando as tecnologias Java
(frameworks JSF, PrimeFaces, Spring e Hibernate), servidor web Apache Tomcat 7 e banco de dados
relacional PostgreSQL.
Os casos da aplicação foram armazenados no banco de dados PostgreSQL, sendo que para a
representação dos casos foi utilizada a estrutura atributo-valor, que é a estrutura mais simples e que resolve
grande parte dos problemas de sistemas de RBC.
80
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Um instrumento muito importante para orientar a avaliação de similaridade dos casos na base de casos é a
indexação, que define quais atributos (índices), devem ser usados para realizar a comparação entre um caso e
a situação presente. O conjunto de descritores que são usados como índices modelam a resposta para a
pergunta, "o que faz um caso ser similar a outro?" - representando a relevância dos casos [Lee 1998].
Segundo Wangenheim (2003), bons índices são relevantes para uma meta de recuperação específica e
Onde:
Q = novo caso
C = caso existente na base
n = número de atributos
i = atributo individual variando de 1 a n
f = medida de similaridade local
w = peso do atributo i
O cálculo é feito para cada caso da base de dados, tendo com isso a ordenação dos casos. A similaridade é
normalizada entre zero (0) e um (1), ou seja, zero não possui nenhuma semelhança e um é exatamente
similar. Os atributos definidos com os seus respectivos pesos pode ser visto na Tabela 2.
81
ISBN: 978-972-8939-96-0 © 2013 IADIS
Ao se calcular a similaridade global, pode-se considerar também a similaridade local entre atributos
específicos, a fim de tornar o cálculo de similaridade muito mais sensitivo entre uma questão dada e os casos
na base de casos.
A medida de similaridade para cada um dos atributos Solicitante, Tipo do chamado, Categoria 1,
Categoria 2 e Categoria 3 é calculada da seguinte forma: 1 se o valor do atributo do novo caso for igual ao do
caso da base, e 0 se o valor do atributo do novo caso não for igual ao do caso da base.
Já para o atributo Descrição do Problema foi utilizada a técnica de recuperação inteligente de
informações, que consiste na representação, organização, armazenamento e recuperação de informações
textuais. Para tanto, foi implementado um módulo com todos os aspectos relevantes de um sistema de
indexação e recuperação de informações textuais, tais como parsing, remoção de stopwords, stemming,
weighting, indexação, etc. [Manning et al, 2008]. Este módulo considera a representação dos textos num
espaço vetorial, sendo o cálculo da similaridade entre os textos (Descrição do Problema) realizado por meio
xy
da similaridade do cosseno [Feldman e Sanger, 2006] [Tan et al, 2005]:
X Y
sim( X , Y)
x y
n
i 1 i
X Y
i
2 2
i i
i i
Onde:
sim(X, Y): valor entre 0 e 1, representando o grau de similaridade entre os vetores X e Y.
X: vetor representando a primeira descrição.
Y: vetor representando a segunda descrição.
xi: elementos de X na posição i.
yi: elementos de Y na posição i.
Como método de recuperação, o sistema utiliza a técnica de recuperação sequencial, onde a medida de
similaridade é calculada sequencialmente para todos os casos da base de casos. Em seguida, todos os casos
são ordenados de acordo com sua similaridade, e então, como resultado retorna-se os m casos mais similares.
Um exemplo de recuperação no sistema por ser visto na Figura 1.
82
Conferência IADIS Ibero-Americana Computação Aplicada 2013
3. RESULTADOS E DISCUSSÕES
Para validação e análise dos resultados a base de dados foi criada no PostgreSQL versão 8.4.13, exportando
para esta nova base 12.716 casos do sistema utilizado pelo suporte atualmente. Os testes para validação
foram feitos por um especialista do setor de suporte de TI da UNISUL utilizando chamados recentes que já
foram fechados, sendo possível comparar a solução dada no chamado com as soluções apresentadas pelo
sistema RBC. Foram executadas 74 buscas por casos similares no sistema, obtendo-se os seguintes
Das buscas onde o sistema retornou pelo menos um caso similar, 68,3% das soluções
Dos casos onde a solução pode ser reutilizada, 62,8% das soluções foram reutilizadas em
desses casos puderam ser reutilizadas.
A frequência do percentual de similaridade utilizado como filtro nas buscas pode ser vista na Tabela 3.
83
ISBN: 978-972-8939-96-0 © 2013 IADIS
% de similaridade Frequência
70 1,4%
60 17,6%
50 43,2%
40 37,8%
Nas buscas onde o sistema não encontrou um caso similar, segundo o especialista, o caso de entrada
utilizado para o teste era um caso bem específico ou pouco frequente. Nas buscas onde foi encontrado pelo
menos um caso similar, mas não foi possível utilizar a mesma solução, se deve ao fato de que realmente é um
novo caso, ou a solução não foi registrada corretamente no sistema de chamados (impossibilitando a
reutilização da mesma).
O Gráfico 1 mostra um exemplo de uma relação entre um caso ideal e quatro casos retornados na busca
pelo sistema. Neste gráfico, pode-se verificar a similaridade para cada atributo, ou seja, o quanto o percentual
de similaridade de cada atributo dos casos retornados se aproxima dos atributos do caso ideal.
0,7
0,6
Peso de cada atributo
0,5
0,4 caso 1
caso 2
0,3 caso 3
caso 4
0,2
caso ideal
0,1
0
categoria 3 solicitante categoria 2 tp. chamado categoria 1 descrição
Atributos do caso
84
Conferência IADIS Ibero-Americana Computação Aplicada 2013
90
80
Percentual de similaridade do caso
70
60
50
reutilizado
40
30
20
10
5
13,0
0
11
40 40 40
2,0
40 40 40
15
40 50 50
50 50 50
37
50 50 Casos retornados
50 60
Percentual de similaridade do filtro 60 60
16
70
4. CONCLUSÃO
Como objetivo geral tinha-se desenvolver uma ferramenta utilizando RBC para o setor de suporte de TI da
UNISUL. Com uma grande massa de casos do próprio suporte, executaram-se os testes e a validação com um
especialista do setor, e após isso, pode-se perceber o quanto esta ferramenta poderá vir a ajudar o dia-a-dia de
todos os colaboradores nos atendimentos aos usuários, porque ao invés da equipe de suporte ter de formular
uma nova solução a cada dúvida relatada, o RBC propiciou que se utilizassem soluções de questionamentos
similares salvos na base de casos.
Os resultados obtidos após a validação foram satisfatórios, pois em 68,3% das buscas onde retornou-se
pelo menos um caso similar, pôde-se reutilizar algo da solução apresentada pela ferramenta. Além disso, nas
buscas onde nenhuma solução apresentada pelo sistema pode ser reutilizada, as soluções apresentadas
serviram de auxílio a possíveis caminhos que o técnico atendente pode tomar para solucionar o problema do
chamado.
O setor atualmente possui uma alta demanda de atendimentos e está sempre sobrecarregado, e com isso é
perceptível que a utilização da ferramenta desenvolvida no setor poderá trazer mais qualidade e agilidade na
maioria dos atendimentos prestados. O uso de uma ferramenta RBC quando uma base de casos já existe é de
grande valia, não somente no suporte de TI da UNISUL, mas em qualquer setor de Help-Desk, pois utiliza os
dados em forma de conhecimento para auxílio nos atendimentos.
Como trabalho futuro pretende-se integrar a ferramenta implementada com o sistema de gerenciamento
de atendimentos já existente no setor, tendo assim a base de casos sempre atualizada para as buscas por casos
similares.
85
ISBN: 978-972-8939-96-0 © 2013 IADIS
REFERÊNCIAS
Coomans D.; D.L. Massart, 1982. Alternative k-nearest neighbour rules in supervised pattern recognition : Part 1. k-
Nearest neighbour classification by using alternative voting rules. Analytica Chimica Acta, No. 136, pp 15-27.
Feldman, R. Sanger J., 2006. The Text Mining Handbook: Advanced Approaches in Analyzing Unstructured Data.
Cambridge University Press.
Fernandes, Anita Maria da Rocha et al., 2010. Aplicação de Raciocínio Baseado em Casos em Service Desk. VII SEGeT
– Simpósio de Excelência em Gestão e Tecnologia. Resende, Brasil.
Fernandes, Anita Maria da Rocha et al., 2010. Desenvolvimento de uma FAQ baseada em RBC para suporte a usuários
web. VII SEGeT – Simpósio de Excelência em Gestão e Tecnologia. Resende, Brasil.
Lagemann, Gerson Volney, 1998. RBC para o problema de suporte ao cliente nas empresas de prestação de software: o
caso Datasul. 1998. Dissertação (Mestrado em Engenharia) – Universidade Federal de Santa Catarina, Florianópolis,
Brasil.
Lee, Rosina Weber, 1998. Pesquisa Jurisprudencial Inteligente. Tese (Doutorado em Engenharia) – Universidade
Federal de Santa Catarina, Florianópolis, Brasil.
Manning, C. D., P. Raghavan, H. Schütze, 208.An Introduction to Information Retrieval . Cambridge University Press.
Oliveira, Symball Rufino de, 2008. Recuperação Inteligente de Jurisprudência: Uma Avaliação do Raciocínio Baseado
em Casos Aplicado a Recuperação de Jurisprudências noTribunal Regional Eleitoral do Distrito Federal. 126 f.
Dissertação (Mestrado em Ciências da Informação) – Universidade de Brasília, Brasília, Brasil.
Statdobler, Juliano, 2006. Help-Desk e SAC com qualidade. Brasport, Rio de Janeiro, Brasil.
Tan, P. N., Steinbach, M., Kumar, V., 2005. Introduction to Data Mining. Addison-Wesley Longman Publishing, Boston,
USA.
Viel, Mateus. 2010. Workcontrol – ferramenta de apoio ao Atendimento a clientes utilizando técnica de Raciocínio
baseado em casos. 77 f. Monografia (Graduação em Sistemas de Informação) – Universidade Regional de Blumenau,
Blumenau, Brasil.
Wangenheim, Cristiane Gresse von; Wangenheim, Aldo von, 2003. Raciocínio Baseado em Casos. Ed. Manole, Barueri,
Brasil.
86
Conferência IADIS Ibero-Americana Computação Aplicada 2013
André Caetano Alves Firmo1, Allison Dantas de Oliveira2, Julyana Viegas Campos3,
Jones Albuquerque4 e Constança Barbosa3
1
Epi Schisto Risk Modeling
2
Universidade Federal Rural de Pernambuco
3
CPqAM/FIOCRUZ
4
UFRPE
RESUMO
Com o avanço da esquistossomose no estado de Pernambuco e a descoberta de focos na região litorânea, são necessárias
novas ações para a contenção da doença. Uma das medidas de controle é a identificação e o tratamento das pessoas
doentes. O diagnóstico mais rápido e eficiente é de extrema prioridade para a quebra do ciclo e erradicação da epidemia.
Neste trabalho é apresentada uma proposta de implementação de um sistema de identificação e contagem dos ovos de
Schistosoma Mansoni a partir da proposta de um dispositivo de aquisição de imagens coletadas de lâminas de amostras
de fezes. Este trabalho foi fruto de uma parceria entre o grupo de pesquisa Epischisto, o laboratório de Esquistossomose
do Departamento de Parasitologia da CpqAM/FIOCRUZ e o Programa de pós-graduação da Universidade Federal Rural
de Pernambuco. O sistema é baseado em uma solução de hardware composta por uma webcam acoplada ao microscópio
capturando imagens das lâminas dos exames de fezes de indivíduos suspeitos de estarem infectados. A partir do
processamento digital dessas imagens, é utilizado um software de reconhecimento de padrões baseado em uma cascata de
classificadores fracos. Esses classificadores fracos são formados por características de haar compondo um único
classificador forte capaz de reconhecer e contar os ovos de S. mansoni. Os classificadores são treinados por uma técnica
de inteligência computacional chamada de otimização por enxame de partículas garantindo maior rapidez e precisão ao
sistema.
PALAVRAS CHAVES
Kato-Katz, Esquistossomose, diagnóstico, automação, inteligência artificial, sistema.
1. INTRODUÇÃO
O presente trabalho tem como escopo principal o desenvolvimento de uma solução de detecção de imagens
para contagem de ovos de Schistosoma mansoni em exames de fezes. A solução é composta de um hardware
para a aquisição das imagens e um sistema baseado em uma cascata de classificadores fracos formados por
características de haar e treinados a partir de uma otimização por enxame de partículas no algoritmo
AdaBoost.
87
ISBN: 978-972-8939-96-0 © 2013 IADIS
A prevalência e a intensidade da infecção nas comunidades de Pernambuco afetadas pela doença estão
condicionadas a práticas culturalmente moldadas como: atividades econômicas, de lazer ou domésticas,
peculiares em cada localidade como aponta (Barbosa, Gonçalves, Albuquerque-1998).
Recentemente, casos humanos de infecção aguda têm sido detectados em regiões praieiras (Barbosa,
Gonçalves, Albuquerque-1998) (Barbosa, Pieri-2000) (Barbosa, Coutinho, Montenegro, Abath, Spineli-
2001), onde a doença está sendo introduzida devido à ausência de planejamento socioeconômico na ocupação
desses espaços. Este fato tem sido comprovado através de focos de vetores da esquistossomose encontrados
em localidades litorâneas do estado, além de novos sítios de transmissão ativa da doença detectados em
praias de turismo e veraneio de classe média alta. Levantamentos malacológicos realizados em municípios do
litoral pernambucano apontam 12 novos focos de esquistossomose em localidades praianas do Estado
(Barbosa, Gonçalves, Albuquerque-1998) (Barbosa, Pieri-2000) (Barbosa, Coutinho, Montenegro, Abath,
Spineli-2001).
O método de diagnóstico através do exame parasitológico de fezes ainda é a melhor alternativa por ter
uma boa sensibilidade e um menor custo de operação. Neste método ainda não há uma ferramenta
automatizada que auxilie na contagem dos ovos de S. mansoni, necessitando de um profissional devidamente
qualificado para tal trabalho. Na Figura 1é apresentado o ciclo da doença.
2. SOLUÇÃO PROPOSTA
A descrição da solução proposta para a contagem automatizada dos ovos de S. mansoni nos exames
parasitológicos de fezes dos indivíduos suspeitos, está dividida em 2 (duas) fases distintas: Na primeira fase,
é feita a aquisição das imagens da lâmina do exame parasitológico de fezes dos indivíduos suspeitos e
realizado o processamento adequado das imagens. Na segunda fase é apresentado o desenvolvimento de um
sistema que identifique e detecte o ovo de S. mansoni nas imagens geradas a partir da primeira fase.
88
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Figura 2. Vista frontal (A) e lateral (B) da webcam com o adaptador para acoplamento ao microscópio.
Com a fase de captura concluída e funcional, foi necessário definir quais recursos de pré-processamento
deveriam ser aplicados às imagens capturadas. A primeira técnica utilizada foi a conversão da imagem
colorida para Grayscale. O uso da imagem em Grayscale proporciona uma maior velocidade no
processamento e menor uso de recursos computacionais. Após a conversão da imagem, foi aplicado uma
equalização por histograma para configurar adequadamente o contraste e realçar informações que antes
estavam perdidas. Por fim foi aplicado um detector de borda baseado em um operador gaussiano de primeira
derivada além de suavizar os ruídos na imagem.
89
ISBN: 978-972-8939-96-0 © 2013 IADIS
Após a captura das imagens é necessário marcar o objeto de interesse nas imagens positivas. Essa
marcação é feita com o auxílio de uma aplicação que carrega cada imagem positiva e permite marcar com um
retângulo o objeto de interesse. A aplicação cria um arquivo de texto contendo o caminho da imagem
positiva, a posição do retângulo que marca o objeto de interesse, as dimensões largura e altura do retângulo e
a quantidade de objetos em cada imagem. Este arquivo de texto será utilizado pela ferramenta de criação dos
exemplos. Nesta etapa foi necessária a colaboração de um técnico de laboratório experiente no
reconhecimento dos ovos de S. mansoni para marcar as imagens positivas. Na Figura 3 é mostrada uma
imagem positiva marcada e um exemplo negativo.
90
Conferência IADIS Ibero-Americana Computação Aplicada 2013
(Viola, Jones-2004) descreve quatro tipos de características básicas de Haar para uso em detecção de
faces. A Figura 4 mostra as características básicas de Haar.
91
ISBN: 978-972-8939-96-0 © 2013 IADIS
92
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Figura 8. Tela com relatório de acompanhamento das análises gerado pelo sistema.
3. CONCLUSÃO
Os primeiros testes com o sistema foram bastante animadores, pois o tempo médio para a realização da
análise da lâmina por um técnico de laboratório experiente é em torno de 15 minutos contra 5 minutos com o
uso do sistema. A precisão e nível de acertos do sistema ainda não estão em um percentual que possa ser
utilizado em produção por necessitar que o conjunto de treinamento seja ampliado. Na elaboração desta
primeira versão foram usadas 2000 imagens positivas e 2000 imagens negativas, onde observando outros
sistemas de detecção de padrões, é indicado o uso de um conjunto de treinamento com um mínimo de 10.000
imagens positivas e 10.000 imagens negativas.
A forma com que a análise das lâmina é realizada com o uso do sistema é uma quebra de paradigmas que
proporciona melhor ergonomia para os técnicos de laboratório, pois não é mais necessário a exposição do
olho as variações de luminosidade do microscópio bem como a postura de sentar e manipular o microscópio
ajuda a prevenir doenças associadas ao LER/DOR.
93
ISBN: 978-972-8939-96-0 © 2013 IADIS
Além disso, pode-se destacar o uso do sistema para realizar treinamentos e exposição de casos incomuns
que podem ser encontrados nas lâminas já que há a possibilidade de gravação das imagens do microscópio. A
criação de um banco de dados integrado e georreferenciado de localidades com casos positivos; relatórios e
acompanhamento de resultados; realização de screennings rápidos para selecionar localidades com maior
numero de casos e presteza na realização dos exames são outros benefícios associados ao uso do sistema.
Como trabalhos futuros e atualizações pode-se destacar as seguintes ações que já são objeto de estudos: A
implementação de um mecanismo automatizado para a manipulação das lâminas; o aumento do conjunto de
treinamento; o desenvolvimento de uma versão para o uso com dispositivos móbiles; integração com outras
plataformas de análise de epidemiologia e construção de uma base de dados nacional sobre a evolução de
prevalência da esquistossomose.
O uso da proposta implementada pela solução SchistoSystem pode ser abrangente e incorporar outras
formas de microorganismos e de objetos de análises microscópicas como, por exemplo: análise de bactérias;
uso em análises sanguíneas, podendo contemplar outras doenças e uso como instrumento de pesquisa onde
para cada novo caso é necessária a criação de um novo conjunto de treinamento e ajustes na formulação dos
relatórios e da interface com o usuário.
REFERÊNCIAS
N. Katz., S. V. Peixoto, 2000. Análise crítica da estimativa do número de portadores de esquistossomose mansoni no
Brasil. Revista da Sociedade Brasileira de Medicina Tropical, Brasil.
P.H. Kano, 1992. Measures for Control of Schistosomiasis Adapted by the Fundação Nacional de Saúde. In Memórias do
Instituto Oswaldo Cruz, 87 (Sup. IV), 315-318.
C. S. Barbosa, J. F. Gonçalves, Y. Albuquerque, F. S. Barbosa, 1998. Urban Schistosomiasis in Itamaracá island, Brasil,
epidemiological factors 66 involved in the recent endemic process. In Memórias do Instituto Oswaldo Cruz, 93 (01),
265-266.
C. S. Barbosa, O. S. Pieri, 2000. Aspectos epidemiológicos e malacológicos da esquistossomose mansônica na Ilha de
Itamaracá, Pernambuco. In Revista de Saúde Pública, 34(4), 33-41.
C. S. Barbosa, A. L. Coutinho, S. M. L. Montenegro, F. Abath, V. Spinelli, 2001. Epidemia de esquistossomose aguda na
praia de Porto de Galinhas, Pernambuco. In Rev. Inst. Med. trop. S. Paulo, 10:295-8.
Freund Y. and Schapire R. E., 1999. A Short Introduction to Boosting. In Journal of Japanese Society for Artificial
Intelligence, 771-780.
P. Viola, M. J. Jones., 2004. Robust real-time face detection. In Journal of Computer Vision, 57(2):137–154.
C. P. Papageorgiou, M. Oren, T. Poggio, 1998. A general framework for object detection. Proceedings of the Sixth
International Conference on Computer Vision. Washington, DC, USA, pp. 555.
J. Kennedy, R. C. Eberhart, 1995. Particle swarm optimization, in Proc. of the IEEE Int. Conf. on Neural Networks.
Piscataway, NJ, IEEE Service Center, pp. 1942–1948.
R. C. Eberhart and J. Kennedy, 1995. A new optimizer using particle swarm theory, in Proc. 6th Int. Symp.
Micromachine Human Sci., Nagoya, Japan, pp. 39–43.
94
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Neste trabalho apresentamos três modelos de extração de características a partir de dados vibratórios, coletados de
máquinas rotatórias, para detectar defeitos em rolamentos. Os nossos experimentos indicaram que utilizar mais de um
modelo de extração de características para criar uma base de dados global e selecionar as melhores características,
apresenta resultados melhores do que o uso de apenas um modelo de extração de características.
PALAVRAS-CHAVE
Extração de características, seleção de características, diagnóstico de defeitos, máquinas rotatórias, reconhecimento de
padrões.
1. INTRODUÇÃO
O diagnóstico automático de defeitos em equipamentos complexos possui vantagens econômicas e de
segurança. A identificação de um defeito, em seu estágio inicial, em uma peça de um equipamento possibilita
que esta peça seja trocada antes que esse defeito impeça o funcionamento da máquina. Este tipo de
manutenção preditiva é mais vantajoso do que a manutenção preventiva, que troca peças sem que estas
estejam necessariamente defeituosas, e também, mais vantajoso do que a manutenção reativa, que troca as
peças do equipamento apenas quando este não tem mais condições de funcionar.
O uso de técnicas de reconhecimento de padrões é muito utilizado no diagnóstico automático de defeitos
em máquinas rotatórias [Wandekokem, E. et al., 2011, Xia, Z. et al., 2012, Liu, J., 2012, Wu, S. D. et al.,
2013]. As técnicas de reconhecimento de padrões, do paradigma de aprendizado supervisionado, necessitam
de uma base de dados com padrões rotulados para treinar um classificador. Este, depois de treinado, deve ser
capaz de identificar os rótulos dos exemplos utilizados no treinamento, assim como, novos exemplos que
sejam apresentados a este classificador [Duda, R. O. et al., 2001]. A base de dados que treina o classificador é
extraída a partir de dados coletados no domínio do problema abordado.
Nos experimentos apresentados neste trabalho, as bases de dados foram extraídas a partir de dados
vibratórios, coletados através de acelerômetros conectados a máquinas rotatórias. Utilizamos três modelos de
extração de características, fizemos testes de desempenho com cada modelo separadamente e com os três
modelos conjuntamente para gerar uma base de dados com um número considerável de características. Os
nossos experimentos mostraram que a junção de vários modelos de extração de características pode melhorar
o desempenho de classificação, dependendo do classificador utilizado.
Também aplicamos técnicas de seleção de características e notamos que estas sempre melhoraram o
desempenho dos classificadores, além de reduzir o custo computacional. Utilizamos uma técnica gulosa
conhecida como pesquisa sequencial para frente com dois critérios de seleção diferentes, a probabilidade de
erro médio estimado e a distância interclasse. Os dois critérios de seleção conseguiram resultados melhores
do que o uso da base de dados com todos os tipos de características extraídas. Os critérios diferenciaram-se
quanto à preferência de modelo de característica a ser selecionado.
Na seção 2 apresentamos os modelos de classificador usados nestes trabalhos, na seção 3 os modelos de
extração de características. Na seção 4 mostramos os experimentos feitos e os resultados obtidos e na seção 5
as conclusões e considerações finais, assim como trabalhos futuros.
95
ISBN: 978-972-8939-96-0 © 2013 IADIS
3. EXTRAÇÃO DE CARACTERÍSTICAS
É muito comum a extração de características para diagnóstico de falhas em máquinas rotatórias a partir da
leitura de dados vibratórios, obtidos por meio de acelerômetros [Wandekokem, E. et al., 2011, Xia, Z. et al.,
2012, Liu, J., 2012, Wu, S. D. et al., 2013]. Os sinais coletados da máquina são convertidos em dados
discretos. Os dados vibratórios puros trazem informações em geral não diretamente aplicáveis a classificação
dos estados da máquina, portanto, é necessário utilizar alguma técnica de extração de características para
transformar os dados adquiridos em informações úteis para o diagnóstico.
Neste trabalho, utilizamos várias técnicas de extração divididas em três modelos básicos de extração de
características: características estatísticas no domínio do tempo e no domínio da frequência, características no
domínio tempo-frequência utilizando transformada wavelet packet [Xia, Z. et al., 2012] e características
extraídas do espectro de envelope complexo.
96
Conferência IADIS Ibero-Americana Computação Aplicada 2013
( )
N
1
∑ ∣x ∣
N i= 1 i
1
∑ x2
N i= 1 i
A Tabela 2 apresenta a definição das características estatísticas do domínio da frequência utilizadas neste
trabalho, onde f é um vetor com os valores absolutos dos sinais discretos após passarem pela Transformada
de Fourier.
Tabela 2. Definição de características estatísticas no domínio da frequência
Frequência central N
(Frequency Center - FC) Xfc=
1
∑f
N i= 1 i
Valor Eficaz da Frequência N 1 /2
(RMS Frequency - RMSF) Xrmsf =( )1
∑ f2
N i= 1 i
Desvio Padrão da Frequência N 1 /2
(Root Variance Frequency - RVF) Xrvf =( ∑ ( ))
1
N i= 1
f i − Xfc 2
97
ISBN: 978-972-8939-96-0 © 2013 IADIS
4. EXPERIMENTOS E RESULTADOS
Para nossos experimentos, utilizamos os dados disponíveis no Bearing Data Center da Case Western Reserve
University [CWRU, 2013]. Estes dados disponibilizam dados de testes de rolamentos normais e defeituosos
em um motor elétrico de dois cavalos de potência.
Os defeitos dos rolamentos foram induzidos com falhas de 0,007 até 0,028 polegada de diâmetro. Foram
induzidos separadamente defeitos na pista interna, pista externa e no elemento rotatório. Os dados vibratórios
foram coletados do equipamento com cargas de zero a três cavalos de potência, induzidas por um
dinamômetro. Desta forma, a velocidade de rotação do motor variou de 1797 a 1720 rotações por minuto
(RPM). Dois modelos de rolamentos foram testados. Um modelo no eixo e outro no ventilador.
As leituras dos dados vibratórios foram feitas por até três acelerômetros, localizados na base do motor,
próximo ao rolamento do ventilador e próximo ao rolamento do eixo. Nem todas as leituras possuíam os
dados do sensor da base do motor, por isso, não utilizamos os sinais deste sensor. Assim como feito em
outros trabalhos [Xia, Z. et al., 2012, Liu, J., 2012, Wu, S. D. et al., 2013], dividimos os sinais em várias
partes antes de extrair as características desejadas, para termos mais exemplos, permitindo verificar o
desempenho dos algoritmos de classificação. Para extrair as características usadas nos experimentos
apresentados aqui dividimos cada sinal em 15 partes, totalizando 2415 exemplos. Esta foi a maior divisão
sem perda de acurácia nos experimentos preliminares.
98
Conferência IADIS Ibero-Americana Computação Aplicada 2013
rolamento, normalmente o do eixo. Um tipo de experimento visto utiliza quatro classes, sendo elas, normal,
defeito na pista interna, na pista externa e no elemento rotatório. Outro tipo de experimento, que também
utiliza quatro classes, fixa um dos três tipos de defeitos apresentados e avalia a gravidade do defeito (0,007,
0,014, 0,021 ou 0,028 polegada).
Nossos experimentos foram feitos com uma classe normal, três defeitos (pista interna, pista externa e
bola), dois tipos de rolamentos, três intensidades de gravidade (0,007, 0,014, 0,021 polegada) para cada tipo
de defeito nos dois tipos de rolamentos e uma intensidade de gravidade (0,028 polegada) para o rolamento do
eixo com os defeitos no elemento rotatório e na pista interna, totalizando 1+2*3*3+1*1*2 = 21 classes. A
Tabela 3 mostra as classes utilizadas nos experimentos com suas respectivas descrições e distribuições a
priori.
Tabela 3. Classes utilizadas nos experimentos com suas respectivas descrições e distribuições
Classe Nome Nº de Distri- Descrição
Exem- buição
plos
1 Ball_DE_007 120 4,97 % Defeito de 0,007 polegada na bola do rolamento do eixo.
2 Ball_FE_007 60 2,48 % Defeito de 0,007 polegada na bola do rolamento do ventilador.
3 Ball_DE_014 120 4,97 % Defeito de 0,014 polegada na bola do rolamento do eixo.
4 Ball_FE_014 60 2,48 % Defeito de 0,014 polegada na bola do rolamento do ventilador.
5 Ball_DE_021 120 4,97 % Defeito de 0,021 polegada na bola do rolamento do eixo.
6 Ball_FE_021 60 2,48 % Defeito de 0,021 polegada na bola do rolamento do ventilador.
7 Ball_DE_028 60 2,48 % Defeito de 0,028 polegada na bola do rolamento do eixo.
8 InnerRing_DE_007 120 4,97 % Defeito de 0,007 polegada na pista interna do rolamento do eixo.
9 InnerRing_FE_007 60 2,48 % Defeito de 0,007 polegada na pista interna do rolamento do ventilador.
10 InnerRing_DE_014 120 4,97 % Defeito de 0,014 polegada na pista interna do rolamento do eixo.
11 InnerRing_FE_014 60 2,48 % Defeito de 0,014 polegada na pista interna do rolamento do ventilador.
12 InnerRing_DE_021 120 4,97 % Defeito de 0,021 polegada na pista interna do rolamento do eixo.
13 InnerRing_DE_021 60 2,48 % Defeito de 0,021 polegada na pista interna do rolamento do ventilador.
14 InnerRing_DE_028 60 2,48 % Defeito de 0,028 polegada na pista interna do rolamento do eixo.
15 Normal 60 2,48 % Rolamento normal (sem defeito).
16 OuterRing_DE_007 360 14,91 % Defeito de 0,007 polegada na pista externa do rolamento do eixo.
17 OuterRing_FE_007 180 7,45 % Defeito de 0,007 polegada na pista externa do rolamento do ventilador.
18 OuterRing_FE_014 75 3,11 % Defeito de 0,014 polegada na pista externa do rolamento do eixo.
19 OuterRing_DE_014 120 4,97 % Defeito de 0,014 polegada na pista externa do rolamento do ventilador.
20 OuterRing_DE_021 360 14,91 % Defeito de 0,021 polegada na pista externa do rolamento do eixo.
21 OuterRing_FE_021 60 2,48 % Defeito de 0,021 polegada na pista externa do rolamento do ventilador.
99
ISBN: 978-972-8939-96-0 © 2013 IADIS
100.00%
98.00% Envelope
96.00% Estatística
Wavelet
94.00% Todas
92.00%
1NN 3NN 5NN 7NN
Figura 2. Acurácia do classificador KNN para bases de dados extraídas por diferentes modelos de extração de
características
Figura 3. Acurácia obtida em bases de dados com características selecionadas pela heurística gulosa BSF com dois
critérios de seleção
Podemos ver na Figura 3 que, para selecionar nove características ou menos, o uso da PEME como
critério de seleção foi melhor do que a DIC, mas a partir de vinte e sete características, os dois critérios
tiveram desempenho igual.
100
Conferência IADIS Ibero-Americana Computação Aplicada 2013
95.00%
Envelope
90.00% Estatística
Wavelet
85.00%
Todas
80.00% 15 Características
75.00%
SVM
Figura 5. Comparação de SVMs em diferentes bases de dados
101
ISBN: 978-972-8939-96-0 © 2013 IADIS
REFERÊNCIAS BIBLIOGRÁFICAS
Bouckaert, R. R., 2004. Estimating replicability of classifier learning experiments. In Proceedings of the twenty-first
international conference on Machine learning – ACM, pp 15.
Burges, C. J., 1998. A tutorial on support vector machines for pattern recognition. Data mining and knowledge discovery,
2(2), 121-167.
Cover, T., & Hart, P., 1967. Nearest neighbor pattern classification. Information Theory, IEEE Transactions on, 13(1), 21-
27.
CWRU, 2013. Bearing Data Center. [ONLINE] Available at: http://csegroups.case.edu/bearingdatacenter. [Acessado em
30 de Maio de 2013].
Duda, R. O. et al. 2001. Pattern classification. Wiley-interscience. New York, USA.
Liu, J., 2012. Shannon wavelet spectrum analysis on truncated vibration signals for machine incipient fault detection.
Measurement Science and Technology, 23(5).
McInerny, S.A., Dai, Y., 2003. Basic vibration signal processing for bearing fault detection. IEEE Transactions on
Education 46, 149-156.
Wandekokem, E. et al., 2011. Diagnosing multiple faults in oil rig motor pumps using support vector machine classifier
ensemble. Em Integrated Computer-Aided Engineering, Vol. 18, No. 1, pp 61-74.
Wu, S. D. et al., 2013. Multi-Scale Analysis Based Ball Bearing Defect Diagnostics Using Mahalanobis Distance and
Support Vector Machine. Entropy, 15(2), 416-433.
Xia, Z. et al., 2012. Spectral Regression Based Fault Feature Extraction for Bearing Accelerometer Sensor Signals.
Sensors, 12(10).
102
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Merisandra Côrtes de Mattos Garcia1, Evandro Tostes Martins2 e Fernando Mendes de Azevedo3
1
Instituto de Engenharia Biomédica, Departamento de Engenharia Elétrica, Universidade Federal de Santa Catarina -
Florianópolis-SC- Brasil - Curso de Ciência da Computação, Universidade do Extremo Sul Catarinense
Criciúma –SC- Brasil
2
Unidade de Terapia Intensiva do Hospital Universitário, Universidade Federal de Santa Catarina - Unidade de Terapia
Intensiva do Hospital Governador Celso Ramos - Florianópolis –SC- Brasil
3
Instituto de Engenharia Biomédica, Departamento de Engenharia Elétrica, Universidade Federal de Santa Catarina -
Florianópolis-SC- Brasil
RESUMO
A mineração de dados, parte constituinte da descoberta de conhecimento em bases de dados, refere-se a integração de
métodos tradicionais de análise de dados com algoritmos sofisticados de aprendizado de máquina, com o intuito de
identificar padrões entre os dados. Dentre as tarefas de mineração de dados tem-se o agrupamento que separa um
conjunto de dados em grupos de acordo com as suas semelhanças, sendo que uma das formas de sua realização é por
meio do método de lógica fuzzy. Dentre as áreas de aplicação da mineração de dados tem-se a biomédica, cujo
crescimento das pesquisas tem ocasionado um aumento no número de conjuntos de dados oriundos dos mais diversos
estudos, como por exemplo, de traumatismo cranioencefálico. O traumatismo cranioencefálico é um problema de saúde
pública que se constitui em uma das principais causas de morbidade e mortalidade no Brasil e no mundo. A análise
apresentada neste artigo consiste na aplicação da mineração de dados por meio da tarefa de agrupamento fuzzy pelo
algoritmo Gustafson-Kessel em dados de traumatismo cranioencefálico da tipologia grave, os quais em pesquisa prévia
foram submetidos a regressão logística, que é uma das formas mais empregadas na análise tradicional de dados em saúde,
sendo que o modelo de regressão logística obteve acurácia em torno de 55% para previsão do óbito. No desenvolvimento
do agrupamento fuzzy, executaram-se as etapas de pré-processamento dos dados, aplicação do algoritmo Gustafson-
Kessel e avaliação dos grupos formados.
PALAVRAS-CHAVE
Mineração de Dados, Agrupamento Fuzzy, Algoritmo Gustafson-Kessel, Regressão Logística, Traumatismo
Cranioencefálico Grave.
1. INTRODUÇÃO
Ferramentas estatísticas, modelos matemáticos, consultas estruturadas são comumente utilizadas para auxiliar
na obtenção de informações a partir das bases de dados. Porém, estas ferramentas possuem limitações que
podem comprometer a precisão da informação gerada. Neste contexto surge a mineração de dados que reúne
técnicas de diferentes áreas como inteligência computacional, reconhecimento de padrões, aprendizado de
máquina, métodos estatísticos e banco de dados a fim de realizar a descoberta de conhecimento em bases de
dados.
A mineração de dados é uma ferramenta de análise de dados que tem sido usada para explorar a
informação em busca de conhecimento nas mais diferentes áreas, como por exemplo, na biomédica a fim de
prever a taxa de sobrevivência em pacientes com câncer de mama, identificar os preditores das infecções do
trato urinário, resultados de traumatismo cranioencefálico, entre outros (LEE et al, 2011).
O Traumatismo Cranioencefálico (TCE) é um problema de saúde pública que é uma das principais causas
de morbidade e mortalidade no mundo, acometendo a maioria das vítimas em idade produtiva (GHAJAR,
2000; SAATMAN et al, 2008), o que também se observa no Brasil (ANDRADE et al, 2009).
103
ISBN: 978-972-8939-96-0 © 2013 IADIS
Ao sofrerem este tipo de lesão os pacientes e familiares preocupam-se com o prognóstico, porém os
métodos atuais para a determinação deste prognóstico são imperfeitos e apresentam para os médicos questões
importantes referentes a heterogeneidade dos dados dos pacientes, variedade das causas dos traumas e outros
fatores como idade e prevalência de doenças sistêmicas. Portanto, predizer o desfecho de um TCE é um
processo complexo e cognitivo (SUT; SIMSEK, 2011).
Tradicionalmente, empregam-se técnicas que não são ideais para trabalhar com dados biológicos
complexos, por vezes multidimensionais e armazenados em grandes repositórios de dados, tornando-se
demorado o processo de análise. Assim, devido ao fato de que não há consenso quanto a um método ideal, é
interessante explorar diferentes métodos (THEODORAKI et al, 2010).
Nesta pesquisa realizou-se a aplicação da tarefa de agrupamento pelo método de lógica fuzzy pelo
algoritmo Gustafson-Kessel na análise do TCE grave, a fim de se separar o conjunto de dados conforme o
desfecho em dois grupos de pacientes, os que vão a óbito e aqueles que sobrevivem.
O agrupamento pode ser entendido como uma tarefa básica no processo de mineração de dados, que
auxilia na estruturação e compreensão do conjunto de dados original identificando os grupos existentes em
um conjunto de objetos. A partir do agrupamento, outras tarefas de mineração de dados, tais como a
classificação e sumarização, podem realizar o seu trabalho nos grupos encontrados (BERRY; LINOFF, 2004;
HAN; KAMBER; PEI, 2011).
A tarefa de agrupamento é explorada com o objetivo de facilitar a identificação de padrões complexos,
por meio de diferentes técnicas que auxiliem o reconhecimento de características ocultas dentro das bases de
dados, considerando suas diversas áreas de aplicação (BEZDEK et al, 2005). A fim de atingir este objetivo,
analisa-se cada dado da base por meio de critérios de similaridade ou dissimilaridade, devendo a divisão
seguir as propriedades de homogeneidade nos grupos e de heterogeneidade entre os grupos (TAN;
STEINBACH; KUMAR, 2009).
Dentre os métodos utilizados para agrupamento de dados, nesta pesquisa aplicou-se a lógica fuzzy, pois é
capaz de identificar com maior precisão registros que se encontram entre dois grupos, ou seja, dados com
características semelhantes a estes grupos. O método efetua cálculos de pertinência nestas informações e
dependendo das operações matemáticas, estes registros podem pertencer a vários grupos simultaneamente,
permitindo que os elementos distintos de um grupo ou dados que estão entre grupos sejam classificados com
menor taxa de erro, melhorando a abstração do conhecimento gerado (BEZDEK et al, 2005).
O algoritmo de agrupamento fuzzy empregado foi o proposto por Gustafson e Kessel e tem como objetivo
produzir grupos de tamanhos e formas variados, aumentando sua flexibilidade na divisão dos grupos. No
entanto, este algoritmo exige maior capacidade de processamento, o que não inviabiliza a sua aplicação, visto
que possui a característica de cada grupo mudar de forma ou tamanho, a fim de se adaptar as diferentes
informações existentes na base de dados (BEZDEK et al, 2005; HÖPPNER et al, 1999).
O estudo apresentado dá continuidade ao trabalho desenvolvido por Martins et al (2009), utilizando-se o
mesmo conjunto de dados. Martins et al (2009) analisou a mortalidade em TCE grave na cidade de
Florianópolis no período de 1994 a 2003, empregando métodos estatísticos tradicionais por meio das análises
univariada (teste t) e multivariada (regressão logística). O modelo final por meio da regressão logística
obteve acurácia em torno de 55% para a predição do óbito.
2. ALGORITMO GUSTAFSON-KESSEL
Desenvolvido em 1979 por Donald E. Gustafson e William C. Kessel, o algoritmo Gustafson-Kessel (GK) é
uma extensão do algoritmo Fuzzy C-Means (FCM). No entanto, o GK utiliza uma matriz de covariância
fuzzy, matriz que contém as medidas de distância entre um grupo de elementos, para calcular as relações
entre os atributos da base de dados e utilizá-la na atualização da distância (GUSTAFSON; KESSEL, 1979).
O diferencial do GK em relação ao FCM é que esta matriz permite ao algoritmo adaptar-se a diferentes
formas de grupos, contrariando os círculos criados pelo FCM. Os grupos possuem suas próprias matrizes de
covariância fuzzy, permitindo a formação de protótipos (prototypes) de formas e tamanhos variados
(BEZDEK et al, 2005).
A principal alteração em relação ao FCM foi a troca da distância euclidiana por outra que encontra com
maior precisão os grupos existentes. Considerando isto, os autores adotaram a distância de Mahalanobis, a
qual implementa uma matriz de covariância entre os atributos disponíveis na base de dados. Esta matriz
104
Conferência IADIS Ibero-Americana Computação Aplicada 2013
possui a função de calcular a relação entre as diferentes propriedades, a fim de possibilitar maior
flexibilidade ao determinar os grupos encontrados (BEZDEK et al, 2005).
A matriz de covariância permite ao algoritmo Gustafson-Kessel encontrar grupos de formas geométricas
independentes, ou seja, cada grupo possui suas próprias características de dimensões. Por isso, os resultados
gerados pelo GK são, em geral, superiores em relação aos algoritmos tradicionais e ao FCM (GUSTAFSON;
KESSEL, 1979).
Este algoritmo implementa o parâmetro fuzzyficador (m), o qual determina a fuzzyficação entre os
elementos e seus protótipos. Se o valor de m for 1, não existirá esta relação de fuzzyficação entre dados e
grupos, o que gera um agrupamento tradicional, onde cada elemento pertence exclusivamente a um grupo. A
medida em que este valor é incrementado, a fuzzyficação entre os protótipos aumenta (COX, 2005).
Normalmente, é utilizado o valor 2 para este parâmetro, pois desenvolve uma fuzzyficação satisfatória
entre elementos e grupos, onde os registros pertencem um pouco a cada grupo. No entanto, as características
específicas de cada dado determinarão a qual grupo este irá pertencer (BEDZEK et al, 2005; HÖPPNER et
al, 1999).
O algoritmo Gustafson-Kessel permite apenas a utilização de valores numéricos, pelo fato de todo o
processo de agrupamento realizar somente operações matemáticas. Se for necessário a utilização de atributos
nominais, estes devem ser convertidos em valores decimais (BEZDEK et al, 2005).
Antes de começar os cálculos, deve-se escolher o número de grupos que se deseja identificar e determinar
o parâmetro de fuzzyficação m. A fim de finalizar a clusterização, deve-se definir o grau de erro (ɛ), que será
comparado com o erro calculado ao final de cada iteração do algoritmo.
O erro calculado pelo algoritmo consiste na variação entre as duas últimas pertinências entre todos os
elementos e grupos. Este valor é comparado com o número definido pelo grau do erro e o algoritmo encerra
sua execução se todas as pertinências forem menor que o valor do grau do erro (GUSTAFSON; KESSEL,
1979).
A matriz de pertinências U, que contém as pertinências dos elementos em relação aos grupos, deve ser
criada antes de se iniciar os cálculos. Como os primeiros valores desta matriz não interferem no resultado
final, os graus iniciais podem ser randômicos, desde que respeitem a propriedade de soma das pertinências
dada por (GUSTAFSON; KESSEL, 1979):
1
c
(1)
i 1
ij
Onde: (a) c: número total de grupos; (b) μij: grau de pertinência entre o i-ésimo grupo e o j-ésimo
elemento.
Esta propriedade (1) determina que a soma dos graus de pertinência de cada elemento j em relação aos c
grupos deve ser igual a 1, sendo adotada sempre que as pertinências forem recalculadas.
Posteriormente, dado um vetor de dados de tamanho p [x1, x2, x3, ..., xp], onde cada elemento possua um
d x c
vetor transposto de N dimensões [xp1, xp2, xp3, ..., xpN]T, deve-se minimizar a seguinte função objetivo
E
(GUSTAFSON; KESSEL, 1979):
c p m
2
(2)
i 1 j 1
ij j i
Onde: (a) E: valor a ser minimizado, o qual determina os centros dos grupos e os graus de pertinências
dos dados; (b) c: número total de grupos; (c) p: número total de elementos; (d) μij: grau de pertinência entre o
i-ésimo grupo e o j-ésimo elemento; (e) m: parâmetro de fuzzyficação; (f) d²: distância entre o j-ésimo
elemento x e o i-ésimo grupo c.
Utilizando-se desta equação (2), é possível executar o agrupamento pelo método de lógica fuzzy, onde
cada algoritmo possui suas próprias funções de distância entre elementos e grupos. No caso do algoritmo
Gustafson-Kessel, cinco fases principais estão envolvidas no processo, as quais devem ser executadas na
seguinte ordem (GUSTAFSON; KESSEL, 1979): calcular o centro dos grupos; computar as matrizes de
covariância fuzzy; atualizar as distâncias entre os elementos e os seus grupos; determinar os novos graus de
pertinência e definir a condição de parada do algoritmo.
O cálculo dos centros dos grupos objetiva encontrar um ponto que determinará o centro de cada grupo.
Este valor não é um dado existente na base de dados, e sim, um número fictício calculado pelo algoritmo a
fim de representar o centro. A equação (3) é utilizada a fim de calcular o centro de cada grupo existente no
agrupamento (GUSTAFSON; KESSEL, 1979):
105
ISBN: 978-972-8939-96-0 © 2013 IADIS
x
p
m
Ci
j 1
ij j
(3)
p
m
j 1
ij
Onde: (a) ci: centro do i-ésimo grupo; (b) p: número total de elementos; (c) uij: grau de pertinência entre o
i-ésimo grupo e o j-ésimo elemento; (d) m: parâmetro de fuzzyficação; (e) xj: j-ésimo elemento.
Cada centro encontrado possuirá o mesmo número de dimensões dos elementos, ou seja, se a base de
dados possuir N dimensões, o resultado de cada centro calculado será um vetor transposto de N dimensões
[ci1, ci2, ci3, ..., ciN]T. Finalizado o processo de atualização de todos os centros, deve-se encontrar as matrizes
de covariância fuzzy de cada grupo.
As matrizes de covariância fuzzy podem ser calculadas de acordo com a equação (4) (GUSTAFSON;
KESSEL, 1979):
p
m T
Fi
j 1
ij x j ci x j ci
(4)
p
m
j 1
ij
Onde: (a) Fi: matriz de covariância fuzzy do i-ésimo grupo; (b) p: número total de elementos; (c) μij: grau
de pertinência entre o i-ésimo grupo e o j-ésimo elemento; (d) m: parâmetro de fuzzyficação; (e) xj: j-ésimo
elemento; (f) ci: centro do i-ésimo grupo.
Ao atualizar todas as matrizes, pode-se computar as novas distâncias de cada elemento da base de dados
em relação aos centros dos grupos encontrados. O cálculo da distância define uma medida entre cada ponto e
os grupos encontrados. Este valor é de fundamental importância para o algoritmo, pois os números
computados serão utilizados a fim de atualizar as pertinências dos elementos disponíveis na base de dados
(BEZDEK et al, 2005).
A distância utilizada pelo algoritmo Gustafson-Kessel é a de Mahalanobis, a qual executa seus cálculos
d x , c x j ci M x c
por meio de matrizes de covariância. A equação (5) define a atualização das distâncias (GUSTAFSON;
KESSEL, 1979):
2 T
j i i j i
(5)
Onde: (a) d²: distância entre o j-ésimo elemento x e o i-ésimo grupo c; (b) xj: j-ésimo elemento; (c) ci:
centro do i-ésimo grupo; (d) Mi: matriz de covariância modificada do i-ésimo grupo.
N det F i F i
A matriz de covariância Mi deve ser ajustada a dimensão e a forma do grupo, definida pela equação (6)
(GUSTAFSON; KESSEL, 1979):
1
M i
(6)
Onde: (a) N: número de dimensões da base de dados; (b) Fi: matriz de covariância fuzzy do i-ésimo
grupo.
Finalizando-se os cálculos, pode ocorrer de alguma distância entre um dado e um grupo ser zero. Neste
caso, a pertinência deste elemento em relação a este grupo deve ser igual a 1 e todos os outros graus de
pertinência devem ser igual a zero (HÖPPNER et al, 1999).
Os valores obtidos definirão uma distância em relação a todos os grupos existentes para cada elemento.
Considerando estes valores, pode-se atualizar a matriz de pertinência U, a qual definirá o quanto um
elemento pertence a cada grupo. A atualização das pertinências é dada por (GUSTAFSON; KESSEL, 1979):
1
U
2 m1
(7)
1
d ij
ij
2
c
k 1
d kj
Onde: (a) uij: grau de pertinência entre o i-ésimo grupo e o j-ésimo elemento; (b) c: número total de
grupos; (c) d²ij: distância entre o j-ésimo elemento e o i-ésimo grupo; (d) d²kj: distância entre o j-ésimo
elemento e o k-ésimo grupo; (e) m: parâmetro de fuzzyficação.
106
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Ao final da atualização de todas as pertinências dos elementos, deve-se calcular uma condição de parada,
a fim de terminar a execução do algoritmo. A condição de parada deve finalizar o processamento do
algoritmo. O método padrão adotado por Gustafson-Kessel é o cálculo do erro entre pertinências. No entanto,
outro método pode ser adotado, o do número de iterações, o qual o usuário determina a quantidade de
iterações do algoritmo (BEZDEK et al, 2005).
Porém, o cálculo de erro entre os graus de pertinência é satisfatório, visto que o algoritmo após várias
iterações apresenta pouca modificação dos valores de pertinência, o qual registra o fim dos cálculos de
agrupamento. A utilização deste cálculo é recomendado, pois na maioria dos casos reduz a quantidade de
ciclos que o algoritmo necessitaria a fim de finalizar o agrupamento. A equação (8) descreve o cálculo do
erro e a condição de parada (GUSTAFSON; KESSEL, 1979):
U U
l l 1
(8)
Onde: (a) U: matriz de pertinências; (b) l: número de iterações atual; (c) ɛ: valor do erro.
3. METODOLOGIA
O processo de desenvolvimento iniciou-se com a definição do problema em foi aplicada a mineração de
dados, observando-se a base de dados bruta no que se refere a estrutura do conjunto de dados em termos dos
seus atributos e registros. Esta etapa também foi caracterizada pela definição do especialista no domínio de
aplicação que detém o conhecimento sobre o problema, sendo fundamental no processo, pois auxilia na
identificação dos objetivos da mineração de dados e na avaliação dos resultados. Os objetivos da aplicação
também compõem esta fase e consistem nas características esperadas do modelo de conhecimento.
A base de dados utilizada nesta pesquisa é composta por registros de pacientes com Traumatismo
Cranioencefálico (TCE) do tipo grave que foram admitidos na Unidade de Terapia Intensiva do Hospital
Governador Celso Ramos, na cidade de Florianópolis, no período compreendido entre Janeiro de 1994 a
Dezembro de 2003. A base de dados é formada por 748 registros, sendo que cada um possui 18 atributos que
representam as características relacionadas ao TCE (Tabela 1).
Tabela 1. Base de dados de TCE grave
Atributos Valores
Sexo Masculino, feminino
Idade 12 anos
Glicose ≤ 60 até > 300
Ano de atendimento 1994 a 2003
Causa do TBI Acidentes: rodoviário, automóvel, bicicleta; quedas, agressão, outros
Classificação de Marshall Tipo I, II, III e IV
Hemorragia subaracnóide Sim, não
Trauma associado Sim, não
Tipo de trauma associado: Face/Coluna
cervical/Coluna dorso lombar/ Sim, não
Tórax/Abdominal/Membros/Outros
Escala de Coma de Glasgow 3a8
Pupilas Isocóricas, mióticas, anisocóricas, midriáticas
Desfecho Sobrevida, óbito
Conforme Martins et al (2009) este é um hospital público de referência para o TCE atendendo uma
população de aproximadamente um milhão, que compõe a região metropolitana de Florianópolis.
O TCE consiste em uma agressão ao cérebro, ocasionando lesão anatômica ou comprometimento
funcional do crânio, meninges ou encéfalo. Esta agressão é causada por uma força física externa que pode
diminuir ou alterar o estado de consciência e comprometer as capacidades cognitivas ou motoras
(GRAHAM; CARDON, 2008). O TCE ocasiona no sistema nervoso central várias alterações estruturais,
fisiológicas e funcionais. Assim, pode acarretar a morte da vítima de TCE como também comprometer as
suas capacidades cognitivas, físicas e comportamentais (CÉSPEDES et al, 2001; COLANTONIO et al,
2009).
107
ISBN: 978-972-8939-96-0 © 2013 IADIS
Após a definição dos dados realizou-se a etapa de modelagem que compreendeu o pré-processamento dos
dados e a execução da mineração de dados. O pré-processamento consistiu na organização e tratamento dos
dados, preparando-os para serem submetidos ao algoritmo. A mineração de dados refere-se a etapa de
aplicação dos algoritmos a fim de se separar os padrões presentes nestes em grupos, sendo que nesta pesquisa
foi empregada a tarefa de agrupamento pelo método de lógica fuzzy por meio do algoritmo Gustafson-
Kessel.
A avaliação compreendeu a análise dos grupos identificados pelo algoritmo supracitado, empregando-se
medidas de qualidade, que consistem em índices estatísticos, a fim de se avaliar o desempenho e a qualidade
dos grupos gerados.
Inicialmente realizou-se o pré-processamento dos dados a fim de se melhorar a aplicação da mineração de
dados em termos de tempo, custo e qualidade. Nesta etapa executaram-se as funções de seleção dos dados,
agregação, limpeza e transformação de variáveis.
Os dados utilizados nesta pesquisa já se encontravam organizados em uma única tabela, portanto a
seleção dos dados consistiu na escolha dos atributos a serem considerados na mineração de dados. A seleção
por redução de dados vertical foi implementada pela eliminação dos atributos cujo conteúdo não foi
considerado relevante para o problema, como, por exemplo, o código identificador. Além deste, outros
atributos também foram eliminados de algumas análises, conforme orientações do especialista do domínio de
aplicação, como por exemplo: ano de atendimento e tipo de trauma associado. A redução de dados verticais,
segundo Tan, Steinbach e Kumar (2009), pode auxiliar na obtenção de modelos de conhecimento com maior
acurácia e concisão, pois eliminam características irrelevantes e reduzem o ruído.
A agregação também foi empregada para reduzir o número de valores de um determinado atributo, como
por exemplo, em ano de atendimento, glicose e idade, as quais foram categorizadas (discretização), conforme
as orientações do especialista do domínio de aplicação.
A limpeza dos dados compreendeu a eliminação de valores ausentes no conjunto de dados, por meio da
exclusão dos casos que possuíam atributos com valores ausentes.
A transformação das variáveis deve atender as necessidades dos algoritmos de mineração de dados, no
caso desta pesquisa, os atributos nominais foram transformados para numéricos, como por exemplo, sexo,
desfecho, entre outros, pois o algoritmo Gustafson-Kessel trabalha apenas com valores numéricos, estes
dados foram transformados a fim de permitir o seu agrupamento. Nestes dados empregou-se um número
identificador, a fim de possibilitar a execução do algoritmo e sua posterior identificação.
Após o pré-processamento dos dados a base passou a ter 728 registros, os quais foram submetidos ao
agrupamento fuzzy pelo algoritmo Gustafson-Kessel.
A etapa de execução da mineração de dados compreendeu a aplicação do agrupamento fuzzy pelo
algoritmo Gustafson Kessel, para isso empregou-se a Shell Orion Data Mining Engine, que consiste em uma
ferramenta de mineração de dados que implementa em Java diversos algoritmos, desenvolvida em meio
acadêmico e disponibilizada gratuitamente. Todas as análises realizadas tiveram os mesmos parâmetros de
entrada definidos, os quais foram: (a) quantidade de grupos: 2; (b) parâmetro de fuzzyficação: o grau de
fuzzyficação dos elementos em relação aos seus grupos foi definido em 2, conforme indicado pela literatura
da área e explicitado anteriormente neste artigo; (c) quantidade de iterações: foi definido o valor zero, a fim
de que o algoritmo execute um número ilimitado de iterações, sendo sua condição de parada exclusivamente
a taxa de erro; (d) taxa de erro: o erro aceitável dos resultados determinados pelo algoritmo foi estabelecido
em 0.00001; (e) atributos de entrada: foram considerados os campos da base de dados a serem utilizados nos
cálculos de agrupamento pelo algoritmo Gustafson-Kessel.
A definição dos parâmetros de entrada demonstra que por meio de uma base de dados, pode-se obter
diferentes resultados, considerando que os valores podem ser selecionados de acordo com a preferência do
usuário.
Na etapa de avaliação, os resultados gerados foram avaliados aplicando-se algumas das medidas de
qualidade indicadas pela literatura, Bedzek et al (2005) e Guillet e Hamilton (2010), para a avaliação da
qualidade do agrupamento fuzzy em mineração de dados: coeficiente de partição, coeficiente de entropia e
índice Xie-Beni.
108
Conferência IADIS Ibero-Americana Computação Aplicada 2013
4. RESULTADOS OBTIDOS
Algumas análises realizadas empregaram apenas alguns atributos da base de dados, os quais foram
selecionados conforme orientações do especialista do domínio de aplicação, enquanto em outras, utilizaram-
se todos os atributos da base. Em ambos os casos, constatou-se a dispersão dos dados pelo espaço, o que
demonstra a proximidade dos atributos, independente de fatores como o sexo, classificação de Marshall,
presença de hemorragia subaracnóide, estado das pupilas, desfecho, entre outros.
Considerando-se todos os atributos da base de dados, o algoritmo GK realizou um número pequeno de
iterações (apenas uma), tendo-se como critério de parada a taxa de erro de 0.00001 e os índices de validação,
como o coeficiente de partição de 0.50, o coeficiente de entropia de 0.69 e o índice Xie-Beni 0.34, obteve-se
resultados que demonstraram a similaridade entre os dados disponíveis, não se conseguindo um agrupamento
fuzzy adequado do TCE grave para estes dados (Figura 1(a)). O coeficiente de partição é uma função
maximizadora cujo resultado mais próximo de 1 é o ideal, significando que os grupos estão bem definidos. O
coeficiente de entropia e o índice Xie-Beni são funções minimizadoras. O coeficiente de entropia varia de
zero até o log do número de grupos, sendo que quanto mais alto indica a ausência de grupos definidos. O
índice Xie-Beni não tem um intervalo definido, porém é considerado ideal o quanto menor for, pois indica
que os grupos estão bem definidos.
Em uma análise considerando apenas alguns atributos da base de dados (Idade, Sexo, Glicemia, Causa,
Classificação de Marshall, Hemorragia Subaracnóide e Pupilas), os resultados mostram que o algoritmo GK
encontrou como referência relevante o atributo Sexo, separando-os em dois grupos. Considerando-se o
gráfico (Figura 1(b)) pode-se perceber que os dados estão dispersos pelo espaço disponível, o que demonstra
a proximidade dos atributos, independente do sexo, e a proximidade das centróides.
Essa tendência foi observada em todas as análises realizadas, mesmo no uso de atributos categóricos e
não categóricos, não se conseguindo separar os grupos, tanto em situações em que ocorreram poucas
iterações, quanto naquelas em que se teve um número maior.
(a) (b)
Figura 1. Agrupamento fuzzy dos dados de TCE grave.
5. CONCLUSÃO
O TCE é um dos tipos de trauma que mais acomete a população, ocorrendo lesões graves que levam a
hospitalização. Aplicando-se o agrupamento fuzzy pelo algoritmo Gustafson-Kessel não foi possível separar
os dados em grupos que auxiliassem no entendimento de padrões similares que acarretam o óbito ou a
sobrevida. Isso se deve a similaridade entre os dados nos dois desfechos, comprovadas pelas medidas de
qualidade aplicadas e pela mistura das informações entre os clusters encontrados.
Mediante os resultados do agrupamento fuzzy, pode-se concluir que o modelo de regressão logística
empregado em estudos anteriores, obteve uma acurácia baixa para a previsão do óbito (55%) em função da
similaridade entre os dados nos diferentes desfechos de óbito e sobrevida, não conseguindo identificar um
modelo linear com taxas superiores.
109
ISBN: 978-972-8939-96-0 © 2013 IADIS
AGRADECIMENTOS
Ao Instituto de Engenharia Biomédica, Departamento de Engenharia Elétrica, Universidade Federal de Santa
Catarina e ao Curso de Ciência da Computação, Universidade do Extremo Sul Catarinense.
REFERÊNCIAS
Berry, Michael J.; Linoff, Gordon. Data mining techniques: for marketing, sales, and customer relationship management.
Indianapolis: Wiley Publishing, 2004.
Bezdek, James et al. Fuzzy models and algorithms for pattern recognition and image processing. New York: Springer,
2005.
Cox, Earl. Fuzzy modeling and genetic algorithms for data mining and exploration. California: Morgan Kaufmann, 2005.
Graham, D.P. , Cardon,A.L. “An update on substance use and treatment following traumatic brain injury”, Annals of the
New York Academy of Sciences, vol. 1141, pp.148-162, oct. 2008.
Guillet, F.,Hamilton, H. J. Quality measures in data mining. Chichester: Springer, 2010.
Gustafson, Donald E.; Kessel, William C. Fuzzy clustering with fuzzy covariance matrix. Proceedings of the IEEE
Control and Decision Conference, San Diego, p. 761-766, jan 1979.
Han J., Kamber M., Pei, J. Pei, Data mining: Concepts and Techniques. Morgan Kaufmann, San Francisco, 2011.
Höppner, Frank et al. Fuzzy cluster analysis: methods for classification, data analysis, and image recognition. Chichester:
John Wiley & Sons, 1999.
Lee, T.T. et al, “Application of data mining to the identification of critical factors in patient falls using a web-based
reporting system”, International Journal of Medical Informatics, vol.80, pp.141–150, feb. 2011 .
Martins, E.T. et al, “Mortality in severe traumatic brain injury: a multivariated analysis of 748 Brazilian patients from
Florianopolis City”, The Journal of Trauma, vol. 67, pp. 85-90, jul. 2009.
Saatman, K.E. et al, “ Classification of traumatic brain injury for targeted therapies”, Journal of Neurotrauma, vol. 25,
pp. 719-738, jul. 2008.
Sut, N. ; Simsek O., “Comparison of regression tree data mining methods for prediction of mortality in head injury”,
Expert Systems with Applications, vol. 38, pp. 15534-15539, nov./dec. 2011.
Tan P.N., Steinbach M., Kumar,V. Introdução ao Data Mining. Ciência Moderna, Rio de Janeiro, 2009.
Theodoraki, E. M. et al, “Innovative data mining approaches for outcome prediction of trauma patients”, Journal
Biomedical Science and Engineering, vol. 3, pp. 791-798, aug. 2010.
110
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Diogo Lucena Gomes de Melo1, Eneias Bezerra da Silva Junior2, Gilmar Gonçalves de Brito2,
Paulo Sérgio Brandão do Nascimento2, Mêuser Jorge Silva Valença1
e Sérgio Murilo Maciel Fernandes1
1
Escola Politécnica de Pernambuco, Universidade de Pernambuco , Rua Benfica, 455 - Campus Recife - Recife - PE
2
Instituto Federal de Educação, Ciências e Tecnologia de Pernambuco , Av. Prof Luiz Freire,
500 - Campus Recife - Recife - PE
RESUMO
Os parâmetros de segurança e manutenção, de grande importância nas estruturas civis, envolvem aspectos de risco que
podem resultar em perdas econômicas ou mesmo de vidas humanas. Para que as estruturas civis sejam permanentemente
monitoradas, faz-se necessária a presença de dispositivos sensores que exerçam esta atividade permanentemente. No
presente artigo, propõe-se a realização de um experimento de monitoramento de um corpo de prova de aço através de
sensores. Foram utilizados os sensores strain gage, giroscópio e acelerômetro, além da plataforma de desenvolvimento
arduino como sistema de aquisição de dados, a fim de averiguar sua eficiência na identificação de deformações causadas
pela torção. Espera-se que esse trabalho possa servir de base para o desenvolvimento de sistemas de monitoração em
projetos de engenharia civil, a fim de avaliar a saúde estrutural das construções de um modo permanente e seguro.
PALAVRAS-CHAVE
Acelerômetro, strain gage, giroscópio, monitoração, sistema de aquisição.
1. INTRODUÇÃO
A segurança e manutenção das estruturas civis são de extrema importância para o desenvolvimento
econômico e social, pois afetam diretamente o governo e a população. Programas de monitoramento vêm
sendo desenvolvidos por meio de computadores com a utilização de sensores. Estes programas permitem que
processos e sistemas, antes monitorados de forma arcaica, se tornem mais rápidos e precisos, economizando
tempo, dinheiro e proporcionando não apenas uma melhor forma de armazenamento dos dados, como
também uma maior agilidade na análise dos sinais (Leuckert, 2000). Contudo, apesar do crescente
desenvolvimento desta tecnologia, ainda não é prática comum o monitoramento de estruturas civis,
principalmente no Brasil.
Na década passada observou-se que o gasto dos EUA para recuperação de pontes era de USD 10 bilhões
por ano. A razão para tão elevado gasto estava na avaliação das estruturas a qual era realizada através de
inspeções visuais e audíveis, conforme resposta de modelos construídos utilizando o método dos elementos
finitos (Chase, 2001 apud Chang et al., 2003). No entanto, neste tipo de monitoramento não se tem como
informar parâmetros suficientes e básicos como, por exemplo, o envelhecimento dos componentes
estruturais, o que fazia com que estruturas fossem interditadas erroneamente (Chang et al., 2003). Isto reforça
a importância da aquisição de dados por meio de um sistema computacional de monitoramento com o
objetivo de reduzir custos e obter dados mais precisos e em tempo real.
111
ISBN: 978-972-8939-96-0 © 2013 IADIS
As estruturas de maior durabilidade e segurança geralmente são aquelas que possuem um programa de
gerenciamento que ajudam a otimizar o tipo de intervenção que deve ser feito na estrutura, de forma objetiva,
através da análise dos dados obtidos (Glisic et al., 2002). No trabalho de Camargo (2008), foram utilizados
strain gages para monitoração de esforços e deformação mecânica em estruturas civis. No artigo de Sardinha
et al. (2006) relata-se o monitoramento de dois pilares com acelerômetro onde foi comparado os seus dados
com um modelo numérico em elementos finitos, pela análise de suas frequências naturais, taxas de
amortecimento e modos de vibração .
Atualmente as grandes beneficiárias do monitoramento por meio de sensores são as pontes, sendo o
monitoramento de edifícios ainda pouco pesquisado (Neto, 2012). Com o sensoriamento espalhado na
estrutura pode-se chegar a conclusões mais precisas e rápidas de possíveis danos estruturais. Segundo
Thomaz (1989), alguns diagnósticos não são tão simples, precisando da ajuda de especialistas, ensaios em
laboratórios, revisão do projeto, além de acompanhamento da obra e instrumentação. Apesar de todas estas
iniciativas, ainda assim pode-se não ter a certeza da origem do problema. Neste sentido, busca-se neste artigo
mostrar o funcionamento de um sistema de monitoramento de vergalhões de aço utilizados em estrutura de
concreto por meio de sensores como strain gage , acelerômetro e giroscópio. Este sistema de monitoramento
procura identificar variações dos sinais provenientes dos sensores, inseridos no vergalhão de aço CA 25,
quando submetido ao esforço de torção, a fim de validar o funcionamento destes sensores pelo sistema.
2. MATERIAIS E MÉTODOS
Para o condicionamento do sinal geralmente é utilizada a ponte de wheatstone (Assis, 2007). O modelo de
ponte de wheatstone, a ser descrito mais adiante, permite que o desbalanceamento, causado pela deformação
do extensômetro, acarrete em uma diferença de potencial.
112
Conferência IADIS Ibero-Americana Computação Aplicada 2013
2.3 Arduino
O arduino é uma plataforma computacional de código aberto baseado em um microcontrolador e dispositivos
periféricos, bastante utilizados por causa de sua fácil manipulação (Roberts, 2011). Ele é constituído por um
circuito impresso, acoplado a um microcontrolador ATMega da ATMEL, cuja linguagem de programação é
baseada em C/C++. O Arduino Duemilanove com microcontrolador ATmega328 é composto por 14 pinos
I/O digitais, 6 entradas analógicas, um oscilador de 16 MHz, uma conexão USB, uma interface de
alimentação, um conector ICSP, e um botão de reset.
Equação 2
Onde a constante representa a sintonia do filtro que pode ser ajustado como desejado, T é o intervalo de
tempo das atualizações e a variável i indica, individualmente, os eixos X,Y ou Z. Define-se ainda como o
ângulo filtrado, como a velocidade angular média do eixo i do giroscópio e o como o ângulo do
acelerômetro do eixo i. Vale resaltar que o filtro complementar foi aplicado a cada um dos 3 eixos X, Y e Z,
individualmente, garantindo uma maior estabilidade dos dados.
A medição realizada nos eixos X e Z não apresentou qualquer problema por estarem paralelos ao nível do
solo. Porém o eixo Y por estar perpendicular ao solo e alinhado com a aceleração gravitacional apresentou
medidas distorcidas, não sendo possível medir o ângulo de rotação deste eixo de forma precisa, pela
utilização desta técnica de filtragem, em razão de restrições intrínsecas ao acelerômetro. O cálculo do ângulo
de rotação através do acelerômetro no eixo Y, em virtude deste estar alinhado com o vetor de aceleração
gravitacional (eixo perpendicular ao solo), apresenta variação nula. Ainda assim foi possível a captação da
variação da torção no eixo Y através desta filtragem. Porém esta variação tende a retroceder quando a força
de torção deixa de ser aplicada, devido ao acelerômetro. Com isto pode-se saber o início e o fim da aplicação
da força de torção.
Outra forma possível de medir essa variação no eixo Y seria considerando apenas o valor do ângulo de
rotação do giroscópio. Contudo, este método também seria impreciso devido aos problemas citados
anteriormente em Santana (2005). Durante a experimentação se percebeu que os dados do giroscópio eram
incrementados com o passar do tempo, mesmo estando em repouso, o qual não foi aplicado o filtro
complementar.
113
ISBN: 978-972-8939-96-0 © 2013 IADIS
As saídas dos sensores foram conectadas aos canais do conversor A/D (Analógico/Digital) do arduino,
que converte a tensão elétrica de entrada em números binários, com resolução de 10 bits que equivale a 1024
combinações binárias. O conversor A/D converte uma tensão de 0-5V para 1024 bits de 0 a 1023,
corespondente a 1023 degraus , com resolução de 4,8876 mV/degrau. Foi utilizada na configuração do
arduino uma taxa de transferência 9600 bits por segundo. Para obter-se uma maior precisão foi tirada uma
média dos valores recebidos.
Para o cálculo da tensão (mV) do strain gage conectado no arduino, basta dividir a tensão máxima do
arduino 5 V pela sua faixa de resolução 1023. Em seguida multiplica-se este valor pelo valor retornado pelo
arduino, onde:
Contudo, devido ao baixo nível de sinal gerado pela deformação do strain gage, este necessita passar por
um circuito amplificador do tipo CI TL 072, que são circuitos operacionais dedicados para instrumentação,
além de passar pela ponte de wheatstone representada na Figura1 por 2 resistores de 1k5 (R1 e R2), um strain
gage (RG1) de 350 ohms, e um resistor variável na configuração de reostato (P1) de 500 ohms. O resistor
variável serve para que se possa estabilizar a ponte de wheatstone com a resistência do strain gage, ou seja,
RG1 deve ser igual a P1 para que a diferença de potencial em Volt entre os pontos A e B, na Figura 1, seja 0.
No circuito foi colocado um filtro na saída do circuito do strain gage com o intuito de eliminar o ruído.
114
Conferência IADIS Ibero-Americana Computação Aplicada 2013
3. RESULTADOS E DISCUSSÃO
O primeiro ensaio de torção realizado no aço foi feito com a força de torque sendo aplicada no sentido anti-
horário, no qual a força máxima aplicada foi de 6 mkp. Os dados dos sensores durante a torção são mostrados
na Figura 4.
115
ISBN: 978-972-8939-96-0 © 2013 IADIS
Neste experimento a tensão inicial registrada pelo strain gage foi de 4,74 mV e ao final foi para 4,08 mV.
O gráfico de tensão na Figura 4 foi quase linear, mostrando que o torque foi aproximadamente proporcional à
variação da tensão, que variou de forma decrescente. Essa não linearidade pode ter sido causada pela forma
como foi aplicada a força, devido à resistência do material. Quanto mais se rotacionava o aço mais força de
torque tinha que ser aplicada, o que poderia ter causado uma pequena variação da força devido à instabilidade
na sua aplicação.
Já os dados dos ângulos registrados pelo MPU6050, mostraram o momento de torção do aço no ângulo Y
como era de se esperar devido ao posicionamento do sensor e seus eixos representados na Figura 5. Outra
análise sobre o gráfico gerado pelos ângulos Y e Z é que com a aplicação da força de torque gradativa, os
ângulos Y e Z vieram a responder com maior intensidade a cada variação da sua força aplicada. Isso se deve
ao fato do MPU 6050 ter sido fixado a 20 cm de distância do ponto de aplicação da torção, logo, o local que
sofreu maior deformação foi o local mais próximo de onde estavam sendo aplicada a força de torção. Pode-se
observar ainda que os gráficos dos ângulos Y e Z apresentam certa similaridade. Isso se deve a posição na
qual foi aplicado o torque, onde se gerou de forma quase que proporcional uma flexão em torno do eixo Z e
uma torção em trono do eixo Y. Foi constatado também a variação dos ângulos X e Y, devido à flexão
sofrida pelo aço no momento da aplicação da força de torque, visto que apenas uma extremidade do aço
estava fixada.
Figura 6. Gráficos da variação tensão e dos ângulos causados pela torção aplicada no sentido horário.
116
Conferência IADIS Ibero-Americana Computação Aplicada 2013
No segundo experimento a força de torque aplicada foi inferior ao do primeiro experimento devido à
saturação da tensão. Como a tensão inicial do segundo experimento estava em 4,80 mV muito próxima da
tensão de saturação 5 mV, a força aplicada no sentido horário fez a tensão subir ao seu limite,
impossibilitando novos aumentos da tensão, independente da força aplicada. Já a informação dos gráficos de
ângulos Y e Z da Figura 6 mostraram-se diferente do experimento anterior. Isso pode ter ocorrido devido a
uma pequena deformação do aço causada pelo experimento anterior ou pela fragilização do aço que o deixou
mais sensível à torção, além da posição que força foi aplicada. Já o ângulo X, ainda do segundo
experimento, evidenciou mais uma vez a influência causada pela força de torção aplicada, causando uma leve
flexão do aço além da interferência causada pelo o apoio da mão sobre o experimento, para evitar que o aço
não viesse a flexionar, conforme Figura 3.a.
Pela análise dos valores iniciais dos 2 experimentos vê-se que os ângulos não coincidem. Isto se deve a
uma série de fatores como a movimentação do aço no próprio torno, que causa uma pequena alteração do
ângulo, além do próprio deslocamento do MPU 6050, devido ao modo como ele foi fixado no aço, fazendo
com que ele tenha se inclinado um pouco, e por fim a uma pequena deformação permanente decorrente do
primeiro experimento.
Um outro ponto importante na análise dos experimentos diz respeito a redundância de informação
propiciada pelos dois sensores instalados, uma vez que o strain gage consegue medir a deformação do objeto
no local onde ele está fixado. Deste modo ele consegue obter ao mesmo tempo a deformação causada pela
torção e pela flexão do aço no decorrer do experimento. Contudo, neste experimento, não se sabe a direção
da força aplicada através do strain gage, o que é obtido por meio do Mpu 6050, o qual fornece a direção do
deslocamento do material em função das forças aplicadas.
4. CONCLUSÃO
Através dos gráficos gerados pelos dados obtidos dos sensores, percebe-se que o sistema conseguiu
identificar a deformação sofrida pelo aço mediante a força de torção a ele aplicada, além de identificar a
força de flexão sofrida mediante a execução da torção.
Pode-se concluir ainda que os dados de torção poderiam ser mais eficientes e precisos caso fosse usada
uma máquina especifica para torção, evitando assim problemas como aquele da flexão ocorrida no aço, além
da obtenção de dados mais lineares durante a aplicação da força. Contudo a metodologia utilizada na
condução do experimento mostrou-se interessante, pois influências de outros tipos de forças foram captadas
pelo sistema, dando um maior subsídio de informações para análise e validação do mesmo.
Com o aperfeiçoamento do ensaio de torção e a realização específica do ensaio de flexão com esses
sensores, pode-se ter um maior subsídio de informações para criação de um sistema robusto a fim de
identificar as forças atuantes na deformação do aço, criando assim um sistema de monitoração estrutural.
Com esses sensores instalados nas estruturas civis pode-se mensurar a deformação causada em aços que
são utilizados em concreto armado, além analisar os tipos de forças a eles aplicadas, uma vez que se
conseguiu identificar o direcionamento das forças que estavam sendo aplicadas no experimento com o aço
CA 25. Esses dados fornecidos pelo sistema de monitoração estrutural contribuem para uma melhor
manutenção da estrutura, além de fornecer uma maior segurança com o objetivo de evitar acidentes graves
proporcionados por desabamentos, causados pela má conservação, e falhas nas observações dessas estruturas.
Para trabalhos futuros pretende-se criar uma rede de sensores sem fio para monitoramento de uma
estrutura de concreto armado, além da colocação de novos sensores a fim de se aumentar à confiabilidade dos
dados por meio de redundância. Pretende-se ainda desenvolver pesquisas relacionadas ao encapsulamento
dos sensores no interior dos corpos de prova de concreto, de modo a possibilitar a captura de sinais por meio
de um correto isolamento, sem a influência danosa do cimento sobre os dispositivos. Outra meta é conseguir
medir de forma mais precisa a variação do ângulo do eixo de rotação paralelo ao vetor gravitacional.
117
ISBN: 978-972-8939-96-0 © 2013 IADIS
REFERÊNCIAS
Assis, W. A., 2007. Sistemas computacionais de apoio à monitoração de estruturas de engenharia civil. Tese de
Doutorado. Escola Politécnica, Escola Politécnica da Universidade de São Paulo, São Paulo, Brasil.
Campos, F. F., 1991 Sistema de Condicionamento de Sinais, Aquisição, Armazenagem d Dados para Transdutores Strain
Gage. Dissertação de Mestrado, Universidade Federal de Pernambuco, Recife, Brasil.
Camargo, V. L. A., 2008. Desenvolvimento e implementação de uma plataforma para monitoramento estrutural
utilizando sensores extensométricos conectados em rede. Tese de mestrado. Universidade Estadual de Londrina
Mestre em Engenharia Elétrica, Londrina, Brasil.
Chang, P. C. et al., 2003. Review Paper: Health monitoring of civil infrastructure. Structural Health Monitoring vol. 2, p.
257–267.
Colton, S.2007: The balance filter – A simple solution for Integrating Accelerometer and Gyroscope Measurements for a
Balancing proble. Massachusetts Institute of Technology. Disponível em: <web.mit.edu/scolton/www/filter.pdf>
Acesso em: 8 jan. 2013.
Glisic, B. et al., 2002. Structural monitoring of concrete structures. Third World Conference on Structural Control,
Como, Italy, p. 10.
Leuckert, C, 2000. Sistema portátil de aquisição de dados para análise dinâmica de estruturas mecânicas, Dissertação
de Mestrado, Universidade Federal do Rio Grande do Sul, Porto Alegre, Brasil.
Morgado, F. L. M., 2009.Concepção de um Pequeno Sensor Inercial 3D. Dissertação de Mestrado, Universidade de
Aveiro, Aveiro, Portugal.
Neto, G., 2012. Contribuição o desenvolvimento de técnicas de monitoramento remoto para blocos de fundação de
edifícios em concreto armado com vistas à durabilidade. Tese de Doutorado, Escola Politécnica da Universidade de
São Paulo, São Paulo, Brasil.
Roberts, M., 2011. Arduino Básico. Editora Novatec, São Paulo, Brasil.
Sardinha, I. B. et al., 2006. Monitoração de estruturas para identificação de parâmetros modais. Proceedings of the XXVII
Iberian Latin American Congress on Computational Methods in Engineering, Pará, Brasil.
Santana, D. D., 2005. Estimação de trajetórias terrestres utilizando unidades de medição inercial de baixo custo e fusão
sensorial. Dissertação de Mestrado, Escola Politécnica da Universidade de São Paulo, São Paulo, Brasil.
Thomaz, E., 1989 Trincas em Edifícios : causas, prevenção e recuperação, 1.ed, Editora Pini. São Paulo, Brasil.
118
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Toni Escobar, Cristiane Ellwanger, Cristina Paludo Santos, Alessandro Freitas de Oliveira
e Paulo Ricardo Baptista Betencourt
Universidade Regional Integrada do Alto Uruguai e das Missões – Campus de Santo Ângelo/RS
Av. Universidade das Missões, 464 – Bairro Universitário, Santo Ângelo-RS - 98.802-470
RESUMO
Este artigo apresenta uma proposta para aplicação da forense computacional em logs de e-mail a partir da integração de
duas abordagens já consolidadas e sugere sua aplicação como complementar ao gerenciamento de riscos e não como uma
forma de substituí-lo. Um estudo de caso foi desenvolvido com o intuito de especificar e demonstrar a aplicabilidade da
metodologia proposta, com ênfase nas fases de coleta, armazenamento e manuseio de dados. Os resultados obtidos
sugerem ganhos de tempo e qualidade nos dados gerados e analisados em comparação às metodologias isoladas.
PALAVRAS-CHAVES
Segurança, Forense Computacional, Gerenciamento de riscos, Logs de e-mail
1. INTRODUÇÃO
Vinculada diretamente a área de segurança da informação a Forense Computacional destina-se não somente à
coleta e manuseio de informações como subsídio a processos judiciais, mas também como auxílio ao
gerenciamento de riscos no intuito de minimizar os problemas relacionados à segurança que possam de
alguma maneira comprometer as informações críticas existentes no ambiente interno das organizações.
Diante disso, pode ser definida como a inspeção científica e sistemática em ambientes computacionais, com a
finalidade de se coletar evidências derivadas de fontes digitais, tendo como objetivo promover a
reconstituição dos eventos encontrados, determinando se o ambiente em análise foi utilizado para práticas
ilegais ou não autorizadas [Palmer, 2001].
Dificuldades em sua aplicação estão relacionadas ao desconhecimento do escopo real e abrangência da
área de Forense Computacional, ou seja, estão atreladas à concepção de seu processo, no entendimento de
quais áreas das organizações devem ser envolvidas, à verificação da existência de ferramentas
computacionais viáveis para a prática forense e à relação custo/benefício que podem advir de sua aplicação
no âmbito organizacional [Reynaldo, 2007]. Na concepção do autor, uma forma de auxiliar o processo de
análise forense computacional voltado a redes de computadores é dispor de um ambiente computacional e
tecnológico controlado e uma equipe de monitoração, o que proporciona um maior número de informações
(logs) de um determinado evento bem como uma sequência bem definida de passos, visto que as evidências
de um crime são passiveis de serem impugnadas judicialmente, caso não tenham sido coletadas sob o amparo
de metodologia bem definida com critérios válidos. Entretanto, no que se refere às metodologias direcionadas
à aplicação da forense computacional, algumas a abordam de forma genérica e não demonstram de forma
prática como mesma pode ser aplicada em contextos específicos [Reynaldo, 2007; Melo, 2009], enquanto
outras se direcionam especificamente ao aspecto jurídico, sem levar em consideração os benefícios advindos
da aplicação da forense computacional no gerenciamento e controle de riscos [Peron; Deus; Junior, 2011].
Isto tem impulsionado o desenvolvimento deste estudo que tem por intuito não somente contextualizar a
forense computacional, mas, além disso, demonstrar como a mesma pode ser aplicada sobre logs de e-mail e
propor uma metodologia integrada, composta pela união de outras duas metodologias, demonstrando como
são aplicadas as fases essenciais da forense computacional. Para isso, estrutura-se conforme segue: a seção 2
119
ISBN: 978-972-8939-96-0 © 2013 IADIS
apresenta uma contextualização geral sobre forense computacional, a seção 3 retrata os preceitos conceituais
que a permeiam, a seção 4 direciona-se às metodologias para sua aplicação, a seção 5 apresenta a
metodologia MIF-RC e os fundamentos de sua aplicação e a seção 6 apresenta os resultados e as sugestões
para trabalhos futuros.
2. FORENSE COMPUTACIONAL
A segurança da informação, no contexto de redes de computadores, remete para a proteção dos sistemas de
informação contra a negação de serviço a usuários autorizados, assim como, contra a intrusão e a
modificação não autorizada de dados ou informações armazenados em processamento ou em trânsito,
estabelecendo medidas para prevenir, detectar, deter e documentar eventuais ameaças [NBR ISO/IEC 17799,
2003].
Tanto a nível nacional quanto global, os principais incidentes ocorridos em relação a crimes digitais
voltam-se à exploração de dados, seguido de exploração de redes, sistemas, aplicações, dispositivos móveis e
engenharia social [Alves, 2010] [CERT.br, 2012]. Por mais que medidas de segurança sejam empregadas,
existe a possibilidade de que em algum momento uma vulnerabilidade seja explorada, assim, todo o incidente
deve ser analisado para que se crie um ambiente mais seguro. Nesse contexto a forense computacional
propicia um exame do que houve de errado, ajudando para a implantação de medidas mais seguras [Macedo,
2010]. Sua implantação propicia às organizações uma confiabilidade maior em suas informações e respostas
mais rápidas à tentativas de violação de sistemas e/ou informações. Entretanto, o contexto real de sua
aplicação tem sido realizado de forma superficial, perdendo o caráter relevante das ações a ela vinculadas,
tendo em vista que a mesma pode ser conduzida de duas maneiras distintas, mas inter-relacionadas. A
primeira classificada como Geração de Documentos Internos (GDI) que tem como objetivo realizar uma
investigação para identificar os problemas, melhorar processos e mitigar riscos e a segunda direcionada a
Geração de Documentos para embasamento jurídico (GDEJ), sendo que esta se diferencia da primeira pela
necessidade de um cuidado maior por resultar na documentação que será utilizada em um processo jurídico
[Reynaldo, 2007]. Embora tais processos possuam objetivos distintos, ambos utilizam praticamente as
mesmas ferramentas forenses para suas análises. Destaca-se que pelo fato de gerar documentação apenas para
o ambiente interno, o GDI torna-se um processo menos complexo, gerando um custo menor para a
organização em termos de implantação. Entretanto partes das organizações aplicam as atividades de forense
computacional de forma isolada ou ainda por áreas desvinculadas da prática de forense. Entretanto parte das
organizações aplicam as atividades de forense computacional de forma isolada ou ainda por áreas
desvinculadas da prática de forense.
120
Conferência IADIS Ibero-Americana Computação Aplicada 2013
origem à investigação; por fim, na fase de interpretação, gera-se um relatório contendo os procedimentos
realizados e os resultados obtidos.
Já Mello (2009) propõe a aplicação da forense computacional em etapas, denominadas aquisição,
identificação, avaliação e apresentação e são referenciados pelo autor conforme segue: (a) Aquisição:
Período em que o perito forense atua coletando potenciais dados e artefatos relacionados ao incidente de
segurança (artefatos a serem analisados); (b) Identificação: métodos que podem ser aplicados sobre os dados
coletados [Holperin; Leobons, 2007]. Nesta fase também são aplicadas diversas ferramentas e técnicas como
a utilização de filtros como palavras-chave ou tipos de arquivos nas pesquisas, o que torna a localização das
informações mais eficazes [Pereira, 2010]; (c) Avaliação: fase em que se correlacionam informações de
várias fontes de dados e (d) Apresentação: retrata de forma clara e concisa, todas as evidências localizadas e
analisadas, com base nas etapas anteriores, fornecendo a equipe de segurança da informação dados sobre
incidentes de segurança e sugestões de melhoria no ambiente interno.
Tais metodologias voltam-se ao estabelecimento de passos para a realização da forense computacional de
forma generalizada. Além disso, no que se refere à adoção das mesmas deve ser observado o contexto de
aplicação de tais metodologias bem como sua viabilidade de aplicação.
121
ISBN: 978-972-8939-96-0 © 2013 IADIS
ambiente de rede, entre outros) e busca extrair o máximo de informações possíveis, pois estas direcionam o
pericia forense e auxiliam na escolha de ferramentas para sua realização. A coleta de dados é direcionada sob
dois métodos. O primeiro envolve a coleta de dados online e contempla os dados voláteis, sendo realizada
com o equipamento (computador) ligado, eventuais descuidos nesta fase podem eliminar informações
importantes. O segundo envolve a coleta de dados off-line, realizada com o equipamento desligado e
demanda ferramentas forenses adequadas para sua realização.
A etapa de análise de dados direciona-se ao conhecimento técnico do perito forense no entendimento das
ferramentas a serem utilizadas e na seleção de informações que realmente contribuam para a prática forense.
Assim está sedimentada sob uma análise criteriosa dos resultados advindos dos dados coletados. Tendo em
vista que algumas informações podem não fazer sentido quando interpretadas de forma isolada faz-se
necessário o estabelecimento de uma linha do tempo, realizada a partir dos eventos identificados. Além disso,
devem-se identificar os motivos pelos quais determinados eventos ocorrem e os efeitos de sua ocorrência.
Tais motivos evidenciam a importância da interação e o compartilhamento de informações entre especialistas
envolvidos no intuito de eliminar eventuais dúvidas que, por ventura, possam surgir durante o caso.
Por fim a apresentação dos resultados retrata a finalização dos procedimentos realizados e consiste na
elaboração de um relatório detalhado das conclusões advindas da prática forense, sendo este de suma
relevância para a reconstituição de eventos (se necessário) em ambiente computacional, oferecendo ainda
subsídios para revisões e adequações ao ambiente de rede. Todas as etapas são de fundamental importância e
a integração e o estabelecimento das mesmas serviram de subsídio para a realização do estudo de caso,
proporcionando a demonstração dos resultados advindos de sua aplicação, os quais são descritos nas seções
subsequentes.
122
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Para a fase de Análise dos Dados utilizou-se o software strings (componente da BackTrack) para a
verificação dos arquivos coletados no modo online, enquanto que para a análise off-line foi utilizada a
imagem gerada do HD suspeito. A coleta online dentre outras tem a informação da partição correspondente
ao diretorio de armazenamento de log do servidor (var/log) estando essa em /dev/sda5, iniciou-se ao processo
de montagem da partição em modo apenas de leitora de dados com o utilitário mount, sendo que a sintaxe de
execução para este procedimento é mount -t ext3 -o ro /dev/sdb5 /hd2.
Iniciada a verificação dos logs, detendo-se a análise sobre os eventos que referenciam, de alguma forma,
o envio de e-mails em massa, usando-se a sintaxe ls -lha /hd2/log/mail-201210*, a qual lista todos os
arquivos de log de e-mail, correspondentes a um determinado período. A partir do comando verificou-se que
dois arquivos apresentavam tamanho maior que os demais (mail-20121024.bz2 e mail-20121031.bz2). Além
disso, o levantamento realizado evidenciou um e-mail, cujo remetente é identificado como conta-01 e
destinatário das respostas o endereço conta-02. Tais endereços foram pesquisados no log utilizando-se da
ferramenta bzcat, sob a sintaxe “# bzcat /hd2/log/mail-201210* | grep conta-01 | grep from”, que possibilita
a consulta de mensagens em todos os arquivos de log de e-mail, cujo remetente origina-se da conta-01. Ao
alterar a sintaxe da consulta para “# bzcat /hd2/log/mail-201210* | grep conta-01 | grep to” verificou-se as
mensagens enviadas para a conta-01, sabendo-se que ao responder a mensagem suspeita ela tem como
destino o endereço de e-mail conta-01. Para identificar se houveram respostas e quais usuários a responderam
utilizou-se o comando “# bzcat /hd2/log/mail-201210* | grep conta-01”, cujo resultado demonstra que
quatro mensagens foram enviadas ao e-mail conta-02, e os usuários identificados de responder a mensagem
são usuário-01, usuário-02, usuário-03, sendo que o usuário-02 respondeu duas vezes a mensagem.
O arquivo de log identificado como mail-20121024.bz2 apresenta as mensagens do dia posterior ao
e-mail e demostra que houve envio de e-mails em massa do usuário-02. No mesmo log pode-se observar que
o IP do Servidor de e-mail da universidade foi incluído em algumas listas de SPAM. A Figura 2 demonstra a
situação informada.
123
ISBN: 978-972-8939-96-0 © 2013 IADIS
124
Conferência IADIS Ibero-Americana Computação Aplicada 2013
objeto de envio em massa também foram rejeitadas, gerando assim prejuízos no que diz respeito à utilização
do e-mail, ora pela recusa das mensagens e ora pelo consumo de link de internet sem necessidade. Por volta
das 09h01min do quarto dia a equipe de suporte notou que o serviço de e-mail estava lento e ao acessar o
servidor de e-mail verificou a existência de milhares de mensagens enviadas por usuário-02, bloqueando o
mesmo. Após o ocorrido, o tráfego de mensagens na rede normalizou e nos dias subsequentes os bloqueios
de IP saíram das listas. No oitavo dia de análise, ao realizar acesso ao servidor de e-mail foi verificado que
houve novo envio de e-mail em massa, dessa vez realizada por usuário-03. A única ação adotada pelo
suporte técnico foi realizar o bloqueio dessa conta. A ocorrência verificada no oitavo dia pelo suporte teve
como origem uma mensagem recebida no segundo dia e que foi respondida no sétimo dia de análise, às
13h29min pelo usuário-03. O Início do envio de e-mail em massa originou-se as 05h02min do sétimo dia. Às
06h01min do mesmo dia mensagens começam a ser recusadas pelos servidores de destino pelo fato de que o
IP da universidade estava, novamente, em listas de SPAM. Neste caso, recomenda-se que seja realizada a
correção do firewall para que possam ser identificados os reais IP’s de quem está acessando o webmail, pois
nas provas colhidas existe o indicativo de que não foram os usuários legítimos que realizaram as ações de
envio em massa por terem respondido a mensagem com os dados de e-mail e senha de acesso, mas não se
tem como comprovar isso pela falta da correta informação de IP nos logs. Desta maneira sem poder provar os
verdadeiros responsáveis pelos danos sofridos, a universidade não pode ser indenizada por este dano.
A fase de Adequação do Ambiente propõe ajustes, adequando o ambiente de rede às práticas da forense
em consonância com a metodologia proposta. Com destaque para que todos os componentes em rede
possuam o mesmo horário; minimização do risco de que um invasor apague o log das transações, pois se
sugere que este não fique em um servidor local; que a autenticação para acesso ao ambiente informe qual
usuário realizou o acesso; que o firewall, liberando acesso apenas às portas realmente necessárias para os
serviços e enviando o log de todas suas transações para o servidor de logs, prove melhor segurança ao
ambiente trabalhando em conjunto com o servidor de identificação de intrusões ao ambiente. Com essas
adequações pretende-se maximizar as possibilidades de sucesso na identificação de eventos que ocorrem no
ambiente de rede. O ambiente de rede da universidade contempla a maioria dos servidores sugeridos,
necessitando apenas a centralização dos logs e a aplicação de auditoria dos serviços configurados, a fim de
identificar e sanar falhas como a identificada no servidor de firewall. Neste caso a ferramenta BackTrack
pode auxiliar na realização de testes sobre vulnerabilidades existentes no ambiente.
125
ISBN: 978-972-8939-96-0 © 2013 IADIS
mecanismos de proteção do ambiente como firewall, sistema de identificação de intrusos (IDS) e servidor de
autenticação de usuários, a possibilidade de resultado conclusivo é maximizada.
A metodologia MIF-RC proposta neste trabalho, resultante na união de dois métodos validados, agrega a
contribuição de uma etapa que ressalta a verificação do ambiente de rede a fim de adequá-lo para melhores
resultados na implantação do processo de computação forense. Para trabalhos futuros sugere-se pesquisas
para desenvolvimento e avaliação dos procedimentos de análise forense, testes e certificações de ferramentas
utilizadas para sua prática.
REFERÊNCIAS
ALVES, V. Dois terços das empresas do Brasil elevarão gastos com segurança. Revista TI Inside Online. Disponível em
<http://www.tiinside.com.br/09/11/2010/dois-tercos-das-empresas-do-brasil-elevarao-gastos-com-
seguranca/ti/203735/news.aspx> Acesso em 18 maio 2011.
BACKTRACK Linux. Penetration Testing Distribution. Home page da ferramenta BackTrack. Disponível em <
http://www.backtrack-linux.org/> Acesso dia 14 agosto 2012.
CERT.BR. Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil. Incidentes Reportados ao
CERT.br de Julho a Setembro de 2012. Disponível em < http://www.nic.br/imprensa/releases/2010/rl-2010-02.htm >
Acesso em 08 outubro 2012.
ELEUTERIO, P.; MACHADO, M.. Desvendando a Computação Forense. São Paulo: Novatec Editora, 2010.
FARMER, D.; Venema, W. Pericia Forense Computacional. São Paulo: Pearson Prentice Hall, 2007.
FILHO, J. Perícia Forense Computacional: Guia de referência rápida, Parte 2: Análise de evidências e laudo. Disponível
em <http://eriberto.pro.br/forense/guia_forense_1.1_parte_2.pdf> Acesso em 12 novembro 2012.
FREITAS, A. Perícia Forense Aplicada à Informática. Monografia de Pós-Graduação “Lato Sensu” em Internet Security.
IBPI, 2003. Disponívem em <http://www.linuxsecurity.com.br/info/general/andrey-freitas.pdf> Acesso dia 06 de
setembro 2012.
HOLPERIN, M.; LEOBONS, R. Análise Forense. Site sobre Análise Forense. Disponível em
<http://www.gta.ufrj.br/grad/07_1/forense/manuseio.html> Acesso em 12 novembro 2012.
Information Week Brasil. Dilemas da Segurança. Ano 12.Número 230.Agosto de 2010.
KENT, K.; Chevalier, S.; Grance, T.; Dang, H. Guide to Integrating Forensic Techniques into Incident Response.
Disponível em http://csrc.nist.gov/publications/nistpubs/800-86/SP800-86.pdf; 2006. Acesso em 08 setembro 2012.
LYRA, M. Segurança e Auditoria em Sistemas de Informação. Rio de Janeiro: Editora Ciência Moderna Ltda., 2008.
MACEDO, D.. O que é a computação forense e sua importância no âmbito empresarial. Site de Diego Macêdo – Analista
de T.I. Disponível em < http://www.diegomacedo.com.br/o-que-e-a-computacao-forense-e-sua-importancia-no-
ambito-empresarial/>, 2010. Acesso 05 julho 2012.
MADEIRA, D. Computação forense com o Sleuth Kit e Autopsy. Site de Daniel Madeira. Disponível em http://dan-
scientia.blogspot.com.br/2010/10/computacao-forense-com-o-sleuth-kit-e.html. Acesso em 06 agosto 2012.
MELO, S. Computação forense com software livre. Rio de Janeiro: Alta Books, 2009.
NBR ISO/IEC 17799 – Tecnologia da Informação. Código de Prática para Gestão da Segurança da Informação.
Associação Brasileira de Normas Técnicas. Rio de Janeiro, 2003.
PALMER, G. and Corporation, M. A road map for digital forensic research. Technical report, 2001.
PEREIRA, E. Investigação Digital: conceitos, ferramentas e estudos de caso. Disponível
em:<http://www.infobrasil.inf.br/userfiles/26-05-S5-2-68766-InvestigacaoDigital.pdf> Acesso em 12 novembro
2012.
PEREIRA, E; Fagundes, L., Neukamp, Paulo, LUDWIG, Glauco, KONRATH, Marlom. Forense Computacional:
fundamentos, tecnologias e desafios atuais. 2010. Disponível em
<http://www.dainf.ct.utfpr.edu.br/~maziero/lib/exe/fetch.php/ceseg:2007-sbseg-mc1.pdf> Acesso em 12 novembro
2012.
QUEIROZ, C.; V. Insvetigação e Perícia Forense Computacional: certificações, Leis processuais e estudos de caso. Rio
de Janeiro: Brasport, 2010.
SILVA, P. Onde deveria começar em uma investigação: cadeia de custódia. Disponível em:<
http://blog.prenato.com/2010/03/onde-deveria-comecar-em-uma.html> Acesso em 09 de setembro 2012.
PERON, A.; Deus, F.; Júnior, R.. Ferramentas e Metodologia para Simplificar Investigações Criminais Utilizando
Interceptação Telemática. Proceeding in Sixth International Conference on Forensic Computer Science, ICoFCS
2011.
126
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Questões que envolvem Segurança da Informação sempre estiveram dentre as preocupações das organizações. Com o
advento da Internet, a disseminação da informação foi amplamente incrementada. Sistemas de informação que antes
trabalhavam isoladamente passaram a se comunicar facilmente com outras organizações, como por exemplo, sistemas de
informação de parceiros comerciais ou do governo. Essa facilidade de comunicação e disseminação da informação trouxe
benefícios, mas tem exigido novas estratégias para lidar a questão da segurança da informação. No presente artigo,
propõe-se uma investigação sobre segurança da informação do ponto de vista da percepção do usuário de sistemas de
informação corporativos. Apresentam-se resultados de pesquisa qualitativa realizada em organização da área de saúde e
discute-se a relação entre o elemento humano e a segurança da informação no contexto organizacional. Espera-se que
esse trabalho promova melhor entendimento de questões que permeiam a segurança da informação, não apenas do ponto
de vista tecnológico, mas a partir do ponto de vista das falhas causadas por pessoas.
PALAVRAS-CHAVE
Segurança da Informação; Comportamento Informacional; Gestão da Informação
1. INTRODUÇÃO
A disponibilidade da informação é um atributo da Sociedade da Informação, que traz consigo inúmeros
benefícios e grandes preocupações, como por exemplo, a necessidade segurança dos ativos informacionais.
A evolução dos sistemas de informação possibilitaram às empresas ganhos com mobilidade, inteligência e
real capacidade de gestão. O aumento da competitividade e da descentralização promovido pelos avanços
tecnológicos gera a necessidade de gestão, controle, segurança da informação e a proteção do conhecimento
crítico (Sianes, 2005). As empresas demandaram por tecnologias que garantissem aos seus negócios a
confidencialidade, integridade e disponibilidade, fazendo com que a segurança da informação passasse a ser
uma estratégia de gestão da informação (Wylder, 2004; Koskosas, Charitoudi & Louta, 2008; Kraemer,
Carayon & Clem, 2009; Ghernaouti-Helie, 2009; Colwill, 2010).
Na atualidade, os investimentos em segurança da informação são crescentes, como de fato as tecnologias
da informação conseguem solucionar parte do problema diminuindo as ameaças físicas ou virtuais frente a
pessoas ou informações que estas possuem. Almeida (2007) ratifica esse posicionamento, afirmando que a
expressão “segurança da informação” representa um conceito amplo que, geralmente, nas empresas e
instituições, está associada a sistemas informatizados e aos dados que estes manipulam.
Em contrapartida observa-se que por mais investimentos que se faça em segurança, se o elemento
humano não for devidamente considerado, falhas de segurança ocorrerão (Colwill, 2010). Solms (2008)
ressalta que qualquer investimento em tecnologia não terá a eficiência esperada se os usuários não obtiverem
uma consciência de Segurança Informacional. Nesse sentido, busca-se nesse artigo mudar o viés de análise
em relação às pesquisas que enfatizam aspectos tecnológicos da segurança da informação, focando na
subjetividade inerente aos seres humanos, suas relações e seu comportamento informacional nas
organizações. O problema de pesquisa aqui delineado diz respeito a como os incidentes de segurança da
127
ISBN: 978-972-8939-96-0 © 2013 IADIS
128
Conferência IADIS Ibero-Americana Computação Aplicada 2013
As reflexões sobre o elemento sistemas de informação e as variantes que o compõem apontam para o
paradigma da tecnologia da informação que contextualiza a sociedade da informação e as empresas como
parte da sociedade, sob a perspectiva tecnológica. Nesse sentido, Castells (2000) aponta que as tecnologias
são desenvolvidas para agir sobre a informação e que essa informação é elemento presente tanto no contexto
coletivo quanto individual, sendo moldado pelo blogs, facebook, twitter, youtube novo meio tecnológico.
Esse novo meio tecnológico traz consigo a lógica das redes como fator unificador de sistemas ou conjunto de
relações, sendo preponderantemente flexível. Essa característica de flexibilidade e sistematização em redes
propicia a convergência das tecnologias para um sistema integrado e global.
As características de flexibilidade e de integração das informações em sistemas globais apontam para uma
mudança de costume dos indivíduos. As pessoas demandam por tecnologias e essas tecnologias passam a
ficar cada vez mais presentes na vida dos cidadãos. Nesse sentido, as novas tecnologias vêm mudando as
atitudes sociais, tornando os dados e comunicações móveis cada vez mais disponíveis e de fácil uso.
Por isso, é importante entender o conceito de tecnologia da informação. A técnica denota o caminho de
como fazer algo e a tecnologia pode ser descrita como o recurso físico que serve como ferramenta para
realizar algo. Assim, as tecnologias da informação podem ser delineadas como aquelas utilizadas para
“manejar” a informação (Buckland, 1991).
A totalidade desta conjuntura faz perceber a incontestável relação entre tecnologia e sociedade.
Entretanto, é respeitável perceber, através da análise pela ótica dos recursos humanos no âmbito dos sistemas,
redes e tecnologias da informação, que a tecnologia é projetada uma vez que é implementada e operada por
pessoas. Assim, é o fator humano que determina as formas como usamos sistemas de informação ou o uso
indevido destes (Lacey, 2009).
Analogamente, faz-se notar que os sistemas de segurança da informação são desenvolvidos visando
minimizar riscos decorrentes de acesso não autorizado e posse de informação e, nessa perspectiva na qual o
ativo são os dados, a estratégia é garantir às bases de dados segurança através dos critérios de integridade,
confidencialidade e autenticidade (Koskosas, Charitoudi & Louta, 2008).
Os autores Sveen, Torres & Sariegi (2009) esclarecem que controles técnicos são ferramentas de
hardware e software, tais como dispositivos biométricos, bloqueios, software antivírus, firewalls etc. que
restringem o acesso a prédios, sistemas de computador, programas e etc. a fim de evitar seu uso indevido. Já
Colwill (2010) contribui trazendo uma especificação dos controles técnicos contra invasores não somente
externos, mas também internos à empresa, e diz que estes devem incluir, minimamente, criptografia, controle
de acesso, privilégio mínimo, acompanhamento, auditoria e relatórios. Já Kraemer, Carayon & Clem (2009)
enfatizam a utilização de métodos específicos de segurança da informação, como os smart cards, dispositivos
biométricos, software de criptografia PGP 5.0, senhas, segurança nos navegadores web básico, indicadores de
identificação, análise das aplicações de desktop, tais como o Word 2007 e Internet Explorer.
Hoje em dia, as pessoas usufruem dos benefícios do uso de computadores e da Internet para a
comunicação e para fazer negócios. Por isso, o problema da segurança da informação está se tornando cada
vez mais relevante (Huang, Rau & Salvendy, 2010). Muitas abordagens foram desenvolvidas para auxiliar
na gestão da segurança da informação e na limitação de ocorrências de incidentes e violação de segurança.
A maioria dos controles desenvolvidos implica em check lists, análise de risco, avaliação e métodos.
Entretanto, há a necessidade de se questionar essas abordagens com foco estreito, soluções tecnicamente
orientadas que ignoram os aspectos sociais dos riscos e da estrutura informal de organizações (Koskosas,
Charitoudi & Louta, 2008). Apesar de toda evolução nos controles técnicos, promovida por mudanças
tecnológicas constantes, as organizações devem ter em mente que sua maior vulnerabilidade é seu
colaborador, por isso as empresas devem enfocar os fatores humanos, suas percepções e expectativas, em
detrimento da objetividade inerente à tecnologia (Colwill, 2010).
Nessa vertente, Koskosas, Charitoudi & Louta (2008) ressaltam a importância dos cursos de educação e
formação de membros para adequada percepção dos riscos em matéria de segurança e pontuam que esta
percepção reflete no sucesso global dos projetos de segurança de informação em sistemas. Compartilhamento
de informações e experiências sobre o tema segurança também foram ressaltados e os autores concluem
enfatizando que cultura e estabelecimento de metas são inter-relacionados e podem ter um efeito sobre
sistemas na gestão de segurança da informação.
A ameaça dos empregados por negligência ou ignorância frente a questões de segurança é susceptível de
ser exacerbada quando as pessoas fundem trabalho e vida pessoal. O Centro Nacional de Computação afirma
que os indivíduos têm dificuldade em ter uma verdadeira fronteira entre o trabalho e a vida pessoal e que eles
gastam tempo compartilhando informações pessoais e profissionais em sites e redes sociais com a "inocência
129
ISBN: 978-972-8939-96-0 © 2013 IADIS
e confiança". Esta constatação deixa o colaborador e, consequentemente, a organização abertos a uma gama
de downloads de pornografia e música e a uma variedade de ataques de malware. Existe uma crescente
pressão sobre as empresas para dar liberdade maior aos colaboradores, entretanto essa medida precisa do
aparato tecnológico apoiado a regras claras e regulamentos definidos para prevenir uma descida ao caos
(Colwill, 2010).
Um ponto interessante constatado na pesquisa de Colwill (2010) são as falhas de segurança geradas pelo
uso de dispositivos de dados portáteis por parte dos “insiders” da organização, facilitando assim o
comprometimento da informação da organização. Fazendo uma leitura da pesquisa de Kavanagh (2006),
Colwill (2010) observou que 89% dos trabalhadores usavam dispositivos portáteis de cunho pessoal na rede
das empresas nas quais trabalhavam pelo menos uma vez por semana e que mais da metade das empresas
pesquisadas do Reino Unido não tinham controles para gerenciar o uso de dispositivos de mídia removível.
Paralelamente, pessoas que trabalhavam em uma empresa financeira em Londres carregavam livremente CDs
nos sistemas da empresa apesar das orientações e advertências. O fato é que a política de segurança, os
controles, as orientações e os treinamentos não recebem prioridade de ação, alteração e atualização por parte
das empresas.
Através da gestão da segurança, vê-se que as atuais abordagens gerenciais não atendem requisitos de
transparência e controle de segurança. Fica a necessidade das tecnologias serem menos vulneráveis para
diminuir o número de potenciais ameaças que podem ser desenvolvidas (Ghernaouti-Helie, 2009) e,
paralelamente, vale ressaltar a necessidade de uma conscientização prévia sobre questões da segurança da
informação, uma vez que se constatou que a referida “consciência” sobre questão de segurança da
informação, na maioria dos casos, não ocorreu com a introdução de novas tecnologias, mas sim através de
incidentes vivenciados após a sua introdução (Sveen, Torres & Sariegi, 2009). Conforme afirmam Kraemer,
Carayon & Clem (2009), a tecnologia e segurança da informação têm se concentrado em soluções
tecnológicas para evitar vulnerabilidades e ataques, entretanto essas áreas precisam se relacionar, através de
uma abordagem sócio-técnica, com aspectos humanos e organizacionais, uma vez que estes corroborarão
diretamente na eficácia de outros sistemas críticos, tais como segurança e redução de incidentes.
3. MÉTODOS E RESULTADOS
Buscando entender a interferência do elemento humano na segurança da informação, uma pesquisa foi
realizada em uma organização privada brasileira na área de saúde do estado de Minas Gerais, localizada na
cidade de Belo Horizonte (o nome não será divulgado a pedido da instituição). A população-alvo desta
pesquisa foi constituída pelos funcionários do setor de tecnologia da informação da instituição.
Trata-se de uma pesquisa quali-quantitativa e exploratória, cujos meios de investigação são a pesquisa de
campo e o estudo de caso. No que concerne ao raciocínio lógico empregado na pesquisa, ele pode ser
caracterizado como dedutivo.
Desenvolveu-se um questionário estruturado com base em um conjunto de variáveis que compõe cada
arena – pessoas, processos e tecnologias previamente levantadas na literatura. Esse instrumento quantitativo
foi aplicado através de link encaminhado ao e-mail dos colaboradores componentes da amostra por
conveniência, na instituição pesquisada. Foram obtidas 35 respostas ao questionário, sem identificação do
respondente, que foram armazenadas no site http://www.kwiksurveys.com/, ao qual somente o pesquisador
teve acesso. Ressalva-se que os instrumentos tiveram como característica o anonimato, de modo que não se
corresse o risco de obter uma análise individual do colaborador que venha a prejudicá-lo, no sentido de
sanções e/ou mesmo demissões. Outra característica importante foi a não interferência do pesquisador na
condução das perguntas junto aos respondentes.
O instrumento quantitativo de coleta de dados denominado questionário, foi estruturado em duas partes.
A primeira com o objetivo de obter o perfil do entrevistado, com relação ao sexo e escolaridade. A segunda
parte, composta por 49 afirmativas, seguiu uma estrutura matricial com uma escala tipo Likert (Likert, 1932).
A escala de Likert é uma escala de mensuração itemizada, também denominada de “escala multi-itens”.
Exige que os entrevistadores indiquem um grau de concordância ou discordância com cada uma de uma série
de afirmações. Os dados geralmente são tratados como intervalares, assim, a escala Likert possui as
características de descrição, ordem e distância (Malhotra, 2012). É importante salientar que, neste trabalho,
optou-se por trabalhar com quatro itens, sem ponto neutro, sendo: (1) Discordo totalmente, (2) Discordo
130
Conferência IADIS Ibero-Americana Computação Aplicada 2013
parcialmente, (3) Concordo parcialmente, e, por fim, (4) Concordo totalmente. A escala utilizada, segundo
categorização de Malhotra (2012) pode ser classificada como balanceada, pois apresenta número igual de
categorias favoráveis e desfavoráveis e forçada, pois os entrevistados foram forçados a emitir uma opinião,
não havendo a posição neutra, ou seja, para cada afirmativa, o respondente tinha necessariamente que
discordar ou concordar.
Cabe esclarecer que a pesquisa foi planejada como pesquisa quantitativa, o que explica o uso de variáveis
estatísticas na descrição da pesquisa. Entretanto pela dificuldade em conseguir, nessa etapa da pesquisa, uma
amostra de significância quantitativa, optou-se por apresentar análises de natureza qualitativa.
No restante da presente seção, apresentam-se os resultados conclusivos obtidos, além de inferências sobre
esses resultados que nos permitiram visualizar os cenários de utilidade no contexto da segurança da
informação organizacional. Propõem-se então cruzar as respostas das perguntas do instrumento de coleta de
dados primários e fazer análises.
A primeira parte do questionário continha questões relativas ao entendimento do colaborador sobre o
significado de segurança da informação e, na sequência, seu sentimento como forma de se reconhecer como
parte responsável pela segurança da informação na instituição pesquisada. As respostas para esses dois
questionamentos receberam 100% de concordância total da parte dos participantes. Destarte, a discrepância
começa a aparecer quando os colaboradores são questionados sobre suas capacidades de identificar as atuais
medidas que estão sendo tomadas em relação à segurança da informação na instituição, quando questionados
sobre as atuais medidas que estão sendo tomadas em relação à segurança informacional na instituição na
qual o participante trabalha, 57% afirmam que conseguem identificar essas medidas e 43% afirmam que não
conseguem identificar essas medidas. A partir desse resultado, cabe uma análise: como entender o que é
segurança da informação e se sentir parte dela sem haver uma maioria expressiva que compreende as ações
que estão sendo desenvolvidas pela empresa como corroborativas à gestão de segurança informacional na
organização na qual trabalham?
Buscando entender com clareza como os colaboradores compreendem seu papel na segurança
informacional da empresa, os novos dados obtidos indicam que pouco mais da metade dos respondentes
(55%) concordam que sabem com clareza qual é o seu papel, embora 34% deste total concordam
parcialmente com a afirmativa, ou seja, em mais da metade dos concordantes ainda há dúvidas.
Doravante, quando questionados sobre os responsáveis pela segurança informacional da empresa, 77%
sabem quem são essas pessoas, sendo que 51% sabem com total certeza (concordo totalmente).
Complementar a essa reflexão está o fato de que 43% dos respondentes concordam que a segurança da
informação é responsabilidade do setor de tecnologia da informação e 57% discordam da afirmativa.
Nota-se que um número muito alto de pessoas acredita na abordagem técnica às questões de segurança da
informação e talvez seja esse um dos motivos pelos quais os colaboradores não consigam identificar com
clareza seu papel na segurança informacional da organização. Apesar de saberem com lucidez quem são os
responsáveis pela segurança informacional corporativa, eles não conhecem com a mesma transparência as
atuais medidas em vigor na instituição no que concerne à segurança da informação.
Um cenário com forte fundamentação na abordagem tecnológica não poderia ter outro resultado, ou seja,
pessoas se estruturando totalmente nas tecnologias e fazendo delas a solução cômoda para todos os
problemas de insegurança informacional.
Avaliando um pouco mais a fundo a percepção dos colaboradores com relação aos investimentos que são
feitos pela empresa, sendo um montante maior para tecnologias e menor para treinamentos de pessoas no que
concerne à segurança da informação corporativa, os resultados demonstraram que 80% dos entrevistados,
têm a percepção de que a instituição investe mais em tecnologias do que em pessoas para garantir a
segurança da informação empresarial. Quando são questionados se são treinados para terem um
comportamento seguro, mais de 65% dos respondentes afirmam que não, observando-se que 50% deles tem
total segurança de sua resposta (discordo totalmente). Esse parecer vem a se ratificar um pouco mais à frente
no questionário, quando se pergunta aos colaboradores se existem na instituição programas de educação para
formar pessoas, no que concerne à segurança da informação e 77% dos respondentes afirmam que não. Outro
ponto importante de se mencionar é que 45% dos respondentes discordaram totalmente da afirmativa,
ratificando que na organização não se investe na formação do colaborador sob o aspecto da segurança
informacional.
Respectivamente, quando os participantes foram questionados se as ações de segurança da informação na
instituição geram conhecimento e promovem o aprendizado, e, se ocorrem interações sociais entre eles e
demais colaboradores para discutir temas sobre segurança da informação, as respostas obtidas destacam mais
131
ISBN: 978-972-8939-96-0 © 2013 IADIS
de 90% de discordância, nenhuma resposta que concordasse totalmente e pouco mais de 8% que concordam
parcialmente, levando os pesquisadores a traçar um cenário no qual quase nunca ocorrem interações sociais
com o objetivo de discutir a temática segurança da informação, ou seja, a instituição não tem aproveitado as
ocorrências (ou fatos) do dia-a-dia para discutir de forma integrativa ações de segurança informacional.
O primeiro fator direcionador de comportamento seguro é entender se os colaboradores conhecem e
compreendem as políticas, procedimentos, normas e diretrizes de segurança da informação adotadas pela
instituição. Os dados obtidos com a aplicação do instrumento de coleta de dados demonstram um equilíbrio
muito grande entre concordâncias (51%) e discordâncias (48%), sendo que quando os dados são desdobrados,
observa-se que os maiores percentuais estão em concordo parcialmente (40%) e discordo parcialmente
(31%). Outro ponto interessante é que, apesar de todo o cenário traçado até agora no que concerne à
segurança da informação e sua aplicação nas políticas de segurança informacional da instituição pesquisada,
77% das respostas obtidas indicam que os colaboradores têm consciência que devem cumprir todas as
políticas de segurança da informação instituídas e não escolher algumas ou as que consideram mais fáceis
para cumprir. Entretanto, apesar da existência de uma política determinando a necessidade de se fazer
backups frequentes dos dados e informações contidos em máquinas e equipamentos, quando questionados
sobre a existência de orientação ou obrigação para fazer back-ups diários das informações processas pelo
usuário, 74% dos respondentes discordam da afirmativa, ou seja, não se sentem orientados e nem obrigados a
fazer backups. Mais um elemento que indica a necessidade de equilíbrio de investimentos da organização
entre as variáveis, recursos humanos, políticas e procedimentos, e, tecnologias da empresa. De que adianta
investir maciçamente em tecnologias se o usuário permitir a entrada de um desconhecido nas bases de dados
da empresa? Como equalizar o progresso na segurança tecnológica se os usuários não fazem backups?
Mesmo diante de uma fortaleza tecnológica digital e física, os seres humanos continuam sendo uma
vulnerabilidade em potencial, haja vista que eles transformam os dados e informações e não estão preparados
para agir, efetivamente, com a proteção dos ativos informacionais da empresa.
Acredita-se que um dos caminhos, diante desse cenário, seja olhar para pessoas, processos e tecnologias
de forma equitativa e equilibrada.
A dúvida sobre o desenvolvimento da gestão de segurança informacional equitativa entre os pilares
pessoas, processos e tecnologias, se confirma quando 60% dos respondentes concordam parcialmente, que o
desenvolvimento da segurança da informação na instituição na qual trabalham inclui proteção de hardware,
software, pessoas e processos, contra ameaças e vulnerabilidades presentes no ambiente corporativo, sejam
elas internas e/ou externas à organização.
Os incidentes de segurança da informação podem ser derivados de invasões na máquina ou equipamento
no qual se processa as informações, contudo, muitas das vezes essa invasão tem a permissão, intencional ou
não, do usuário. Observa-se que 89% discordam que postem em redes sociais fatos ou ocorrências que
acontecem na organização ou no setor para alertar amigos. Não obstante, 9% dos respondentes afirmaram
que fazem essas postagens. Percebe-se que, por falta de definição do comportamento que a empresa espera
do colaborador em relação à segurança da informação, algumas informações relevantes ou estratégicas de
fragilidade do sistema da empresa podem estar sendo compartilhadas com pessoas estranhas ao ambiente
institucional, gerando verdadeiras ameaças aos ativos informacionais da empresa.
Outro ponto importante de se mencionar é o déficit comunicacional da empresa, no que concerne às
informações sobre segurança informacional. Assim, quando questionados se os colaboradores ficam cientes
de todas as atualizações de avaliação de riscos de seu departamento, setor ou área, identificou-se uma
deficiência na comunicação entre empresa e trabalhadores, uma vez que menos da metade dos trabalhadores
afirmaram ter ciência de todas as atualizações de avaliação de riscos de seu departamento, setor ou área,
ratificando que os colaboradores constantes nessa amostra trabalham no setor de tecnologia da informação
que é responsável pela segurança das informações da organização pesquisada.
Apesar desse cenário de valorização da tecnologia e de desfavorecimento do elemento humano, nota-se
que 65% dos respondentes têm interesses em absorver os valores, missão e visão da empresa para a qual
trabalham, contra 35% que concordaram que, em primeiro lugar, dedicam atenção à sua profissão e à
especialidade do computador com o qual trabalham, para depois absorver os valores, missão e visão da
empresa. Esse cenário demonstra que se deve dedicar especial atenção a esse fator, uma vez que 72% dos
respondentes concordaram ou discordaram parcialmente da afirmativa, demonstrando dúvidas com relação a
suas respostas, podendo ser este um indicativo que o elemento pessoas precisa de atenção devida para que
haja efetividade nas ações de segurança da informação da instituição.
132
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Complementar a essa visão, apesar de 63% dos respondentes considerarem que o ambiente da empresa é
seguro no que concerne às informações que nele são processadas, entretanto, 9% dos respondentes sentem
vontade de explorar redes, invalidar códigos de segurança e desafiar os profissionais de segurança para
mostrar o quão frágil é a segurança da informação da instituição. Já 58% dos respondentes se sentem
prejudicados pela alta carga de trabalho imposta pela instituição, indicando que esse fator os prejudica com
relação à percepção e ações relativas à segurança da informação.
Com relação ao fato da instituição permitir o acesso à rede corporativa, para gravar dados em pen-drives,
CD´s, DVD´s e/ou imprimir informações para uso tanto no ambiente institucional quanto em casa, 80% dos
respondentes discordaram enfatizando que essas não são ações permitidas. Os mesmos 80% dos respondentes
observam, ao utilizar o e-mail corporativo, a supressão de mensagens que possuem anexos não solicitados.
Concomitante, não há acesso irrestrito a sites de acordo com 80% dos respondentes e nem permissão de
acesso remoto a sistemas de informação corporativos, de acordo com 75% dos respondentes.
Vinculando a parte tecnológica com as políticas de segurança da informação da empresa observa-se,
conforme afirmam 77% dos respondentes, que não existe um check list de segurança informacional que os
colaboradores devem seguir no seu dia-a-dia. Já com relação à alteração mensal das senhas de acesso aos
recursos corporativos, 65% dos respondentes concordam que a senha de acesso deve ser modificada
mensalmente, todavia, observa-se que se trata de uma concordância parcial, haja vista que o maior
percentual, 37% concordantes, não tem total certeza sobre esse assunto.
4. CONCLUSÕES
Através da avaliação descritiva dos dados e da discussão dos resultados, pode-se concluir que o elemento
pessoas é uma variável crítica na gestão de segurança informacional corporativa. As políticas de informação
devem ser acessíveis aos funcionários e factíveis de serem executadas. Com relação à tecnologia, é válido
que continuem os investimentos, entretanto eles devem ser equilibrados com o desenvolvimento de controles
informais (pessoas) e controles formais (políticas e processos) para que haja uma gestão de segurança
informacional mais efetiva e eficaz.
Dos resultados apresentados na seção 3, reúnem-se aqui, a título de resumo, impressões obtidas através da
pesquisa, as quais caracterizam a segurança da informação do ponto de vista do usuário.
Os colaboradores em geral acreditam que todos na organização entendem o que é segurança da
informação e, conseguem identificar quais são as medidas de segurança da informação corporativa adotadas;
Há duvidas entre uma boa parte dos colaboradores sobre o seu papel em segurança da informação,
apesar de saberem identificar quem são os responsáveis pela segurança da informação na organização;
Metade deles acredita que segurança da informação é assunto apenas para os responsáveis pela
tecnologia da informação;
A grande maioria dos colaboradores têm a percepção de que a instituição investe mais em
tecnologias do que em pessoas para garantir a segurança da informação, e, acreditam que não há investimento
suficiente na formação das pessoas no âmbito da segurança informacional;
A grande maioria não identifica a existência de fórum, no âmbito da organização, apropriado para
discutir a temática segurança da informação;
Menos da metade dos colaboradores admitem conhecer e compreender políticas, procedimentos,
normas e diretrizes de segurança da informação adotadas pela instituição; paradoxalmente, a maioria afirma
que se sente obrigado cumprir as políticas de segurança da informação instituídas (mesmo considerando que
não as entendem);
A quase totalidade dos respondentes relata não postar informações sobre a organização em redes
sociais e que, se o fazem, não incorrem em riscos de segurança;
Grande maioria dos respondentes acredita na necessidade de considerar o elemento pessoas para que
haja efetividade nas ações de segurança da informação;
A maioria dos colaboradores reporta a falta de um check list de segurança para orientação.
Ao se fazer uma leitura dos dados obtidos com a pesquisa, observa-se que tratar as questões de segurança
informacional nas empresas requer ações em diversos campos. Entretanto, nem sempre as empresas possuem
recursos para investir em soluções para todos os gargalos. Nesse sentido, há a necessidade de uma avaliação
do cenário de segurança informacional corporativo, delimitando através dos pilares pessoas, processos e/ou
133
ISBN: 978-972-8939-96-0 © 2013 IADIS
tecnologias aquele que é mais crítico para a empresa. O plano de ação será traçado a partir desse panorama.
As próprias perguntas apontarão para possíveis restrições, e, paralelamente para mecanismos de ação.
Conclui-se ainda que a inter-relação entre o usuário da informação e a segurança informacional
institucional deve ser monitorada constantemente, para que se consiga agir antecipadamente frente à
dinâmica dos incidentes de segurança. Como demonstrado na pesquisa de campo, uma das formas de se
checar e controlar essa inter-relação é através da medição constante das ações de segurança informacional
implementadas e a reação dos colaboradores frente a elas. Essa medição mostrará o cenário da instituição e
que ajudará as organizações a se prevenir dos incidentes de segurança informacional sistemicamente.
Uma conclusão clara da pesquisa espelhada nas respostas dos funcionários, é que o tema segurança da
informação ainda é controverso, e muitas vezes confundido com uma abordagem puramente tecnológica. O
experimento testou a metodologia proposta, através de sua aplicação a um contexto específico. A amostra
utilizada para o experimento não é passível de gerar capacidade de generalização dos resultados obtidos
através de uma abordagem quantitativa, apesar de atender estatisticamente aos quesitos confiabilidade e
validação de conteúdo . Espera-se propor o teste com amostra representativa junto a empresas e usuários que
atenda a critérios estatísticos em trabalhos futuros de forma que tal amostra seja suficiente para determinar a
capacidade de generalização do questionário. Mesmo assim, como a nascer um entendimento que o elemento
pessoas é essencial para uma boa gestão de segurança informacional e desenvolvimento de políticas bem
sucedidas.
REFERÊNCIAS
Allen, B. L. Information Tasks: Toward a User-centered approach to information systems. California,USA, A.P.,1996.
Almeida, M. B. Aplicação de Ontologias em Segurança da Informação. Revista Fonte. Ed.Fonte, Belo Horizonte: 2007.
Buckland, M. Information as a thing. Journal of American Society for Information Science, 1991, v. 42, n. 5, p. 351-360.
Castells, M. The Rise of the Network Society. New York: Wiley-Blackwell, 2000.
Colwill, C. R. Human factors in information security: The insider threat & Who can you trust these days? Information
Security Technical Report, 2010, p. 01-11.
Ghernaouti-Hélie, S. An inclusive information society needs a global approach of information security. International
Conference on Availability, Reliability and Security. Computer Society, 2009.
Huang, D. L., Rau, P. L. P. and Salvendy, G. Perception of information security. Behavior & Information Technology,
2010. v.29, n.3, p. 221- 232.
Ingwersen, P. The cognitive view and information. In: ______. Information retrieval interaction. London: Taylor
Graham Publishing, 1992. Chapter 2. Disponível em: <http://vip.db.dk/pi/iri/files/Ingwersen_IRI_Chapter2.pdf>.
Acesso em: 8 mar. 2010.
Koskosas, I. V., Charitoudi, G. and Louta, M. The role of organizational cultures in information-systems security
management. Journal of Leadership Studies. Spring, 2008. v.2, issue 1, p.7–17.
Kraemer, S., Carayon, P. and Clem, J. Human and organizational factors in computer and information security. Computer
& Security. 2009. v.28, p. 509-520.
Lacey, D. Managing the human factor in information security. Wiley. 2009.
Likert, R. A Technique for the Measurement of Attitudes. Archives of Psychology, 1932. V.140, p.1–55.
Malhotra, N. K. Pesquisa de Marketing: Uma Orientação Aplicada, Porto Alegre: Bookman, 2012, 4a edição.
Marchionini, G. Digital Library Research and Development. Enc. of Library and Information Science, 1998, v.63
Sianes, M. Compartilhar ou proteger conhecimentos? Grande desafio no comportamento informacional das organizações.
In: Gestão Estratégica da Informação e Inteligência Competitiva. São Paulo: Saraiva, 2005.
Solms, R. V. Information security governance. South Africa, Springer, 2008.
Sveen, F.O., Torres, J.M. and Sarriegi, J.M. Blind Information Security Strategy. International Journal of Critical
infrastructure Protection, v.2, 2009, p.95-109
Wylder, J. Strategic Information Security. [s.l.]: Auerbach Publications, 2004.
134
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
O desenvolvimento e a avaliação de sistemas de busca exploratória demandam desafios principalmente devido ao nível
de interação do usuário com o sistema. Neste trabalho é apresentado um estudo de caso de desenvolvimento e avaliação
de um sistema de busca exploratória. O estudo de caso inclui aspectos relacionados às funcionalidades principais,
arquitetura do sistema, projeto da interface e avaliação. As informações fornecidas a partir de experiências, como neste
estudo de caso, têm um potencial grande de contribuição para problemas práticos.
PALAVRAS-CHAVE
Sistema de informação; busca de informação; busca; busca exploratória.
1. INTRODUÇÃO
Busca Exploratória (Exploratory Search) é definida como uma classe de atividades mais complexas de busca
em relação à abordagem tradicional de Recuperação de Informação (RI) (Marchionini, 2006). A abordagem
tradicional de RI consiste em obter resultados precisos relacionados às consultas especificadas. Marchionini
(2006) classifica as atividades de busca exploratória em três tipos: busca (lookup), aprendizagem e
investigação. A busca exploratória está relacionada especialmente às atividades de aprendizagem e
investigação, mas a atividade de busca também pode ser empregada. Por exemplo, as atividades de busca
estão geralmente embutidas nas atividades de aprendizagem e investigação.
Os Sistemas de Busca Exploratória têm por objetivo tornar a busca mais efetiva fornecendo uma
variedade de funcionalidades na interface e alterando dinamicamente como os resultados são apresentados
(White et al., 2007; White e Roth, 2009). Alguns sistemas para busca exploratória que podem ser citados
como exemplo são o Flamenco (Yee et al, 2003), para o domínio de imagens de obras de arte, e o mSpace
(Schraefel et al., 2006), para o domínio de música clássica. Esses trabalhos, assim como outros encontrados
na literatura sobre sistemas de busca exploratória, possuem o foco centrado principalmente na interface ao
invés de nos aspectos de desenvolvimento e avaliação.
O objetivo deste trabalho é apresentar um estudo de caso sobre o desenvolvimento e a avaliação de um
sistema de busca exploratória. O objeto do estudo de caso é um sistema de busca exploratória desenvolvido
para um software de gerenciamento de documentos denominado Gestor Eletrônico de Documentos e
informações (GEDi) (Mussi et al., 2009), que é um produto comercializado pela empresa ForLogic Software
Ltda. Assim, o estudo de caso apresentado tem um potencial grande de contribuição para problemas práticos,
uma vez que as informações coletadas são fornecidas a partir de experiências concretas. As lições aprendidas
podem ser úteis em outras situações nas quais seja necessário o desenvolvimento e/ou a avaliação de sistemas
para auxiliar a busca exploratória de informações.
135
ISBN: 978-972-8939-96-0 © 2013 IADIS
136
Conferência IADIS Ibero-Americana Computação Aplicada 2013
3. ARQUITETURA
Uma questão de projeto importante relacionada ao desenvolvimento é a definição de uma arquitetura
adequada para sistemas de busca exploratória. Uma das características desses sistemas é o acesso a uma ou
mais fontes de informação que podem estar logicamente inter-relacionadas e distribuídas por uma rede de
computadores. Neste trabalho são descritas duas arquiteturas, apresentadas inicialmente por Pereira e
Pansanato (2012), e o uso de um componente intermediário como parte da arquitetura para o tratamento de
múltiplas fontes de informação.
A organização da arquitetura do sistema é apresentada na Figura 1. O componente “Interface” é
responsável pelos elementos interativos da interface oferecida ao usuário e os componentes “Controle” e
“Engine” são responsáveis, respectivamente, pelo acesso aos Objetos de Informação (Arquivos) referentes ao
domínio de aplicação e pelo acesso ao Servidor (Base de Dados) do sistema. A base de dados mantém as
informações sobre os metadados referentes aos arquivos que podem ser pesquisados a partir do sistema.
Além disso, o subsistema “Engine” também é responsável pela construção das consultas em SQL referentes
às ações de busca realizadas pelo usuário.
O sistema segundo essa arquitetura foi implementado na linguagem C#, que é parte da plataforma .NET,
com o gerenciador de banco de dados SQL Server para o armazenamento da base de dados sobre o conjunto
de arquivos referente ao domínio de aplicação. Nessa versão, o componente “Controle” tem acesso somente
aos objetos armazenados no sistema de arquivos do sistema operacional. No entanto, o “Controle” também
seria responsável pelo acesso a objetos de informação disponíveis na Web ou em um servidor remoto (por
exemplo, através de um web service). O componente “Controle” não faz controle de acesso; ao contrário, a
garantia de que apenas os usuários com as permissões adequadas podem acessar objetos de informação é de
responsabilidade do sistema (ou aplicação) original que mantém o conteúdo. O sistema de busca exploratória
trabalha somente com referências para os objetos de informação.
Uma arquitetura alternativa é mostrada na Figura 4. A principal diferença para a arquitetura apresentada
anteriormente (Figura 1) é a divisão do sistema em duas partes, Cliente e Servidor, e o componente “Engine”
mantido na parte Servidor. A vantagem é que uma alteração no componente “Engine” não requer a geração
de uma nova versão para todos os computadores cliente. Por exemplo, é possível atualizar, reparar ou mesmo
substituir o componente “Engine” no Servidor sem que o sistema no Cliente (componentes “Interface” e
“Controle”) seja afetado por essa mudança. A desvantagem é que o componente “Engine” deve ser capaz de
executar todas as solicitações simultâneas sem ficar sobrecarregado.
O sistema segundo essa arquitetura alternativa foi implementado na linguagem Java (somente a parte
Servidor), com o Apache Lucene para o armazenamento das informações sobre o conjunto de arquivos
referente ao domínio de aplicação. O Apache Lucene é uma biblioteca, ou Application Programming
Interface (API), criada inicialmente em Java e que permite adicionar mecanismos de indexação e busca de
informações às aplicações (Hatcher et al., 2010).
A comunicação entre o componente “Controle”, no Cliente, e componente “Engine”, no Servidor, tem
papel importante na arquitetura alternativa da Figura 2. As mensagens são estruturadas usando a Extensible
Markup Language (XML) e codificadas em JavaScript Object Notation (JSON) para minimizar o
processamento dessas mensagens. A JSON é um formato leve para intercâmbio de dados computacionais
(uma alternativa para XML).
A abordagem utilizada é orientada a dados: o Cliente (componente “Controle”) envia os dados da
solicitação, que são processados no Servidor (componente “Engine”); e o Servidor (componente “Engine”)
retorna os dados de resposta, que são processados no Cliente (componente “Controle”) e utilizados para
atualizar os estados do sistema e/ou a interface do usuário (componente “Interface”).
137
ISBN: 978-972-8939-96-0 © 2013 IADIS
138
Conferência IADIS Ibero-Americana Computação Aplicada 2013
1 <request>
2 <step> 1 <response>
3 <strategy> 2 <itemList>
4 <action tool="keywordSearch"> 3 <item id="1309" rank="1">
5 <option name="words" value="chorar"> 4 <title>É Rir Pra Não Chorar</title>
6 </option> 5 <author>Jota Quest</author>
7 <option name="operator" value="and"> 6 <type>mp3</type>
8 </option> 7 <create>1998</create>
9 </action> 8 </item>
10 </strategy> 9 <item id="548" rank="2">
11 </step> 10 <title>Pode Chorar</title>
12 <history> 11 <author>Jorge e Mateus</author>
13 <strategy> 12 <type>mp3</type>
14 <action tool="facetBrowse"> 13 <create>2009</create>
15 <option name="facet" value="type"> 14 </item>
16 </option> 15 ...
17 <option name="instance" value="mp3"> 16 </itemList>
18 </option> 17 <facetList>
19 </action> 18 <facet name="title" label="Título">
20 </strategy> 19 <instance name="a..g" label="A..G" occurences="53">
21 </history> 20 </instance>
22 <itemList> 21 ...
23 <item id="88" rank=""></item> 22 </facet>
24 <item id="1208" rank=""></item> 23 ...
25 ... 24 </facetList>
26 </itemList> 25 </response>
27 </request>
4. INTERFACE
O projeto da interface do sistema de busca exploratória iniciou com a análise dos sistemas de busca
exploratória da literatura. A partir dessa análise foram identificadas quatro principais estruturas de interface
consideradas relevantes. Essas estruturas não aparecem nos sistemas sempre da mesma forma, mas diferem
em termos de posição, de tamanho (em relação à interface toda) e da quantidade de informações
apresentadas. Para essa análise foram estudados os seguintes sistemas de busca exploratória encontrados na
literatura: Open Video Digital Library (Marchionini et al., 2006); Relation Browser ++ (Marchionini e
Brunk, 2003); Flamenco (Yee et al., 2003); mSpace (Schraefel et al, 2006); e Phlat (Cutrell et al., 2006).
Os resultados dessa análise, isto é, as estruturas de interface identificadas, são ilustradas na Figura 5 e
estão presentes na maioria dos sistemas analisados: (A) histórico de busca e navegação; (B) busca por
palavra-chave integrada; (C) busca (ou navegação) por facetas de metadados; e (D) visualização de objetos
de informação.
A
B D
139
ISBN: 978-972-8939-96-0 © 2013 IADIS
avaliação. A avaliação nesse contexto era realizada por meio de testes de usabilidade informais (Preece et al.,
2002), com ênfase em contribuições rápidas ao invés de testes formais, devido à característica de evolução
dinâmica para identificação das interações possíveis na interface. Além disso, eram também comuns as
sessões de brainstorming com especialistas em usabilidade (da empresa ForLogic), as quais foram muito
importantes para atingir a aparência e o modo de atuar (look and feel) da interface atual.
Na Figura 6 é apresentado um exemplo da interface do sistema de busca exploratória. As principais partes
da interface são: (A) busca por palavra-chave; (B) busca por facetas de metadados (“Categorias”); (C)
histórico das ações de busca (“Histórico”); e (D) área de resultados (“Arquivos”). Pode-se observar em
“Categorias” o conjunto de metadados (“Título”, “Autor”, “Tipo” e “Data criação”) e suas respectivas
facetas. Na frente de cada faceta de um elemento de metadados é mostrado o número de itens (objetos de
informação) existentes que estão associados àquela faceta. As informações em (B) “Categorias” são sempre
alteradas de acordo com os itens resultantes de uma ação de busca.
5. AVALIAÇÃO
O foco da pesquisa em sistemas de busca exploratória tem sido no desenvolvimento de novos sistemas e
interfaces para apoiar as atividades de busca exploratória, ao invés da sua avaliação (White et al., 2008). Os
sistemas de busca exploratória são construídos sobre novas tecnologias e paradigmas de interface que
facilitam o aumento do nível de interação com objetos de informação e suas representações. Esse nível alto
de interação, que é parte integral da busca exploratória, demanda desafios para a avaliação.
Ao final do desenvolvimento do sistema de busca exploratória, uma avaliação foi realizada de acordo
com as recomendações do padrão ISO/IEC 14598-5, que divide o processo de avaliação em quatro estágios:
especificação, planejamento, avaliação piloto e avaliação (ISO/IEC, 1998).
Na etapa de especificação, o escopo e o objetivo da avaliação foram definidos. O escopo da avaliação foi
a interface e suas funcionalidades para auxiliar a busca exploratória. O objetivo da avaliação foi encontrar
problemas de usabilidade na interface e obter experiência em avaliação de sistemas de busca exploratória.
Na etapa de planejamento, um plano para a realização da avaliação foi elaborado, contendo os
procedimentos e o formulário que seria utilizado pelos avaliadores. O método escolhido para a avaliação foi a
Avaliação Heurística (Nielsen, 1994) porque é o método de avaliação de usabilidade mais utilizado devido à
facilidade de ser aplicado e ao custo baixo. Os avaliadores, no total de seis, são desenvolvedores de software
da empresa ForLogic, com experiência em usabilidade e não participaram do desenvolvimento do sistema de
140
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Figura 7. Ilustração que mostra os avaliadores que encontraram determinados problemas de usabilidade
O principal problema de usabilidade, considerado um problema grande e cuja solução tem alta prioridade,
está relacionado ao modo de operação da funcionalidade histórico das ações de busca. Os avaliadores
consideraram difícil para o usuário a compreensão de que, após excluir uma ação, a lista de itens
(“Arquivos”) reflete a sequência de ações resultantes após a exclusão. Apesar de o usuário poder superar essa
dificuldade inicial por meio de um treinamento básico, os avaliadores sugeriram o reprojeto dos elementos
interativos da interface referentes a essa funcionalidade.
Outro problema de usabilidade também considerado grande está relacionado à apresentação na interface
dos metadados cujas facetas não assumem valores de um conjunto predefinido, por exemplo, os metadados
“Título” e “Autor”. As facetas desses metadados são representadas por rótulos previamente fixados que
indicam um determinado intervalo do alfabeto. Dependendo da sequência das facetas escolhidas pelo usuário,
a interface pode apresentar números muito díspares na quantidade de itens atualmente associada a cada uma
das facetas. A sugestão dos avaliadores é calcular automaticamente os intervalos que possuem itens
disponíveis e alterar os rótulos das facetas dinamicamente.
O trabalho de consolidação exige tempo e muita atenção, pois cada avaliador relata à sua maneira os
problemas de usabilidade encontrados, assim como a sua localização na interface do sistema. A maior
dificuldade está na atividade de comparação dos diversos problemas para encontrar problemas igualmente
relatados ou parecidos em sua descrição e localização. Outra dificuldade surgia quando as informações
fornecidas pelo avaliador não foram suficientes para reproduzir o problema; sempre que possível, o avaliador
foi consultado sobre qual a melhor decisão a ser tomada.
141
ISBN: 978-972-8939-96-0 © 2013 IADIS
6. CONCLUSÃO
Neste trabalho foi apresentado um estudo de caso sobre o desenvolvimento e avaliação de um sistema de
busca exploratória. As informações, apresentadas a partir de experiências concretas, têm um potencial grande
de contribuição para problemas práticos. Os diversos aspectos apresentados estão relacionados às principais
funcionalidades, projeto da interface, arquitetura do sistema e avaliação.
O sistema de busca exploratória apresentado foi desenvolvido para um software de gerenciamento de
documentos denominado Gestor Eletrônico de Documentos e informações (GEDi). A empresa ForLogic deve
incorporar no sistema GEDi as ideias subjacentes ao sistema proposto, desenvolvendo um módulo com
funcionalidades semelhantes e de acordo com os seus padrões de desenvolvimento de software. Nesse
sentido, também é esperado algo similar para a versão para a Web do sistema GEDi.
AGRADECIMENTOS
Os autores agradecem à UTFPR, Fundação Araucária, Secretaria de Estado da Ciência, Tecnologia e Ensino
Superior (SETI-PR) e Governo do Estado do Paraná pelo apoio financeiro.
REFERÊNCIAS
Cutrell, E., Robbins, D., Dumais, S., and Sarin, R., 2006. Fast, flexible filtering with phlat. Proceedings of the SIGCHI
conference on Human Factors in computing systems, pp. 261-270.
Dix, A., Finlay, J., Abowd, G., and Beale, R., 2004. Human-Computer Interaction. 3. ed. Prentice-Hall, Harlow, England.
Hatcher, E., Gospodnetic, O., and McCandless, M., 2010. Lucene in Action. 2. ed. Manning Publications.
Hearst, M. A., 2006. Clustering versus faceted categories for information exploration. In CACM, 49, 4, pp. 59-61.
Hearst, M., Elliott, A., English, J., Sinha, R., Swearingen, K., and Yee, K., 2002. Finding the Flow in Web Site Search. In
CACM, 45, 9, pp. 59-61.
ISO/IEC, 1998. ISO/IEC 14598-5:1998 Information technology – Software product evaluation – Part 5: Process for
evaluators. Available at http://www.iso.org.
Marchionini, G. and Brunk, B., 2003. Towards a General Relation Browser: A GUI for Information Architects. In
Journal of Digital Information, 4, 1.
Marchionini, G., 2006. Exploratory search: From finding to understanding. In CACM, 49, 4, pp. 41-46.
Marchionini, G., Wildemuth, B. M., and Geisler, G., 2006. The Open Video Digital Library: A Möbius Strip of Research
and Practice. In Journal of the American Society for Information Science and Technology, 57, 12, pp. 1629–1643.
Mussi, L. P. S., Takemiya, S. H., Pansanato, L. T. E., Pozza, R. S., Yasui, P. H. Z., Della Mura, W. A., and Bastiani, J.
A., 2009. GEDi: Gestor Eletrônico de Documentos e informações. Anais do XVIII Workshop de Ferramentas e
Aplicações (WFA), V Simpósio Brasileiro de Sistemas Multimídia e Web, 2, pp.124-126.
Nielsen, J., 1994. Heuristic evaluation. in Nielsen, J. and Mack, R. L. (Eds.). Usability Inspection Methods. John Wiley &
Sons, New York.
Pereira, D. F. and Pansanato, L. T. E., 2012. Estudo de Caso: Arquitetura de Sistema para Auxiliar a Busca Exploratória
de Informações. Anais do XVII Seminário de Iniciação Científica e Tecnológica da UTFPR, Curitiba.
Preece, J., Rogers, Y., and Sharp, H., 2002. Interaction Design: Beyond Human-Computer Interaction. John Wiley &
Sons, New York.
Schraefel, M. C., Wilson, M., Russell, A., and Smith, D. A., 2006. mSpace: improving information access to multimedia
domains with multimodal exploratory search. In CACM, 49, 4, pp. 47-49.
White, R. W. and Roth, R. A., 2009. Exploratory Search: Beyond the Query–Response Paradigm. Morgan & Claypool.
White, R. W., Drucher, S. M., Marchionini, G., Hearst, M., and Schraefel, M. C., 2007. Exploratory search and HCI:
designing and evaluating interfaces to support exploratory search interaction. Proceedings of the CHI Extended
Abstracts, pp. 2877-2880.
White, R. W., Marchionini, G., and Muresan, G., 2008. Evaluating exploratory search systems. In Information
Processing and Management, 44, 2, pp. 433-436.
Yee, K., Swearingen, K., Li, K., and Hearst, M., 2003. Faceted metadata for image search and browsing. Proceedings of
the SIGCHI conference on Human factors in computing system, pp. 401-408.
142
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Este artigo apresenta a solução RFDroid que propõe integrar as tecnologias de identificação por radiofrequência (RFID) e
dispositivos móveis para o desenvolvimento de aplicações voltadas a auxiliar pessoas com deficiência visual no que se
refere à locomoção e reconhecimento de pontos específicos em ambientes fechados. Acredita-se que as pesquisas
realizadas possam servir como subsídios para a concepção de novas aplicações que façam uso da integração das
tecnologias propostas nos mais variados domínios.
PALAVRAS-CHAVE
Tecnologia RFID, Ambientes Indoor, Deficiência Visual, Dispositivos Móveis, Tecnologia Assistiva
1. INTRODUÇÃO
Atualmente, a tecnologia de identificação por radiofrequência (RFID) experimenta um vasto crescimento
entre as tecnologias de transmissão sem fio. Seu uso já é frequente e está consolidado em aplicações como,
por exemplo, casas inteligentes, monitoramento de bagagens em aeroportos e gerenciamento da cadeia de
suprimentos, atendendo de forma eficiente as necessidades das soluções desenvolvidas (Santini, 2008). No
entanto, em muitas áreas o RFID é uma tecnologia emergente que impõe muitos desafios na sua utilização,
incluindo a leitura e recuperação eficiente dos dados em um processo de identificação automática (Batocchio,
2011).
Dentre as várias aplicações que ainda requerem estudos e experimentos no uso de sistemas RFID
destacam-se as soluções para mobilidade em ambientes fechados. A mobilidade é uma importante
característica das redes sem fio, pois permite ao usuário permanecer conectado a rede, mesmo enquanto se
move através do uso de diferentes dispositivos móveis (celulares, smartfones, tablets, etc) e em locais
distintos (Werb, 2010)(Ferrer,2010). Entretanto esta facilidade pode acarretar problemas, principalmente, no
que se refere ao projeto das redes que estabelecem a comunicação entre estes diferentes dispositivos. No caso
de rede infra-estruturada, o local onde o usuário se encontra dentro da área de cobertura de um ponto de
acesso é que garante a manutenção da conexão à rede e, a mobilidade pode fornecer uma indesejável latência
no momento em que ocorre a transição do usuário de um ponto de acesso para outro. Em redes não
estruturadas (adhoc), a mobilidade pode trazer problemas no estabelecimento de rotas para a transmissão de
dados e na capacidade da rede como um todo (Loureiro, 2013).
Várias tecnologias oferecem auxílio à orientação e localização de pessoas com deficiência visual, tanto
em ambientes fechados quanto abertos. Entretanto, isto só foi possível efetivamente com o surgimento dos
dispositivos eletrônicos, visto que os recursos que subsidiavam esta orientação e localização voltavam-se à
utilização de ferramentas convencionais, tais como, bengalas, utilização de cães-guia, relevo sobre o chão,
linguagem em braile, dentre outros. Embora tais tecnologias sejam de suma relevância e ofereçam uma
contribuição significativa às pessoas com deficiência visual por possibilitarem autonomia e mobilidade, elas
são desprovidas de recursos oriundos da computação embarcada e apresentam-se bastante limitadas em
termos de quantidade de informações fornecidas ao seu utilizador na realização de suas tarefas cotidianas.
143
ISBN: 978-972-8939-96-0 © 2013 IADIS
Para suprir tais limitações o sistema RFID apresenta-se como uma tecnologia emergente que oferece
contribuições significativas para esta área devido as suas particularidade e características específicas tais
como o custo acessível, a possibilidade de reuso, a capacidade de armazenamento de informações em um
sistema compacto e, sobretudo, por não necessitar do contato físico das pessoas para com um determinado
objeto ou ainda que este objeto esteja no campo de visão destas pessoas (Yelamarthi, 2010), (Al-Qutayri,
2011).
Diante do exposto a proposta RFDroid apresenta-se como uma solução computacional que se utiliza da
tecnologia RFID para o desenvolvimento de aplicações capazes de auxiliar a locomoção de pessoas com
deficiência visual em ambientes fechados. Em termos gerais, a solução proposta visa promover contribuições
científicas que demonstrem a sua aplicabilidade no desenvolvimento de soluções que requeiram mobilidade
em ambientes fechados e ao mesmo tempo amplia o leque de tecnologias assistivas que realmente promovam
impactos significativos no cotidiano de pessoas com deficiência visual, principalmente no que se refere à
familiarização destas pessoas para com ambientes inicialmente desconhecidos. Vislumbra-se a aplicabilidade
desta solução em vários contextos de uso reais, no entanto, neste artigo apresenta-se como estudo de caso
para fins de validação da proposta, o desenvolvimento de uma aplicação que facilita a locomoção e
identificação de espaços por pessoas com deficiência visual.
No intuito de melhor descrever a solução RFDroid o presente artigo estrutura-se conforme segue: a seção
2 apresenta a arquitetura do RFDroid, descrevendo as diferentes camadas que a compõem; a seção 3
descreve as tecnologias empregadas na concepção da solução RFDroid; a seção 4 direciona-se à apresentação
e descrição do protótipo implementado a partir da arquitetura proposta e de posse das tecnologias utilizadas e
a seção 5 apresenta as conclusões advindas da realização deste trabalho, vem como os direcionamentos para
o desenvolvimento de trabalhos futuros.
144
Conferência IADIS Ibero-Americana Computação Aplicada 2013
com os demais dispositivos enquanto que na camada de software, o aplicativo em questão é responsável pelo
controle de todas as funções que favorecem a interação do dispositivo para com o usuário a partir da
inicialização de funções que estabelecem uma comunicação entre o sistema RFID e o aplicativo fornecendo
informações sobre o ambiente. De posse de tais informações é realizada uma pesquisa na base de dados sobre
os dados fornecidos e em seguida estas informações são disponibilizadas ao através do sintetizador de voz.
Além disso, nesta camada prevê ainda o uso de um WebService a fim de que as informações mantenham-se
sempre atualizadas e reflitam o estado atual do ambiente. Para que isso ocorra o WebService armazena as
mesmas informações presentes na base de dados do dispositivo móvel, porém no formato de arquivos XML.
A arquitetura da solução RFDroid contempla ainda um versionamento entre informações existentes na base
de dados e as informações contidas no WebService o qual é responsável por verificar a existência de novos
dados disponíveis no ambiente e que necessitam de atualização. Tais atualizações são realizadas através da
conexão entre o dispositivo móvel e o WebService com a utilização da variável version, presente tanto no
dispositivo móvel quanto no WebService, a qual verifica se houve alterações das informações no ambiente e
em caso positivo retorna-as ao dispositivo móvel.
145
ISBN: 978-972-8939-96-0 © 2013 IADIS
Para o desenvolvimento do protótipo da solução adquiriu-se um kit completo composto por um leitor,
uma antena, um adaptador para Arduíno e um conjunto de seis TAGs, que opera na freqüência de 13,56
mhz,. Para o estabelecimento da comunicação entre o dispositivo móvel e o Arduino incorporou-se a
tecnologia Bluetooth devido sua praticidade por ser um meio sem fio para troca de informações e com um
baixo custo de consumo, utiliza-se este método como padrão para estabelecimento de conexão na proposta do
RFDroid.
Apesar da plataforma Android oferecer uma serie de recursos que podem ser utilizados em dispositivos
móveis, a habilitação do bluetooth pode acarretar vários entraves no processo de interação das pessoas com
deficiência visual com o dispositivos móveis devido as diferentes opções direcionadas a habilitação deste
recurso (ativar do Bluetooth; tornar o dispositivo visível; escolher o dispositivo com o qual deseja se conectar
e autorizar a conexão). Para contornar estes entraves optou-se pela utilização da biblioteca Amarino a fim de
suprir as necessidades de interação do usuário para o estabelecimento a conexão Bluetooth. O uso da API
Amarino torna mais simples para a comunicação entre Android e Arduino, eliminando a necessidade de
interação do usuário para com a aplicação e promovendo o gerenciamento automático para inicialização dos
serviços de conexão.
Para a implementação da camada de software contemplou-se a plataforma móvel Android devido a
grande quantidade de dispositivos que se utilizam da mesma e também grande variedade de recursos que a
mesma oferece aos desenvolvedores tais como o acesso ao Bluetooth, utilização da classe TextToSpeech e o
uso do banco de dados SQLite Agregado a isto o sintetizador de voz está incorporado à plataforma Android
desde a versão 1.6, rodando sobre a engine PICO, o que facilita a sua utilização por aplicações para gerar um
trecho de áudio referente a textos em geral, sendo ele amplamente utilizado nesta proposta por estabelecer a
comunicação direta entre a solução e o usuário. O uso do TTS é relativamente simples, bastando importar a
classe TextToSpeech(), inicializá-la e invocar o método speak() passando, como parâmetro, uma string com
um texto para ser lido. A string utilizada está armazenada em banco de dados.
A base de dados destina-se ao armazenamento de duas informações principais a saber: (a) o identificador
de TAGs RFID, onde cada TAG é referenciada por um id de identificação que compreende um número
hexadecimal único que a identifica, sendo este armazenado em forma de string e, (b) a descrição de um ponto
específico do ambiente, vinculado ao identificador da TAG, por exemplo, a TAG cujo id é “3EA297F90”
referencia um banheiro. Todas estas informações são armazenadas em uma base de dados, criada localmente
no dispositivo com o uso da biblioteca SQLite, disponível na plataforma Android. As alterações no ambiente
podem ser realizadas em uma aplicação servidora e logo após, a aplicação móvel comunica-se com o
WebService, responsável por enviar ao dispositivo as novas informações do ambiente. Toda a comunicação
entre o dispositivo Android e o WebService é realizada com o uso da biblioteca externa “Ksoap2” que auxilia
a criação de pacotes para envio de mensagens.
Outro fator que merece destaque é a inicialização do sintetizador de voz. O processo de narração das
informações não possui nenhum tipo de fila ou política para que o sintetizador pare ou continue uma
narração, ou seja, ele simplesmente segue o fluxo normal de execução. Em outras palavras, o gatilho que
dispara o processo de narração é a chegada dos dados referente à leitura do identificador de uma TAG ao
sistema. Se o mesmo encontra-se no meio de uma narração e um novo id é identificado a narração é,
imediatamente, cancelada e uma nova leitura é iniciada. Esta abordagem garante que as informações
repassadas para o usuário referentes à localização dele no ambiente sejam sempre confiáveis, contornando
problemas que por ventura possam surgir tais como o posicionamento de duas TAGs uma próxima a outra e a
velocidade de movimentação do usuário no ambiente. A Figura 3 demonstra graficamente a comparação
entre estas duas abordagens de narração.
146
Conferência IADIS Ibero-Americana Computação Aplicada 2013
147
ISBN: 978-972-8939-96-0 © 2013 IADIS
148
Conferência IADIS Ibero-Americana Computação Aplicada 2013
149
ISBN: 978-972-8939-96-0 © 2013 IADIS
Cabe ressaltar que, apesar da proposta estar vinculada ao desenvolvimento de aplicações de cunho
assistivo, a integração entre dispositivos móveis Android e sistemas RFID por meio de uma comunicação
Bluetooth pode ser empregada na concepção de aplicações em outros contextos. Assim, estima-se que a
pesquisa realizada oferece subsídios para que desenvolvedores promovam contribuições em outros domínios
onde a integração das tecnologias propostas seja viável.
REFERÊNCIAS
ANDROID Developer, “Android 1.6 Plataform Highlights”. Disponível em:
http://developer.android.com/about/versions/android-1.6-highlights.html. Acessado em novembro de 2012.
AL-QUTAYRI, M., J. JEEDELLA, et al. (2011). An integrated wireless indoor navigation system for visually impaired.
Systems Conference (SysCon), 2011 IEEE International: 17-23.
ATMEL 2012. “Atmega328P”. Disponível em: http://www.atmel.com/devices/. Acessado em novembro de 2012.
BATOCCHIO, Antonio. Uma Visão Geral sobre RFID e Áreas de Aplicações. In: X SBAI – Simpósio Brasileiro de
Automação Inteligente. Proceedings… São João del-Rei , MG. Brasil, 2011.
CONTI, M.; CLIQUET, A. KASSAB, F. Substituição Sensorial para Auxílio à Mobilidade de Deficientes Visuais via
Eletroestimulação Tátil. Universidade Católica Dom Bosco, Campo Grande, Mato Grosso do Sul, 2004.
FERRER, G.; DEW, Nicholas. When is RFID right for your service? International Journal of Production Economics.
Elsevier, Volume 124, Issue 2. Pg 414–425. April 2010.
HASHIMI, S; KOMATINENI, S; MACLEAN, D. ProAndroid 2, eBook. Editora Atica, 2010.
KAUFMANN, Bonifaz. Amarino: a toolkit for the rapid prototyping of mobile ubiquitous computing. In: Proceedings of
the 12th International Conference on Human Computer Interaction with Mobile devices and Services. ACM, New
York, 2010.
LOUREIRO, Antonio A.F.; et al. Comunicação Sem Fio e Computação Móvel: Tecnologias, Desafios e Oportunidades.
Disponível em: http:// http://homepages.dcc.ufmg.br/~loureiro/cm/docs/jai03.pdf. Acesso em março, 2013.
PEREIRA, Lúcio Camilo Oliva. Android para desenvolvedores. Brasport, Rio de Janeiro, 2009.
SANTINI, A.G. RFID: Conceitos, Aplicabilidades e Impactos. Rio de Janeiro, Editora Ciência Moderna, 2008.
WERB J., e LANZL C. Designing a positioning system for finding things and people indoors. IEEE spectrum, vol. 35,
nº.9, Setembro de 2010.
YELAMARTHI, K., D. Haas, D. Nielsen, and S. Mothersell. Rfid and Gps Integrated Navigation System for the Visually
Impaired. Circuits and Systems (MWSCAS), 2010 Proceedings… 53rd IEEE International Midwest Symposium on
(2010): 1149-52.
150
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Eduardo Guedes Carvalho, Gabriel Viana Guedes e Luiz Alfredo Soares Garcindo
Universidade do Sul de Santa Catarina - José Acácio Moreira, 787, Tubarão, Santa Catarina
RESUMO
Este artigo apresenta uma ferramenta para apoiar o ensino de programação e que permita introduzir aos alunos iniciantes
os conceitos de orientação a objetos. A ferramenta possibilita que os acadêmicos escrevam programas utilizando
pseudocódigo na língua portuguesa, em uma interface simples e de fácil utilização. Compõe a ferramenta uma linguagem
de programação interpretada que gera código para execução na máquina virtual do Java (JVM). Testes de avaliação,
feitos com professores e alunos através de questionários, mostraram resultados positivos.
PALAVRAS-CHAVE
Orientação a objetos, ensino de programação, algoritmos, ferramenta de apoio.
1. INTRODUÇÃO
O ensino de programação tem sido alvo de muitas pesquisas nos últimos anos, todas com a mesma
preocupação, o processo de ensino/aprendizagem de programação. Rocha et al (2010, p. 1) mencionam que
tais estudos são motivados pelo fato que ensinar programação não é tarefa fácil e saber programar é
importante para a maioria das disciplinas ligadas à computação.
Existem problemas relacionados à dificuldade em aprender conceitos de orientação a objetos,
principalmente quando se trata da transição de paradigmas, entre o procedural e o orientado a objetos
(Kölling, 1999; Sheetz et al, 1997; Santos, 2009; Biju, 2013). Devido à própria natureza distribuída do
paradigma, à complexidade das linguagens que o utilizam, e à troca de paradigmas, os alunos têm dificuldade
na compreensão de seus conceitos. Isso se deve ao fato, também, de as ferramentas atuais utilizarem
linguagens muito complexas, ambientes de programação confusos, onde alguns sistemas foram
desenvolvidos para engenheiros de software profissionais sendo difícil para alunos iniciantes se adaptarem a
estes ambientes (SHEETZ et al, 2000; KÖLLING, 1999; BIJU, 2013).
No curso de Ciência da Computação da UNISUL (Universidade do Sul de Santa Catarina), por exemplo,
as disciplinas de programação tratam, numa fase inicial, exclusivamente do ensino de algoritmos, com o
paradigma imperativo. Em fases subsequentes dos currículos são introduzidos os conceitos de orientação a
objetos e se inicia o ensino de linguagens profissionais que normalmente utilizam os dois paradigmas citados.
Em pesquisa a currículos de outras instituições, que são consideradas entre os dez melhores cursos de
ciência da computação no Brasil pela revista virtual o Guia do Estudante (Previdelli, 2013), constatou-se que
são utilizados métodos semelhantes para ensinar programação. Algumas dividem os conteúdos, e dedicam
disciplinas para os diferentes paradigmas de programação. Mas na maior parte delas são utilizados os
algoritmos em forma de pseudocódigo para passar o conteúdo aos alunos.
Existem também estudos que questionam os métodos de ensino convencionais, e propõem utilizar o
paradigma de orientação a objetos logo no início dos cursos de computação. Diversos autores defendem este
método, mas diferem na forma de apresentar os conceitos aos alunos. Alguns propõem utilizar uma
linguagem totalmente orientada a objetos como o Smalltalk para passar os conceitos aos alunos, já outros
utilizam linguagens híbridas como o C++, e frameworks específicos como objetos de estudo (SHEET et al,
2000; KÖLLING, 1999; BIJU, 2013; DEMUTH et al, 2000; BRUDERER, 2005).
151
ISBN: 978-972-8939-96-0 © 2013 IADIS
Desta forma, é proposta neste artigo uma ferramenta que compõe um ambiente didático capaz de
amenizar os problemas citados, seja na visão essencialmente imperativa, ou na introdução dos conceitos de
orientação a objetos. Pretende-se, em resumo, atender diferentes cenários no ensino de programação para
iniciantes: os conceitos de orientação a objetos são passados aos alunos inicialmente; e o modelo tradicional
onde os conceitos de programação imperativa são passados primeiro. A ferramenta proposta utiliza uma
linguagem interpretada, com notação intuitiva, concisa e de fácil aprendizado.
2. TRABALHOS RELACIONADOS
Ferramentas de apoio ao ensino de programação têm sido cada vez mais utilizadas e tem contribuído bastante
na obtenção de resultados positivos no ensino de programação. A seguir são comentadas de forma sucinta
algumas ferramentas de expressão no mercado.
O VisuALG, segundo a Apoio Informática, sua empresa de criação, tem como objetivo permitir aos
alunos iniciantes em programação o exercício de seus conhecimentos em um ambiente próximo da realidade.
A linguagem que ele interpreta é uma versão portuguesa de pseudocódigo (Portugol) e utiliza o paradigma
procedural.
O Tepequém segundo Hinterholz Jr. (2009, p. 485 - 488), é uma linguagem de programação imperativa
focada no paradigma estruturado, baseada em pseudocódigo. Os programas feitos nesta linguagem podem
rodar em qualquer máquina e qualquer sistema operacional. Ela é utilizada através de um plugin para o IDE
Netbeans, e as funções extras dele podem ser aproveitadas.
Portugol IDE, segundo Manso, Oliveira e Marques (2009, p. 3), é um ambiente de aprendizagem de
programação constituído de duas linguagens de definição de algoritmos: pseudo-código e fluxogramas. O
pseudo-código é baseado no português estruturado, e incorpora características das mais recentes linguagens
de programação.
3. FERRAMENTA PROPOSTA
A seguir são apresentadas as principais características da ferramenta.
152
Conferência IADIS Ibero-Americana Computação Aplicada 2013
153
ISBN: 978-972-8939-96-0 © 2013 IADIS
4. DESENVOLVIMENTO DA FERRAMENTA
O processo de tradução, conforme a figura 3, é realizado em um passo, tendo o analisador sintático como
controlador geral do processo. O analisador léxico extrai os tokens (símbolos básicos da linguagem)
classificando-os em categorias, tais como identificadores, palavras reservadas, sinais de operação e símbolos
especiais. O analisador sintático verifica se a sequência de tokens recebidos da análise léxica esta de acordo
com as regras da gramática especificada para a linguagem (usado método preditivo). O analisador semântico,
dirigido por sintaxe, determina o significado de cada construção sintática, aponta os eventuais erros e traduz
o programa fonte para uma representação intermediária de instruções, no caso o bytecode. O bytecode é então
convertido para o formato binário que é armazenado em um arquivo class, próprio para ser executado pela
JVM.
154
Conferência IADIS Ibero-Americana Computação Aplicada 2013
5. RESULTADOS
A avaliação da ferramenta foi feita através da aplicação de testes em duas turmas, de Programação I e II do
curso de Ciência da Computação, com vinte alunos cada uma. O primeiro teste feito na turma I foi para
verificar a adaptação dos alunos à ferramenta. Foi pedido que tentassem resolver um problema simples, que
demanda escrever a região de procedência de um produto, de acordo com um código digitado pelo usuário.
Nesta turma os alunos ainda estavam aprendendo sobre orientação a objetos, desta forma foi feita uma breve
explanação sobre o assunto, abordando os tópicos básicos, como métodos, classes, instanciação e herança, e
também sobre a interface e a sintaxe da linguagem. Os alunos reagiram bem à forma como o conteúdo foi
explanado, através da sintaxe do pseudocódigo e com a ferramenta. Após as explanações, os alunos então
foram colocados diante do exercício. Primeiramente foi pedido que eles resolvessem o problema da maneira
como sabiam, com os conceitos de programação procedural. A adaptação à ferramenta e a sintaxe da
linguagem foi rápida, pois eles recentemente haviam estudado pseudocódigo. Tendo resolvido o problema,
foi pedido aos alunos que tentassem resolvê-lo utilizando os conceitos de orientação a objetos passados
anteriormente. A dificuldade dos alunos nessa etapa foi mínima, residindo apenas em como utilizar os
objetos que eles criaram. Mas os resultados foram positivos e a adaptação foi rápida.
155
ISBN: 978-972-8939-96-0 © 2013 IADIS
Já na turma II o teste foi feito para verificar o quão rápido os alunos resolveriam o problema, e se eles
teriam preferido aprender os conceitos de orientação a objetos com a ferramenta. O problema pedia para
registrar a altura, nome e idade de N pessoas, e com isso calcular a altura média entre elas, a pessoa mais alta
e a média de idade. Os alunos desta turma já conheciam os conceitos de orientação a objetos, e se
impressionaram com a maneira simples em que este foi apresentado na ferramenta. Foi feita uma explanação
sobre a sintaxe da linguagem para que eles pudessem relembrar dos comandos de pseudocódigo, e também
sobre a interface da ferramenta e seu funcionamento. Não houve dificuldade por parte dos alunos em
resolverem o problema, o que foi feito em pouco tempo. Também se adaptaram bem à ferramenta, e foram
capazes de utilizar os conceitos de orientação a objetos facilmente dentro dela.
No final de cada teste foram aplicados questionários aos alunos envolvendo as seguintes questões: quanto
à interface da ferramenta; quanto à facilidade em aprender a utilizar a ferramenta; quanto à simplicidade da
sintaxe; quanto à facilidade para identificar erros; quanto à facilidade para editar o código; quanto à execução
do código; o quanto facilita na resolução de problemas; e quanto aos recursos que a ferramenta oferece. Foi
utilizado como medida uma nota de um à quatro, sendo: um = deficiente; dois = regular; três = bom; e quatro
= excelente.
Mais de 80% das avaliações desses quesitos durante os testes foram positivas para ambas as turmas, ou
seja, entre boas e excelentes. E mais de 70% das avaliações no quesito de facilidade na resolução de
problemas, para ambas as turmas, também foram positivas.
Além desses quesitos apresentados, também foi levantada uma questão muito importante: se a ferramenta
poderia ser útil na introdução do conceito de orientação a objetos, ao invés de utilizar diretamente uma
linguagem de programação mais complexa, como o Java. Em ambas as turmas, 100% dos alunos
concordaram que a ferramenta seria sim, útil na introdução dos conceitos de orientação a objetos, justificando
que seria mais fácil aprender uma linguagem de programação que utiliza este paradigma, já sabendo os seus
conceitos.
O questionário dos professores envolveu as mesmas questões quantitativas, mas voltadas ao pedagogo.
Suas opiniões em relação aos quesitos da ferramenta foram semelhantes, e positivas. Eles concordaram que a
ferramenta é de fácil utilização e que seus comandos possuem abrangência mais do que suficiente para apoiar
no ensino. No restante dos quesitos, a avaliação foi 100% positiva. Além disso, foi-lhes questionado sobre a
importância de ter uma ferramenta deste tipo para introduzir os conceitos de orientação a objetos, e se a
ferramenta proposta seria útil nesta abordagem. Ambos concordaram com a importância da ferramenta e de
sua proposta, e que ela poderia ser muito útil no apoio a introdução dos conceitos de orientação a objetos.
6. CONCLUSÕES
O paradigma de orientação a objetos está muito presente no mercado atualmente, desta forma, é importante
que o seu ensino seja objetivo, claro, e de qualidade. Para que o mercado cresça com qualidade os
profissionais necessitam ser capacitados da mesma forma.
A ferramenta além de permitir que se trabalhe na forma tradicional com algoritmos, possibilita também
que se introduza de forma simples e objetiva os conceitos de orientação a objetos. Esta propriedade foi
percebida e comprovada claramente nas avaliações realizadas em sala de aula e junto a professores que
colaboraram com a pesquisa. Permitir aos alunos aprenderem e testarem os conceitos de orientação a objetos
em uma ferramenta simples, e em língua nativa, mostrou-se positivo de acordo com os resultados. Isso
mostra que introduzir os conceitos de orientação a objetos, antes de aplicar diretamente uma linguagem de
programação profissional, pode favorecer o aprendizado dos alunos.
O estudo indica também que a utilização de ferramentas para apoiar o ensino de programação é bem
aceita por alunos iniciantes e professores.
156
Conferência IADIS Ibero-Americana Computação Aplicada 2013
REFERÊNCIAS
APOIO INFORMÁTICA. VisuALG. Disponível em:
http://www.cafw.ufsm.br/~bruno/disciplinas/introd_programacao/materiais/visualg/help/objetivos.htm. Acesso em:
17 de junho de 2013.
BIJU, M. Difficulties in understanding object oriented programming concepts. University of Wollongong in Dubai:
Papers, Holanda, pp. 319-326. 2013.
BRUDERER, R. Object oriented framework for teaching introductory programming. 2005. 85 f. Tese (Mestrado em
Ciência da Computação) – Swiss Federal Institute of Technology in Zurich. Zurich, 2005.
DEMUTH, B. et al. A framework-based approach to teaching OOT: aims, implementation, and experience. CiteSeerXi,
Alemanha. 2000. Disponível em: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.4120. Acesso em: 17
de junho de 2013.
HINTERHOLZ, O. Jr. Tepequém: uma nova ferramenta para o ensino de
algoritmos nos cursos superiores em computação, In: XXIX Congresso da Sociedade Brasileira de Computação, 6.
2009, Bento Gonçalves. Anais, Boa Vista: Faculdade Atual da Amazônia, 2009. 485 – 488 p.
KÖLLING, M. The problem of teaching object-oriented programming part 1: languages. Journal of Object-Oriented
Programming, v. 11, nº 8: 8-15, 1999.
MANSO, A.; OLIVEIRA, L.; MARQUES, C. Ambiente de aprendizagem de algoritmos - Portugol IDE. Disponível em:
http://orion.ipt.pt/~manso/papers/2009/Portugol%20Challenges2009.pdf. Software disponível em:
http://www.dei.estt.ipt.pt/portugol/. Acesso em: 17 de junho de 2013.
PREVIDELLI, A. Os 11 melhores cursos de Ciência da Computação do Brasil. Disponível em:
http://guiadoestudante.abril.com.br/blogs/melhores-faculdades/category/ciencia-da-computacao/. Acesso em: 26 de
junho de 2013.
ROCHA, P. et al. Ensino e aprendizagem de programação: análise na aplicação de proposta metodológica baseada no
sistema de ensino personalizado. RENOTE: Revista Novas Tecnologias na Educação, Porto Alegre, v. 8, nº 3, 11 p.
Dezembro de 2010. SANTOS, F. Programação orientada a objetos x Programação estruturada. Disponível em:
http://www.devmedia.com.br/programacao-orientada-a-objetos-x-programacao-estruturada/11747. Acesso em: 17
de junho de 2013.
SHEETZ, S. et al. Exploring the difficulties of learning object-oriented techniques. Disponível em:
www.acis.pamplin.vt.edu/faculty/tegarden/wrk-pap/JMIS-2.PDF. Data de acesso: 17 de junho de 2013.
157
ISBN: 978-972-8939-96-0 © 2013 IADIS
RESUMO
Em conferências, congressos e simpósios existem questões que podem ser tratadas por aplicações que utilizam
dispositivos móveis. Neste contexto, o groupware móvel intitulado Simple Question foi desenvolvido para auxiliar na
elaboração de questionamentos ao longo do evento, utilizando os dispositivos móveis dos participantes. Este artigo tem
como o objetivo avaliar a usabilidade da ferramenta Simple Question utilizando um conjunto de 13 heurísticas. Com base
nestas heurísticas, três especialistas avaliaram a interface em três etapas: (i) exploração do sistema e de seus recursos; (ii)
avaliação da usabilidade; (iii) consolidação dos dados coletados e reflexões. Os resultados demonstram que o conjunto de
heurísticas levantadas foram eficientes, sendo que a maioria dos 11 problemas discutidos estão relacionados ao
gerenciamento de erros, métodos de entrada facilitados, e visualização e leitura dos dados.
PALAVRAS-CHAVE
Groupware Móvel , Avaliação Heurística, Usabilidade.
1. INTRODUÇÃO
A utilização adequada de dispositivos móveis durante palestras aumenta a interação entre público e o
palestrante (Teevan et al., 2012). Student Response Systems, Classroom Student Sytems, Audience Response
Systems, ou Clickers são termos utilizados para definir sistemas que podem ser utilizados durante
apresentações para fornecer um feedback ao palestrante, bem como uma maior iteração entre os participantes
(Rechenthin, Molenda, 2009).
Clickers possibilitam realizar pesquisas rápidas, de forma anônima e seus resultados podem ser utilizados
instantaneamente durante a palestra. De acordo com Esponda (2008) e Scornavacca et al. (2009), dentre os
benefícios da utilização Clickers em salas de aula pode-se citar: aumentam o interesse, a participação, a
compreensão e a discussão entre alunos; melhoram a percepção do professor das dificuldades dos alunos;
promovem um aprendizado mais efetivo; fornecem feedback para o professor; possibilitam maior motivação
dos alunos; e permitem o aprendizado coletivo. Rechenthin e Molenda (2009) mostram que, quando
utilizados corretamente, estes sistemas aumentam o envolvimento dos alunos na sala de aula.
O presente trabalho tem por objetivo avaliar a usabilidade do sistema colaborativo Simple Question a
partir de um grupo de heurísticas selecionadas. A avaliação heurística é um método consolidado e de custo
acessível, que permite identificar de forma rápida possíveis problemas no sistema avaliado (Kimura et al.,
2012). O Simple Question propõe uma nova dinâmica para reuniões presenciais. Entre suas funcionalidades
destacam-se: a elaboração de perguntas a qualquer momento sem interromper o palestrante; a utilização de
dispositivos moveis para elaborar perguntas; o anonimato do autor da pergunta; e a colaboração do publico
para seleção das melhores perguntas.
As próximas seções deste artigo estão organizadas da seguinte maneira: na Seção 2 são apresentados os
trabalhados relacionados com a presente pesquisa. Na Seção 3 é apresentado em detalhes o sistema a ser
avaliado, o Simple Question. A Seção 4 aborda as heurísticas selecionadas para a avaliação do sistema. A
avaliação da usabilidade do sistema Simple Question, realizada a partir das heurísticas, é descrita na Seção 5.
A Seção 6 apresenta os resultados obtidos. Na Seção 7 estão descritas as considerações finais e possíveis
trabalhos futuros.
158
Conferência IADIS Ibero-Americana Computação Aplicada 2013
2. TRABALHOS RELACIONADOS
Alguns trabalhos apresentam ferramentas do tipo Clickers para auxiliar na interação dos participantes em
grupos colocalizados. Dentre estas ferramentas, algumas são destinadas para dipositivos móveis (Lindquist et
al., 2007; Esponda 2008; Scornavacca et al., 2009; Teevam et al., 2012; Furquin et al., 2013), outras foram
desenvolvidas para serem utilizadas em ambiente desktop ou web (Rechenthin e Molenda, 2009).
Rechenthin e Molenda (2009) desenvolveram um Student Response System para a aplicação de
questionários em sala de aula. Cada aluno responde o questionário de forma individual, e ao final, o professor
tem acesso aos resultados.
Teevam et al. (2012) desenvolveram um sistema Clicker que permite ao público repassar o feedback ao
palestrante. O sistema é constituído de três componentes: cliente móvel, que fornece o feedback; visualização
compartilhada, para apresentar o feedback; e widgets desenvolvidos para incluir o palestrante no feedback. O
cliente móvel permite que os usuários forneçam o feedback positivo ou negativo da palestra. O aplicativo é
acessado via navegador web instalado no dispositivo (smartphones, tablets, laptops), através de uma URL.
Os resultados coletados pelos clientes móveis são apresentados diretamente em uma visualização
compartilhada, constituída de uma barra lateral disposta juntamente com a apresentação de slides. Os widgets
foram projetados para lembrar os membros da audiência a fornecer feedback e chamar a atenção quanto
situações interessantes ocorrem (grande quantidade de feedbacks positivos ou negativos, um grande período
de inatividade, grande quantidade de participantes, dentre outros).
Esponda (2008) desenvolveu um sistema intitulado Classroom Response System (CRS’s) para ser
utilizado via navegador de dispositivos móveis (smartphones ou tablets). O sistema permite realizar
perguntas de forma espontânea, no momento em que a pergunta surge (on-the-fly), mas também há a
possibilidade de aplicar questionários pré-elaborados.
Scornavacca et al. (2009) apresentam um sistema denominado de TXT-2-LRN (text-to-learn), que utiliza
mensagens SMS para que os alunos respondam as perguntas levantadas pelo professor durante as aulas. De
acordo com os autores, a utilização do sistema gerou um aumento na qualidade de feedback dos alunos, bem
como melhorou o interesse e a participação dos alunos.
Lindquist et al. (2007) desenvolveram um sistema que permite aos alunos apresentar soluções para os
exercícios propostos, de forma textual ou através de fotos, utilizando-se de seus dispositivos móveis.
Alguns autores desenvolvem modelos ou frameworks para melhorar os aspectos de colaboração em
aplicações móveis. González e Ruggiero (2006) apresentam um modelo conceitual de aprendizagem
colaborativa baseada na execução de projetos. Silva e Rabelo (2012) apresentam um sistema com suporte a
decisão com base em um protocolo de decisão como apoio gerencial.
3. SIMPLE QUESTION
O Simple Question foi desenvolvido para possibilitar a colaboração dos participantes de palestras, na
elaboração de perguntas a partir de dispositivos móveis (Balestrin et al., 2011). Esta ferramenta permite que
as perguntas possam ser realizadas a qualquer momento do evento sem a necessidade de interromper a
palestra e de forma anônima. Ao longo da palestra o público pode escolher de forma colaborativa as
perguntas de maior interesse.
O sistema desenvolvido consiste em duas interfaces principais: a interface móvel utilizada para a
realização das perguntas dos participantes, e a interface do mediador. O mediador será o responsável por ler
as perguntas realizadas pelos participantes e dirigi-las ao palestrante.
Furquin et al. (2013) desenvolveram novas funcionalidades no Simple Question apresentado por Balestrin
et al. (2011): verificação do entendimento da resposta, ou seja, após a pergunta ser respondida pelo
palestrante, pode-se verificar se o público conseguiu entender a resposta; filtragem das perguntas na interface
do mediador, útil em palestras com um grande volume de perguntas; ordenação das perguntas por diferentes
atributos, tais como título, autor e número de votos; e ajuste de visualização, permitindo que a aplicação se
ajuste de uma forma adequada a diferentes resoluções de tela.
159
ISBN: 978-972-8939-96-0 © 2013 IADIS
Para participar da sessão colaborativa, é necessário que os participantes tenham dispositivos móveis com
acesso a rede Wi-Fi e um navegador web instalado. A aplicação possui suporte aos idiomas inglês e
português. Após efetuado o login no sistema é apresentado a tela com as respectivas perguntas da sessão
atual, conforme a Figura 1(a).
A partir da tela apresentada na Figura 1(a), o usuário tem a possibilidade de adicionar uma nova pergunta
bem como visualizar ou apoiar uma pergunta já existente. O processo para adicionar uma nova pergunta é
apresentado na Figura 1(b). Caso o usuário queira visualizar as informações de uma pergunta, ele deverá
selecioná-la na listagem da Figura 1(a), fazendo que esta seja exibida na tela como apresentado na Figura
1(c). Nesta tela o usuário tem a possibilidade de apoiar a pergunta, o que permite verificar, ao longo das
atividades, quais são as perguntas de maior interesse do público.
O Simple Question permite que os participantes avaliem as respostas dadas às perguntas, como
apresentado na Figura 1(d). Estes dados são convertidos em estatísticas e podem ser utilizados para avaliar o
desempenho do palestrante.
Figura 1. a) Apresentação das perguntas realizadas; b) Tela para realizar uma nova pergunta; c) Tela para visualizar e
apoiar uma pergunta realizada; d) Tela para a avaliação do entendimento da resposta.
A colaboração no sistema Simple Question se dá pelo fato dos participantes poderem votarem nas
perguntas dos outros durante a palestra. Os participantes podem apoiar uns aos outros, fazendo com que a
pergunta fique em uma colocação melhor na interface do mediador, tendendo a ser respondida. Outro fator
que envolve a colaboração é o feedback dos participantes com relação a resposta dada pelo palestrante. Cada
participante pode, individualmente, votar se a pergunta foi bem respondida ou não, permitindo que todos os
participantes da palestra tenham um feedback sobre a qualidade de sua resposta.
Para organizar e acompanhar o andamento da reunião, bem como dirigir as perguntas elaboradas pelos
participantes ao palestrante, foi desenvolvida a interface do mediador. A Figura 2 apresenta a tela principal
dessa interface. Como a interface foi desenvolvida para o ambiente web, é possível acessá-la através de
computadores fixos ou móveis. A partir desta interface, o mediador pode criar, editar, abrir, salvar e fechar as
sessões de perguntas. As perguntas realizadas são exibidas na interface do medidor em ordem decrescente de
apoios. Assim sendo, as perguntas mais relevantes na opinião dos participantes serão visualizadas primeiro.
160
Conferência IADIS Ibero-Americana Computação Aplicada 2013
4. AVALIAÇÃO HEURÍSTICA
A avaliação heurística é um método de inspeção de usabilidade em que a avaliação é realizada com base em
um conjunto de heurísticas, e que descrevem características desejáveis na interação, orientando os
avaliadores a inspecionar a interface em busca de problemas que prejudiquem a usabilidade (Nielsen, Mack,
1994).
Realizar uma avaliação heurística consiste basicamente em analisar a interface para relatar problemas
que, segundo a opinião dos avaliadores, não estejam de acordo com princípios de usabilidade. Nesse método,
os especialistas examinam o sistema e fazem um diagnóstico dos problemas e das barreiras que os usuários
provavelmente encontrarão durante a interação (Barbosa e Silva, 2010). Recomenda-se de três a cinco
avaliadores para a avaliação. Este método é consideravelmente rápido e apresenta um custo inferior em
relação a outros métodos de avaliação (e.g. experimentos/intervenções com usuários).
O conjunto de heurísticas proposto por Nielsen permite aos avaliadores analisar e avaliar a interface a
procura de problemas de usabilidade (Nielsen e Mack, 1994). Contudo, este conjunto de heurísticas foi
concebido para aplicações convencionais e está preocupado apenas com as questões de interação entre
usuário-sistema. Os aspectos de colaboração, essenciais em um sistema groupware, não são contemplados
por este conjunto. Baker et al. (2001) relatam que a avaliação de groupwares é mais difícil do que sistemas
convencionais, pois as metodologias de avaliação de usabilidade nem sempre possibilitam descobrir
problemas específicos do trabalho em grupo.
Baker et al. (2001) definiram um conjunto de heurísticas para avaliar a colaboração em sistemas
groupware, e foram baseadas em heurísticas convencionais (i.e. heurísticas de Nielsen). Apesar de estas
heurísticas não serem específicas para dispositivos móveis, elas apresentam questões importantes que devem
ser atendidas em qualquer groupware a fim de facilitar a colaboração.
Bertini et al. (2009) definiram um conjunto de heurísticas para avaliar aplicações especificamente
desenvolvidas para dispositivos móveis. Este conjunto de heurísticas também foi baseado nas heurísticas de
avaliação convencional, com as heurísticas de Nielsen e Mack (1994).
Para a avaliação apresentada neste trabalho, serão utilizados aspectos importantes com relação a
colaboração encontrados nos três conjuntos de heurísticas apresentados anteriormente (Nielsen e Mack,1994;
Baker et al., 2001; Bertini et al., 2009). Os três conjuntos mostram-se complementares para a avaliação de
groupwares móveis, pois as heurísticas apresentadas por Nielsen e Mack (1994) avaliam a usabilidade de
sistemas de propósito geral, as heurísticas apresentadas por Baker et al. (2001) avaliariam as questões
referentes à colaboração, e as heurísticas apresentadas por Bertini et al. (2009) avaliam as questões referentes
aos dispositivos móveis. Neste trabalho foram adotadas as seguintes heurísticas:
H1 - Visibilidade do estado do sistema: o sistema deve fornecer feedback adequado aos usuários dentro
de um tempo razoável. Através do dispositivo móvel o sistema deve manter o usuário informado sobre o que
está ocorrendo. Além disso, o sistema deve priorizar mensagens a respeito de informações críticas e de
contexto, como status da rede, bateria e condições do ambiente (Nielsen e Mack, 1994; Bertini et al., 2009).
H2 - Compatibilidade do sistema com o mundo real: o sistema deve usar termos familiares ao usuário
ao invés de termos orientados ao software. Devem ser seguidas convenções do mundo real de modo que as
informações apareçam numa ordem sequencial e lógica (Nielsen e Mack, 1994; Bertini et al., 2009). As
informações devem ser apresentadas de forma natural e em uma ordem lógica, e sempre que possível o
sistema deve ter a capacidade de perceber as mudanças no ambiente e adaptar-se a ele (sistemas conhecidos
como context-aware systems).
H3 - Consistência e mapeamento: um usuário não deve adivinhar que diferentes palavras, situações ou
ações significam a mesma coisa. O modelo conceitual de interação do usuário com o sistema deve estar de
acordo com o contexto. O mapeamento entre as ações e interações do usuário (e.g. controles de navegação) e
a tarefa real correspondente (e.g. navegação no mundo real) deve ser consistente (Nielsen e Mack, 1994;
Bertini et al., 2009).
H4 - Reconhecimento ao invés de memorização: tornar objetos, ações e opções visíveis. O usuário não
deve ter que lembrar uma informação de uma parte para outra do diálogo. Instruções devem estar visíveis ou
ser de fácil recuperação quando necessárias (Nielsen e Mack, 1994).
H5 - Flexibilidade e eficiência de uso: prover meios para usuários experientes acelerarem a interação e
de apoiar usuários novatos. Permitir que os usuários personalizem ações frequentes, bem como configurem o
sistema de acordo com a necessidade do contexto (Nielsen e Mack, 1994; Bertini et al., 2009).
161
ISBN: 978-972-8939-96-0 © 2013 IADIS
H6 – Design estético e minimalista: diálogos não devem conter informações irrelevantes ou raramente
necessárias. Exibir apenas as informações que sejam importantes e necessárias. Os recursos de tela são
propriedades escassas e devem ser utilizadas com sabedoria (Nielsen e Mack, 1994; Bertini et al., 2009).
H7 - Gerenciamento de erros: mensagens de erro devem ser expressas com linguagem clara indicando o
problema e construtivamente sugerindo uma solução. Proteger os usuários dos erros que podem ocorrer.
Auxiliar o usuário a reconhecer, diagnosticar e se possível recuperar-se do erro ocorrido (Nielsen e Mack,
1994; Bertini et al., 2009).
H8 - Facilidade de entrada, visualização, e leitura da tela: dispositivos móveis devem fornecer meios
facilitados para entrada de dados, os dados apresentados na tela devem ser fáceis de serem lidos e navegados.
É ideal apresentar apenas informações cruciais sobre o sistema (Bertini et al., 2009).
H9 - Convenções estéticas, sociais e privativas: Levar em consideração aspectos estéticos e emocionais
a serem apresentados nos dispositivos móveis. Deixar claro que as informações do usuário estão seguras
(Bertini et al., 2009).
H10 - Fornecer comunicação de artefatos compartilhados (i.e. feedthrough): uma importante
necessidade de um groupware é disponibilizar informações sobre as ações dos outros usuários, reconhecer o
que os outros estão fazendo com os artefatos compartilhados (Baker et al., 2001).
H11 - Fornecer proteção: Em workspaces compartilhados o acesso simultâneo a um mesmo conjunto de
artefatos pode ocasionar conflitos. Em alguns casos, as ações de um usuário podem vir a interferir nas
atividades dos demais, e assim sendo, o sistema deve disponibilizar mecanismos para que estes conflitos não
ocorram (Baker et al., 2001).
H12 - Gerenciamento de colaboração de baixo e alto acoplamento: o acoplamento é o grau que as
pessoas trabalham em conjunto, e representa a quantidade de trabalho que uma pessoa pode realizar antes de
precisar discutir, consultar ou pedir uma informação para outra pessoa (Baker et al., 2001).
H13 - Permitir que as pessoas coordenem suas ações: um dos problemas encontrados ao longo da
colaboração face a face é como o grupo media suas interações. Ações de coordenação envolvem realizar as
tarefas na ordem certa, no momento certo, sem ignorar as restrições impostas (Baker et al., 2001).
Para cada problema encontrado segundo as heurísticas apresentadas, deve-se associar a uma gravidade,
que é baseada na combinação de três fatores (Kimura et al., 2012): i) A frequência com que ele ocorre (i.e. se
é comum ou raro); ii) O impacto do problema quando ele ocorre (i.e. se é fácil ou difícil para o usuário
superá-lo); iii) A persistência do problema (i.e. problema que ocorre uma única vez e que o usuário pode
superar, ou se os usuários serão repetidamente incomodados por ele).
Esses fatores influenciam os níveis de gravidade utilizados na avaliação, que podem ser classificados
como (Nielsen, Mack, 1994): 0) Não é encarado como um problema; 1) Problema estético que não tem
necessidade de ser corrigido; 2) Problema pequeno com baixa prioridade na correção; 3)Problema grande,
com alta prioridade de correção; 4) Problema catastrófico, onde é indispensável sua correção.
162
Conferência IADIS Ibero-Americana Computação Aplicada 2013
6. RESULTADOS
A avaliação heurística encontrou 11 problemas de usabilidade, sendo que cada um dos avaliadores encontrou
um conjunto diferente de problemas. A Figura 3 apresenta a distribuição dos problemas encontrados para
cada um dos avaliadores.
A distribuição dos problemas encontrados, conforme apresentado na Tabela 1, indica que os principais
problemas do Simple Question estão relacionados aos aspectos do gerenciamento de erros (H7) e facilidade
de entrada, visualização e leitura das informações (H8).
Não foi encontrado nenhum problema com baixa gravidade de correção (gravidade 1), ou que seja
considerado uma catástrofe de usabilidade (gravidade 4). Outro aspecto que pode ser observado, é que para
as heurísticas H4, H9, H10, H11, e H13, não foi encontrado nenhum problema de usabilidade, o que
demonstra que o aplicativo Simple Question está de acordo com o defendido por estas heurísticas.
163
ISBN: 978-972-8939-96-0 © 2013 IADIS
Problema 3: Falta de feedback ao usuário quanto à situação do sistema e as ações efetuadas por ele (e.g.
que perguntas fez, quais apoiou, quais avaliou). O usuário descobre com o uso que as perguntas apoiadas por
ele ficam na cor verde. O problema viola a H1 e a H3 e também é classificado como uma gravidade de grau
3. Como solução, aconselha-se a definição de uma legenda indicando o significado das cores e ícones, para
que fique claro ao usuário o status do sistema.
Problema 4: Confusão ao identificar a pergunta avaliada, pois independentemente se o usuário entendeu
ou não a resposta para a pergunta é apresentado na interface o mesmo ícone, indicando apenas que foi
avaliada (e.g. aparece o ícone para a pergunta avaliada, ainda que a resposta não tenha sido
compreendida). O problema também viola H1 e H3 e é classificado com gravidade de grau 3. Como solução
sugere-se definir ícones ou cores diferentes para pergunta entendida e não entendida, por exemplo:
positivo/verde – para entendida; e negativo/vermelho – para não entendida.
Problema 5: Permite ao usuário iniciar uma ação bloqueada, confundindo a lógica do processo (e.g. ao
clicar numa pergunta já apoiada, não é bloqueado o botão de apoio. O sistema informa o usuário que a
pergunta já foi apoiada por ele, apenas após ele tentar apoiar novamente). Esse problema viola H2 e é
classificado como gravidade de grau 2. Como solução indica-se que além da legenda de cores já comentada,
seja bloqueado o botão de apoio, já que a ação não pode mais ser executada pelo participante.
Problema 6: Perda da configuração escolhida pelo usuário (e.g. ao mudar a ordenação das perguntas e
então navegar dentro delas, ao voltar no contexto inicial a ordenação se perde, limitando a alteração da
aparência do sistema). Esse problema viola H5 e possui grau de gravidade 2. Como solução aconselha-se
manter a ordenação escolhida pelo usuário ao voltar no contexto inicial após a navegação.
Problema 7: Tratamento de erro inadequado e perda da entrada de dados do usuário (e.g. quando o
usuário utiliza um título já existente para a pergunta, o sistema trata o erro porém perde a pergunta digitada).
O problema viola H7 e H8 e é classificado como gravidade de grau 3. Como solução recomenda-se manter a
pergunta digitada, editando apenas o campo título para que seja substituído.
Problema 8: Falta de paginação nas perguntas (e.g. não há como paginar as perguntas com opção para
voltar a uma página anterior, ir para a próxima página). Esse problema viola H8 e também é classificado
como gravidade de grau 3. A solução para ele é fazer a paginação e permitir a navegação nas diferentes
páginas das perguntas.
Problema 9: A atualização das informações (e.g. lista de perguntas, participantes, número de apoios)
deve ser realizada de modo manual. Caso o usuário não faça constantemente a atualização da aplicação, sua
interação ficará prejudicada, pois não terá acesso a novas perguntas. O problema viola H8 e é classificado
como gravidade de grau 2. Para solução sugere-se fazer a atualização dos dados automaticamente, para
manter a integridade do ambiente visualizado pelo usuário.
Problema 10: Falta de mecanismo de busca para as perguntas (e.g. não permite ao usuário buscar
perguntas já realizadas por título ou palavra). Desta forma o usuário não visualiza se uma determinada
pergunta já foi feita, prejudicando a colaboração. O problema viola H12 e é classificado com gravidade de
grau 3. Como solução é recomenda-se permitir buscar perguntas por título ou palavras.
Problema 11: Não há separação entre as perguntas já respondidas e as ainda não respondidas (e.g. as
perguntas ficam ordenadas conforme configuração definida e não há separação para as perguntas já
respondidas/não respondidas). O problema viola H6 e é classificado como gravidade de grau 2. Como
solução é sugerida a definição de locais separados para as perguntas respondidas e não respondidas
melhorando o design estético da aplicação.
7. CONCLUSÃO
Este trabalho apresenta um conjunto de 13 heurísticas elaboradas para avaliar a usabilidade de aplicações
colaborativas móveis. Estas heurísticas foram elaboradas com base em três conjuntos de heurísticas presentes
na literatura: as heurísticas de Nielsen para avaliar a usabilidade de aplicações convencionais, ou seja, avaliar
os aspectos da interação humano-computador (Nielsen e Mack,1994); as heurísticas de Baker desenvolvidas
para avaliar os aspectos de colaboração (Baker et al., 2001); e as heurísticas de Bertini desenvolvidas para
avaliar a usabilidade de aplicações móveis (Bertini et al., 2009).
164
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Com o conjunto de heurísticas levantadas neste trabalho, foi possível avaliar a usabilidade e a eficiência
de um sistema colaborativo para dispositivos móveis, denominado Simple Question. Percebe-se que dentre as
13 heurísticas levantadas, algumas não encontraram problemas de usabilidade na interface (H4, H9, H10,
H11 e H13), o que indica que o sistema avaliado está em conformidade com o defendido por estas
heurísticas. Conforme apresentado, 6 dos 11 problemas levantados estão relacionados ao gerenciamento de
erros (H7), facilidade de entrada, leitura e visualização das informações (H8), o que indica que a aplicação
precisa melhorar sua interface em relação a esses aspectos.
Com base na avaliação realizada, sugere-se que as heurísticas levantadas sejam aplicáveis para avaliar
outros groupwares móveis. Os requisitos analisados no sistema Simple Question atendem várias heurísticas
abordadas. Contudo, algumas heurísticas não foram atendidas, mostrando que há detalhes a serem
melhorados no sistema em questão.
REFERÊNCIAS
Baker, K. et al., 2001. Heuristic Evaluation of Groupware Based on the Mechanics of Collaboration. Proceedings of the
8th IFIP Working Conference on Engineering for Human-Computer Interaction. Toronto, Canada. pp. 123-139.
Balestrin, G. et al., 2011. Uma Ferramenta de Colaboração Móvel para Auxiliar a Interção em Palestras Presenciais.
Proceedings of XI Brazilian Symposium on Collaborative Systems, Paraty, RJ.
Barbosa, S.D.J. and Silva B.S., 2010. Interação Humano-Computador. Editora Campus.
Bertini, E. et al., 2009. Appropriating Heuristic Evaluation for Mobile Computing. International Journal of Mobile
Computer Interaction.
Esponda M. 2008. Electronic voting on-the-fly with mobile devices. In ACM SIGCSE Bulletin.Vol. 40, No. 3, pp. 93-97.
Furquin, A. et al., 2013. Simple Question: Uma Extensão da Ferramenta de Colaboração Móvel para tornar
Apresentações mais Efetivas. Proceedings of VI SULCOMP. Criciúma, SC.
González, L.A.G. and Ruggiero, W.V. 2006. Modelo Aprendiz para atividades colaborativas de projeto em Sistemas de
Aprendizagem Eletrônico. Revista IEEE América Latina. Vol. 4, pp. 283-288.
Kinura, M.H. et al., 2012. Avaliação de usabilidade das funcionalidades assíncronas de privacidade do Facebook.
Proceedings of IV WAIHCWS - Workshop on Aspects of Human-Computer Interaction for the Social Web.
Lidquist, D. et al, 2007. Exploring the Potential of Mobile Phones for Active Learning in the Classroom. In ACM
SIGCSE Bulletin 39.1. pp. 384-388.
Nielsen, J. and Mack R.L., 1994. Usability inspection methods. John Wiley & Sons, Inc.
Rechenthin, M. and Molenda, P. 2009. Student Response Systems. Loyola University Chicago, Chicago.
Scornavacca, E. et al. 2009. Mobile phones in the classroom: if you can't beat them, join them. Communications of the
ACM. Vol. 52, No. 4, pp. 142-146.
Teevan, J. et al., 2012. Displaying Mobile feedback during a Presentation. In Proceedings of the 14th international
conference on Human-computer interaction with mobile devices and services. pp. 379-382.
Silva, M.V.D. and Rabello, R.J., 2012) A semi-automated distributed decision support system virtual enterprises. IEEE
Latin America Transactions, Vol. 10, No. 1, pp. 1235-1242.
165
ISBN: 978-972-8939-96-0 © 2013 IADIS
Joéver Silva Hoffman1, Isaac S. A. Pereira1, Sérgio Teixeira1,2,3, Janaína Scal Duia Castello1,
José Gonçalves Pereira Filho1 e Patricia Dockhorn Costa1
1
Universidade Federal do Espírito Santo (UFES), Vitória, ES, Brasil
2
Universidade Católica de Brasília (UCB), Brasília, DF, Brasil
3
Faculdade Católica Salesiana do Espírito Santo (FCSES), Vitória, ES, Brasil
RESUMO
Aplicações sensíveis ao contexto são uma categoria emergente de sistemas computacionais que utilizam informações
contextuais como meio de enriquecer a interação humano-computador. Essas aplicações se caracterizam por adaptar o seu
comportamento de acordo com a situação do usuário e do ambiente físico que o cerca. Redes de Sensores sem Fio
(RSSF) são consideradas importantes fontes de contexto. No entanto, falhas nos nós sensores decorrentes de problemas
nas plataformas de hardware e de características particulares dos ambientes em que as RSSF são instaladas, impõem uma
série de desafios quanto à gestão eficiente da informação de contexto, por exemplo, a necessidade de tratamento de
eventuais imperfeições nos dados coletados. Parâmetros de Qualidade de Contexto (QoC – Quality of Context) podem ser
usados para resolver conflitos que surgem na tomada de decisão baseada em informações contextuais imperfeitas. Este
trabalho propõe um serviço de gerenciamento de qualidade de contexto em redes de sensores sem fio que fornece
facilidades para análise, processamento e entrega de dados de QoC às aplicações sensíveis ao contexto.
PALAVRAS-CHAVE
Redes de Sensores sem Fio; Aplicações Sensíveis ao Contexto, Qualidade de Contexto
1. INTRODUÇÃO
O conceito de Computação Pervasiva, sugerido por Weiser (1991), vislumbra inteligência computacional
permeando o cotidiano das pessoas. No cenário vislumbrado por Weiser, uma grande variedade de dispositivos
com inteligência embarcada alimentam aplicações e serviços que suportam, de forma orgânica, as atividades
rotineiras das pessoas. Avanços recentes nas áreas de comunicação móvel e sem fio, microeletromecânica,
tecnologias de sensores e sistemas embarcados (Yick et al. 2008) têm contribuído para a concretização da
proposta de Weiser, ao permitir a construção e a disponibilização, cada vez mais corriqueira, de diversos tipos
de novos “objetos inteligentes” (smart objects).
As Redes de Sensores sem Fio (RSSF) são um exemplo de infraestrutura de comunicação inteligente
formada a partir de um certo arranjo topológico de objetos ou nós sensores com inteligência embarcada. Com
base em dados fonecidos por uma RSSF é possível adaptar pró-ativamente o comportamento das aplicações e
serviços de acordo com a situação e necessidades dos usuários. Tal capacidade é conhecida como
“sensibilidade ao contexto” (context-awareness). Nesse caso, contexto é entendido como qualquer informação
que caracterize a situação de uma pessoa, lugar ou objeto relevante para a aplicação. (Dey, 1999; Costa, 2007).
De acordo com (Henricksen & Indulska, 2004), as aplicações sensíveis ao contexto geralmente assumem
que a informação contextual é completa e acurada; entretanto, como resultado de ruídos, falhas nos sensores e
outros fatores, os dados sensoriados podem estar sujeitos a erros. Diante disso, um desafio na construção de
serviços e aplicações sensíveis ao contexto é saber como lidar com contextos imperfeitos, visto que eles
podem ocasionar comportamentos inadequados das aplicações.
Parâmetros de “Qualidade de Contexto” (QoC – Quality of Context) podem ser usados para medir a
qualidade da informação e resolver conflitos que surgem na manipulação de informações contextuais.
(Buchholz et al., 2003), (Manzoor et al., 2008) e (Neisse et al., 2008) sugerem um conjunto de métricas de
qualidade relevantes no escopo das aplicações sensíveis ao contexto, as quais podem ser usadas como
166
Conferência IADIS Ibero-Americana Computação Aplicada 2013
2. TRABALHOS RELACIONADOS
A investigação sobre a natureza imperfeita da informação contextual, a proposição de métricas de qualidade de
contexto e as arquiteturas de suporte à manipulação de QoC já podem ser vistas nos trabalhos de (Dey et al.,
2000; Buchholz et al., 2003; Schmidt, 2004). Desde a introdução do termo Quality of Context (QoC),
atribuída a (Buchholz et al., 2003), uma série de trabalhos sugerindo diferentes parâmetros de QoC foram
propostos na literatura. Devido à ausência de padronização dos indicadores de qualidade, vários trabalhos
posteriores, tais como (Manzoor et al., 2008; Krause & Hochstatter, 2005; Bu, 2006), exploraram a definição
de novas métricas e processos de avaliação de QoC.
De acordo com (Buchholz et al., 2003; Krause & Hochstatter, 2005; Manzoor et al., 2008), são métricas
importantes de avaliação da QoC: (i) Precision – conformidade do dado informado com a realidade, (ii)
Trustworthiness – probabilidade da informação estar correta; (iii) Resolution – refere-se à granularidade da
informação; e (iv) Up-to-dateness (que em alguns trabalhos é citada como Freshness) – o quão recente é a
informação recebida. Outros trabalhos, como (Gray & Salber, 2011; Toninelli, 2009), sugerem parâmetros
como: Coverage, relevance e completeness. (Neisse et al., 2008) propõe um conjunto de métricas (Accuracy,
Precision, Temporal Resolution) alinhadas com definições de qualidade do vocabulário da International
Organization for Standardization (ISO).
Em um linha de pesquisa paralela, na qual o presente trabalho se inclui, arquiteturas de avaliação de QoC
são investigadas, geralmente propostas como uma camada entre aplicações e as fontes de dados das quais
dependem. Exemplos desta abordagem são os trabalhos de (Abid, 2009; Manzoor, 2010; Filho et al., 2010) e
mais recentemente de (Zheng et al. 2012), que descrevem a integração de QoC a frameworks e sistemas de
middleware provedores de contexto. Estes trabalhos propõem o uso de middleware para o desacoplamento
entre as aplicações e a heterogeneidade dos sensores de contexto e o uso dos mesmos para aferir qualidade de
contexto. (Abid, 2009) realiza a integração de QoC a um framework provedor de contexto já existente
(COSMOS). Essa abordagem permite a comunicação de QoC como metadado na entrega de pacotes de dados
contextuais ou separadamente, além de permitir a fácil extensão do serviço com novas métricas de QoC. Em
(Manzoor, 2010) é apresentada uma arquitetura centrada em serviço para inferir o valor de informações de
contexto, agregando métricas de QoC de acordo com requisitos de um dado serviço consumidor de contexto.
(Filho et al., 2010) e (Zheng et al. 2012), apresentam arquiteturas com composições similares. Ambos
apresentam as camadas de coleta ou obtenção de contexto, avaliação de qualidade e entrega de dados como
elementos-chave da arquitetura. Ainda, (Zheng et al. 2012), apresenta os chamados planos de configuração de
qualidade como uma forma de usuários (consumidores de contexto) ajustarem particularidades da avaliação de
QoC para si.
Este trabalho lança mão de uma arquitetura semelhante a (Filho et al., 2010) e (Zheng et al. 2012). No
entanto, como diferencial, há um esforço para tornar a arquitetura mais centrada nos usuários do serviço, com
uma interface rica e intuitiva. Nossa arquitetura permite, por meio de um front-end, (i) a configuração das
métricas e pesos relativos aos clientes de contexto (semelhante aos planos de configuração de qualidade de
167
ISBN: 978-972-8939-96-0 © 2013 IADIS
Zheng), (ii) o monitoramento do processo de avaliação de QoC (estatísticas e gráficos) e (iii) a simulação de
um ambiente de RSSF, que facilita o ajuste do serviço para entrega de contexto de melhor qualidade por
usuários não-desenvolvedores, mas especialistas do domínio do problema.
3. CENÁRIO DE APLICAÇÃO
A poluição do ar está se tornando uma problema cada vez mais preocupante nas grandes cidades, com
consequências sérias para a saúde das populações urbanas e impacto direto na rede hospitalar devido ao
aumento do número de pacientes, principalmente crianças e idosos. Uma das causas que podem ser apontadas
é o rápido aumento da frota de veículos que, aliado ao crescimento desordenado das grandes cidades, tem
diminuído a qualidade do ar que respiramos. De acordo com pesquisa realizada pela Organização Mundial de
Saúde (OMS), no período de 2006 a 2009, respirar o ar da capital do Estado de São Paulo, por exemplo,
equivale a fumar dois cigarros por dia. Outra pesquisa realizada pela Universidade de São Paulo (USP) em
parceria com a Secretaria Estadual de Saúde (SESA) e o Instituto Estadual de Meio Ambiente (IEMA) do
estado do Espirito Santo, apontou um aumento de 19% nas internações de adultos em dias mais poluídos na
Grande Vitória.
De modo geral, as soluções de monitoramento de ar existentes são de alto custo e de baixa granularidade,
pois as medidas são limitadas aos locais de presença das estações. Por exemplo, em uma região metropolitana
como a da Grande Vitória, existem apenas nove estações de monitoramento em operação na Rede Automática
de Monitoramento da Qualidade do Ar (RAMQAr) do IEMA. Essas questões prejudicam uma avaliação mais
eficaz da qualidade do ar das metrópoles pois os resultados são sensíveis a arbitrariedade do posicionamento
das estações (IEMA, 2013).
Uma alternativa barata frente aos elevados custos e complexidade das atuais redes de monitoramento da
qualidade do ar é o Air Quality Egg (AQE) (Air Quality Egg, 2013), um projeto que propõe a criação de uma
comunidade aberta de monitoramento da qualidade do ar de forma cooperativa (crowdsourcing). O projeto, de
código aberto, engloba o hardware e software do sensor e o compartilhamento dos dados com as medidas
atmosféricas como temperatura, umidade e de poluentes, realizadas pelos sensores que ficam disponíveis na
infraestrutura de sensor-cloud que também faz parte do projeto AQE.
Os sensores AQE são capazes de monitorar temperatura, humidade, índices de Monóxido de Carbono
(CO), Dióxido de Nitrogênio (NO2), Material Particulado (PTS), Partículas Inaláveis com diâmetro inferiores a
dez microns (PM10), Dióxido de Enxofre (SO2), Óxidos de Nitrogênio (NOx), Hidrocarboneto (HC), Ozônio
(O3) e outros componentes. Esses são alguns dos poluentes que devem ser monitorados para analisar a
qualidade do ar das cidades (Air Quality Egg, 2013).
As pequenas dimensões e o baixo custo de dispositivos de sensoriamento similares ao AQE, fazem deles
uma solução com potencial de alta granularidade, permitindo levar o serviço de monitoramento da qualidade
do ar para qualquer local da cidade, ampliando consideravelmente a cobertura do serviço. Existem, entretanto,
questões importantes que devem ser consideradas ao se optar por uma solução de mais baixo custo baseada em
uma rede de sensores. Uma dessas questões é a necessidade de tratamento das eventuais imperfeições dos
dados coletados. Uma solução de gerencimento de QoC, como a proposta neste trabalho, poderia ser integrada
ao ambiente de monitoramento, provendo às aplicações clientes um conjunto de métricas que permitem medir
a qualidade da informação contextual sendo adquirida pelos nós da rede. Além disso, as leituras podem ser
salvas em banco de dados para acesso e processamento posterior.
4. ABORDAGEM PROPOSTA
Como discutido anteriormente, indicadores de QoC podem tornar as aplicações cientes da qualidade dos dados
manipulados para que os utilizem da melhor forma na tomada de decisão. Apesar da reconhecida demanda de
qualidade de contexto, deixar a implementação de avaliação de QoC à cargo das aplicações constitui um
modelo pouco eficaz devido a fatores como o overhead de processamento de QoC sobre a aplicação e o não
compartilhamento de dados de QoC entre aplicações interessadas num mesmo contexto. Desta forma, o
tratamento de qualidade de contexto é geralmente abordado numa camada intermediária entre as aplicações e
as fontes contextuais de interesse.
168
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Baseada nessas premissas, nossa abordagem divide-se em três etapas: (i) a definição de modelo de métricas
de QoC; (ii) proposta de arquitetura conceitual da camada de gerência de QoC com base no modelo
formalizado e (iii) a realização da mesma como um serviço aplicado no cenário de monitoramento de ar
proposto na Seção 3.
169
ISBN: 978-972-8939-96-0 © 2013 IADIS
Coverage
Up to dateness
Frequency
Accuracy
Significance
QoC Geral
O cálculo do QoC Geral (QoC(di)), como apresentado na Tabela 1, depende da parametrização de pesos
relativos à cada métrica. pC(C), pU(C), pA(C) são exemplos de funções que retornam os pesos das métricas
coverage, up-to-dateness e accuracy, para um tipo de contexto C, respectivamente.
170
Conferência IADIS Ibero-Americana Computação Aplicada 2013
fonte – no caso, um gateway de uma rede de sensores sem fio; (ii) a aplicação sensível ao contexto destino ou
cliente; (iii) o tipo de dado sensoriado, e.g., temperatura, umidade, etc; e (iv) a parametrização dos requisitos
de QoC, e.g., definição das situações em que esse contexto é considerado significante, intervalos de valores
aceitáveis, definição dos pesos de cada métrica, etc. Todas as etapas do processo, desde a aquisição até a
distribuição, dependem das configurações dos tipos de contexto.
O componente Adaptador de Contexto é responsável por receber os dados das fontes de contexto
cadastradas, classificá-los por tipo de contexto, e instanciá-los na forma de uma entidade dado de contexto (d)
e encaminhá-los ao módulo avaliador. Um entidade dado de contexto possui um tipo de contexto, um valor
escalar e um timestamp de geração, que é a data e hora em que o contexto foi coletado.
O componente Avaliação de QoC recebe os dados de contexto (d), realiza o tratamento com base nas
parametrizações do respectivo tipo de contexto, gera e agrega um timestamp de avaliação e medidas de QoC
repassando-os ao componente de distribuição de contexto, em uma abordagem tipicamente publish-subscribe
(Eugster, 2001). Este componente, por sua vez, pode operar em dois modos: on-line ou off-line. No modo on-
line, a distribuição é realizada em tempo real, entregando dados de contexto e QoC agregado proativamente à
respectiva aplicação. No modo off-line, a aplicação realiza uma requisição ao serviço, especificando uma
janela de tempo ou quantidade máxima de dados contextuais que devem ser entregues, o serviço por sua fez
realiza uma consulta na base de dados histórica e entrega o seu resultado a aplicação solicitante no mesmo
formato que o módulo on-line faz, ou seja, dado de contexto com as medidas de QoC geradas.
Além desses quatro módulos, a figura 1 mostra um componente chamado de simulador. Esse componente
foi criado para avaliar e simular a utilização do serviço proposto em um ambiente controlado, onde poderam
ser incluídos com facilidade vários tipos de dados em várias redes de sensores. O simulador foi incluído na
arquitetura, no entanto ele não é um módulo essencial para o funcionamento do serviço.
171
ISBN: 978-972-8939-96-0 © 2013 IADIS
O Context Adapter lida com a construção de instâncias de CtxData – objeto que representa uma unidade
de dado de contexto – provenientes de uma fonte de contexto, por exemplo, um gateway de uma RSSF.
Nossa implementação oferece um componente de simulação, o Context Generator, que age como um
facilitador do processo de desenvolvimento e validação da solução. Com base no CtxType configurado, ele é
capaz de simular uma RSSF geradora de contexto, aplicando deficiências de qualidade, e.g., adição de ruídos,
durante sua geração.
Uma vez instanciado, um objeto CtxData é encaminhado ao módulo Context Evaluator (interação 3),
composto por dois sub-componentes: QoCEvalManager (QEM) e CtxEval. O QEM gerencia um pool de
threads CtxEval (interação 4), que por sua vez implementam as funções de QoC apresentadas na Seção 4.1 e
as aplicam às instâncias CtxData de um CtxType específico. Quando recebe um novo CtxData, o QEM
verifica a existência de um CtxEval responsável pelo respectivo CtxType, caso exista, o dado é entregue, caso
contrário, é criado um novo CtxEval para iniciar o processamento desse tipo. Esse sub-componente também
instancia um CtxEval ao detectar que algum tipo de contexto recebido não foi processado pelo serviço
imediatamente.
A Tabela 4 apresenta um trecho da execução do Context Generator para a simulação do cenário de
monitoramento de qualidade do ar. Nesta tabela pode-se observar o CtxData e QoCData resultantes do
processamento do contexto PM10@RSSF 1, que representa a concentração (g/m3) da partícula PM10 aferida por
uma determinada rede de sensores.
Tabela 4. CtxData e QoCData para PM10.
CtxData QoCData
Context Source Final Generation Arrival
C U A F S QoC
Type Value Value Time Time
PM10 @RSSF 1 20.6 20.6 20:58:01 20:58:02 1 1 1 1 0 0.8
PM10 @RSSF 1 21.06 21.06 21:02:05 21:02:07 1 1 1 1 0 0.8
PM10 @RSSF 1 50.24 21.06 21:10:09 21:10:12 1 1 0 1 0 0.6
PM10 @RSSF 1 20.72 20.72 21:13:13 21:13:15 1 1 1 1 0 0.8
PM10 @RSSF 1 20.87 20.87 21:17:17 21:17:19 1 1 1 1 0 0.8
não apresenta coerência com as leituras posteriores, que retornam a valores próximos de 20 g/m3.
relação a L3, o SGQoC não consideraria um erro e o transmitiria à aplicação cliente, no entanto, L3 também
A Figura 3 ilustra o front-end do serviço durante a execução da simulação, com o tratamento por correção
sendo aplicado ao longo do processo, e seu impacto nos dados destinados às aplicações. Pode-se ver que a
simulação gerou picos de aproximadamente 50 g/m3 em um sinal de entrada, cujo valor médio é 20 g/m3,
enquanto a saída foi ajustada conforme a configuração de QoC definida pela aplicação (repetir medição
anterior).
172
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Figura 3. Comparação entre entrada de dados com ruído e saída com correção
Com os processos de avaliação de QoC e eventual tratamento do dado, CtxData e seu respectivo QocData
são armazenados no banco de dados do serviço (interação 5), os quais podem ser posteriormente utilizados
pelas aplicações. Na implementação atual, a interação 6 é feita por meio de um componente de integração que
deve estar presente na aplicação cliente, o SGQoC Client, que realiza a abordagem off-line de distribuição de
contexto, como apresentada na Seção 4.
6. CONCLUSÕES
Esse trabalho propôs uma infraestrutura para avaliação de qualidade da informação de contexto proveniente de
redes de sensores sem fio (RSSF). O objetivo é a entrega de contexto enriquecido com informações de QoC
(Quality of Context) à aplicações clientes. A abordagem proposta permite a seleção e especificação de
métricas de QoC e o protótipo desenvolvido é capaz de avaliar contexto de diferentes fontes e aplicar
correções em dados contextuais antes de entregá-los as aplicações interessadas. Além disso, ele oferece um
front-end de monitoramento que permite aos desenvolvedores acompanharem estatísticas do processo de
sensoriamento em tempo real. Um exemplo de uso foi mostrado em um cenário de monitoramento de
qualidade do ar, ilustrando o potencial de aplicação do sistema proposto.
Desenvolvimento futuros da infraestrutura incluem: (i) desenvolvimento de uma API para integração dos
gateways das redes de sensores sem fio com o SGQoC; (ii) indução de outros tipos de degradação de
qualidade durante a simulação, e.g., atraso e inconstância no envio de dados. (iii) proposta de novas políticas
de correção de dados, e.g, implementação de padrão publish-subscribe para o desenvolvimento da distribuição
de contexto (Context Publisher) e uma API para facilitar a integração das aplicações-clientes ao serviço.
AGRADECIMENTOS
Este trabalho foi financiado e apoiado por FAPES/CNPq e pelo Projeto CIA2 – CTIC-RNP Cidades
Inteligentes.
REFERÊNCIAS
Weiser, M. 1991, The computer for the 21st century. Scientific American, pp. 94–104.
Yick, J. et al. 2008, Wireless sensor network survey, Computer Networks, vol. 52, no. 12, pp. 2292–2330.
Dey, A.K. & Abowd, G.D. 1999. Towards a better understanding of context and context-awareness. GVU Technical
Report GITGVU-99-22, College of Computing, Georgia Institute of Technology. pp. 304—307.
Costa, P.D., 2007, Architectural Support for Context-Aware Applications: From Context Models to Services Platforms,
Ph.D. Thesis, University of Twente.
Henricksen, K., Indulska, J. 2004, Modelling and Using Imperfect Context Information. Proceedings of the Second IEEE
Annual Conference on Pervasive Computing and Communications Workshops, pp. 33–37.
Buchholz, T. et al. 2003. Quality of Context: What It Is And Why We Need It. In Proceedings of the 10th Workshop of the
HP OpenView University Association.
Manzoor, A.et al. 2008. On the Evaluation of Quality of Context. 3rd European Conference on Smart Sensing and
Context, pp. 140–153.
173
ISBN: 978-972-8939-96-0 © 2013 IADIS
Neisse, R. et al 2008. Trustworthiness and Quality of Context Information. In Proceedings of the 9th International
Conference for Young Computer Scientists (ICYCS’08), pp. 1925-1931.
Zimmer, T. 2006. QoC: Quality of Context – Improving the Performance of Context-Aware Applications. Advances in
Pervasive Computing 2006, Dublin, Ireland, pp. 209–214.
Dey, A.K. 2000. Providing Architectural Support for Building Context-Aware Applications. Ph.D. Thesis. Georgia
Institute of Technology.
Schmidt, A., 2004. Management of Dynamic and Imperfect User Context Information. In: R.Meersman et al (Eds), OTM
Workshops, LNCS 3292, pp.779-786.
Krause, M. and Hochstatter, I. 2005. Challenges in Modelling and Using Quality of Context (QoC). Mobility Aware
Technologies and Applications, pp. 324–333.
Bu, Y. et al 2006. Managing quality of context in pervasive computing. In Proceedings of the 6th International
Conference on Quality Software. , pp. 193–200.
Gray, P., and Salber, D. 2001. Modelling and Using Sensed Context Information in the design of Interactive Applications.
In LNCS 2254: Proceedings of 8th IFIP International Conference on Engineering for Human-Computer Interaction
(EHCI 2001), Toronto, Canada. pp. 317–336.
Toninelli, A. et al., 2009. A quality of context-aware approach to access control in pervasive environments,
MobileWireless Middleware, Operating Systems, and Applications: LNCS, v. 7, p. 236–251.
Abid, S. Z. et al., 2009. A framework for quality of context management, in Proceedings of the 1st international
conference on Quality of context, pp. 120–131.
Manzoor, A. et al., 2010. Service-centric Inference and Utilization of Confidence on Context. Services Computing
Conference (APSCC), pp. 11-18.
Filho, J. B. et al., 2010.Modeling and Measuring Quality of Context Information in Pervasive Environments. In
Proceedings of the 24th IEEE International Conference on Advanced Information Networking and Applications, 690-
697.
Zheng, D. et al. 2012. Evaluation of Quality Measure Factors for the Middleware Based Context-Aware Applications. In
Proceedings of the 11th International Conference on Computer and Information Science, pp. 403-408.
IEMA, 2013. Rede automática de monitoramento da qualidade do ar da região da grande vitória. Portal do Governo do
Estado do Espírito Santo. Disponível em: <http://www.meioambiente.es.gov.br/default.asp> Acesso em 21 ago 2013.
Air Quality Egg, 2013. A community-led air quality sensing network that gives people a way to participate in the
conversation about air quality. 2013. Disponível em: <http://www.kickstarter.com/projects/edborden/air-quality-
egg> Acesso em 22 ago 2013.
Nazário, D. C., Dantas, M. A. R., Todesco, J. L. 2012. Taxonomia das publicações sobre Qualidade de Contexto
Sustainable Business International Journal, v. 20, pp. 1–28.
Yasar, A. U. H. et al. 2011. When efficiency matters: Towards quality of context-aware peers for adaptive
communication in VANETs. IEEE Intelligent Vehicles Symposium (IV), pp. 1006–1012.
Kim, Y. and Lee, K. 2006. A quality measurement method of context information in ubiquitous environments. In ICHIT
’06: Proceedings of the 2006 International Conference on Hybrid Information Technology, pp. 576–581.
Eugster, P.T., et al. 2003, The many faces of publish/subscribe, ACM Computing Surveys, ACM, pp. 114-131.
174
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
A representação e o intercâmbio de informações provenientes de diferentes fontes de dados, como empresas e governos,
através de documentos XML, tornam-se cada vez mais comuns graças à simplicidade sintática da linguagem XML, auto-
documentação e baixo custo de transmissão e armazenamento dos dados. Assim, garantir a qualidade dos dados contidos
em documentos XML é um desafio, pois podem conter redundâncias e inconsistências, uma vez que fontes diferentes
geralmente utilizam esquemas diferentes de armazenamento, além da falta de garantia de que existe a correspondência
bilateral entre os dados armazenados e suas representações no mundo real. Neste contexto, dependências funcionais
condicionais definidas sobre documentos XML servem como ferramentas para aumentar a qualidade dos dados antes que
sejam manipulados, armazenados e interrogados. Este trabalho apresenta um conjunto de algoritmos utilizados para a
validação de dependências funcionais condicionais em documentos XML baseados em autômatos finitos e na utilização
de gramáticas de atributos. A abordagem utilizada nesses algoritmos independe do esquema dos arquivos XML, levando
em conta apenas a semântica expressa na dependência funcional condicional a ser verificada.
PALAVRAS-CHAVE
XML, restrições de integridade, dependências funcionais condicionais.
1. INTRODUÇÃO
A linguagem XML se tornou o formato preferido para a integração e a transferência de informações entre
organizações. Este intercâmbio permite transformar a imensa quantidade de dados existentes nestas
organizações em informação útil e confiável para a realização de operações diversas e para auxiliá-las nos
processos de tomada de decisão. No contexto relacional, muitos trabalhos vêm sendo desenvolvidos para
melhorar a qualidade dos dados integrados, com interesse renovado na aplicação de dependências clássicas
(Fan, 2008, Liu et al, 2011, Bakhtouchi et al, 2011) e condicionais (Bohannon et al, 2007, Fan et al, 2008)
para a preservação da semântica, detecção e reparo de possíveis inconsistências. De forma similar, as
dependências clássicas e condicionais sobre dados XML foram propostas (Bunemanet et al, 2001, Liu et al,
2003, Wang et al, 2005, Shahriar et al, 2008, Bouchou et al, 2011, Tan et al, 2011, Vo et al, 2011) para a
verificação semântica dos dados.
Uma dependência condicional representa uma forma mais fraca de dependência, definida para atuar num
escopo de dados limitado por condições sobre diversos atributos. Apenas as tuplas que satisfazem estas
condições devem ser avaliadas e esta aplicação condicional tem possibilitado contextualizar análises sobre os
dados, além de encontrar e corrigir inconsistências específicas. As dependências funcionais condicionais em
XML (DFCX) estendem as dependências funcionais com uma expressão condicional que permite a aplicação
de uma dependência funcional sobre partes de um documento XML, representando um subconjunto
específico dos dados. Para mostrar a importância da utilização de uma DFCX, imagine que se deseja
representar informações sobre dados bancários de clientes e que sobre estes dados sejam verificadas
dependências como:(i) caso o banco seja B1, então o número da conta implica no cliente (ii) se o cartão for
do tipo Platinum então o juro do cheque especial é o mesmo para todos os clientes com o cartão desse
tipo.Tais condições colaboram na compreensão mais detalhada das características de um determinado
subconjunto, possibilitando a identificação de falhas e aumentando a qualidade dos dados.
175
ISBN: 978-972-8939-96-0 © 2013 IADIS
Neste trabalho, um documento XML é visto como uma estrutura composta de uma árvore de aridade
variável e de funções para sua manipulação. As dependências a serem verificadas no documento são
definidas por expressões de caminho. Assim, uma dependência funcional, denotada X →Y, tem os atributos X
e Y substituídos por expressões de caminho nos lados esquerdo e direito respectivamente. Tais caminhos
permitem atingir quaisquer níveis de profundidade na árvore e exprimem uma consulta simples, cujo
resultado é um conjunto de nós. A DFCX estende a dependência funcional com a incorporação de uma
expressão condicional, responsável por selecionar apenas os resultados (nós) que a satisfazem.
A abordagem utilizada, neste trabalho, para a validação de DFCXs independe do esquema do documento
e se baseia numa função de percurso que tem como entradas um documento XML e um conjunto de
dependências funcionais condicionais, e verifica se todas as dependências são respeitadas pelo documento,
como ilustrado na Figura 1. Durante a validação, as expressões de caminho que definem as dependências são
traduzidas em autômatos finitos, que formalizam os caminhos a serem verificados. Os algoritmos definidos
para a verificação das DFCXs se baseiam em gramática de atributos. Os atributos armazenam anotações na
direção descendente, para marcar os nós que fazem parte do caminho definido para uma dependência, e na
direção ascendente, para resguardar os valores obtidos para que sejam organizados e comparados ou o
resultado do tratamento das informações previamente obtidas até aquele nível.
2. PRELIMINARES
176
Conferência IADIS Ibero-Americana Computação Aplicada 2013
█ █ █
r.0.0.1.0.0 r.0.0.1.0.0 r.0.0.1.0.0
█ █ █
177
ISBN: 978-972-8939-96-0 © 2013 IADIS
em que Cond é uma expressão da forma {expr 1 θ1 expr 2 θ2 ... θn-1 expr n}, sendo expr i uma expressão booleana
do tipo PC ϕ vc associada a um nó particular da árvore do documento na qual PC é uma expressão de
caminho, vc um valor, ϕ um dos operadores do conjunto {= ; ≠ ; < ; > ; ≤ ;≥ } e θ um operador lógico do tipo
and ou or.
Como exemplo, uma dependência funcional condicional que especifica a regra de validação mencionada
na introdução para os registros do banco pode ser expressa por:
O símbolo V indica igualdade de valor. A igualdade de valor fica subentendida nos caminhos expressos
pela condição (todos os fins de caminhos da expressão condição indicam igualdade de dados).
2.2.2 Satisfação de Dependências Funcionais Condicionais
Seja T um documento XML e η= (C; (Cond;{P 1 [E1],..., P k[Ek]} → Q [E])) uma DFCX e seja M o padrão
C/expr 1,...,C/expr k, C/P 1,..., C/P k , C/Q. Dizemos que T satisfaz η (denotado T ╞ η) se e somente se para todas
I1M e I2M que são instancias de M em T e que coincidem pelo menos no prefixo C e que tenham as expressões
expr i com o respectivo valor respeitado (PCi ϕi vci), temos:τ1[C/P 1 ,..., C/P k]=Ei,i [1,2,..., k] τ2[C/P 1,...,
C/P k]→τ1[C/Q]=Eτ2[C/Q] no qual τ1 e τ2 são tuplas de valores obtidas ao fim dos caminhos de I1M e I2M
respectivamente. □
Assim, a DFCX será satisfeita se o ano for posterior a 2004 (caso contrário a tupla não será avaliada), e
quaisquer duas tuplas t1 e t2 que identificarem o mesmo cliente (lado esquerdo, determinante) devem conter o
mesmo número de cartão (lado direito, determinado). Caso contrário a DFCX será dada como falsa.
2.2.3 Autômatos de Estados Finitos para DFCX
Para que seja executado o algoritmo de validação de dependências funcionais condicionais é necessário que
as expressões de caminho sejam convertidas em autômatos de estados finitos. O alfabeto de entrada é o
conjunto de tags do documento XML. O AEF (autômato de estados finitos) é denotado por uma 5-tupla A =
(Θ;Σ;Δ;e;F), na qual Θ representa o conjunto de estados; Σ é o alfabeto; e Θ é o estado inicial; F ⊆ Θ é o
conjunto de estados finais, e Δ : Θ x Σ→Θ é a função de transição entre os estados de A. Já um transdutor de
estados finitos (TEF) é uma 7-tupla T = (Θ;Σ;Γ;Δ;e;F;λ) tal que: (i) (Θ;Σ;Δ;e;F) são os mesmos do AEF;
(ii) Γ é o alfabeto de saída (valores computados para cada valor de entrada dependendo do estado do AEF em
que se encontra) e (iii) λ é a função de F em Γ indicando a saída associada a cada estado final. Existem várias
instâncias destes caminhos na árvore XML e existem também nós que não fazem parte de nenhuma dessas
expressões. Para demarcar o papel de cada nó da árvore XML na DFCX são utilizados os seguintes
autômatos e transdutores:
M = (Θ; Σ; Δ; e; F): Autômato de contexto que expressa o caminho C. O alfabeto Σ é composto pelas
tags do documento XML;
T′ = (Θ′;Σ′;Γ′;Δ′;e′;F′;λ′): Transdutor determinante que representa os caminhos P i (i [1;k]). O
conjunto dos símbolos de saída é dado por Γ′ = {V;N} x N* tal que V representa a igualdade de valor e N a
igualdade de nó, valores esses associados a cada caminho P i. Cada caminho é numerado, pois pode haver
mais de um caminho do lado determinante. Assim, a função λ associa o par (igualdade, posição) a cada
estado final q F′, no qual posição é o número do caminho do lado determinante;
T′′ = (Θ′′;Σ′′;Γ′′;Δ′′;e′′;F′′;λ′′) : Expressa o caminho determinado Q. O conjunto de símbolos de saída é
dado por Γ′′ ={V;N} e a função de saída λ′′ associa um símbolo V ou N a cada estado final q F′′.
C = (Θc ;Σc ;Γc ;Δc ;ec ;F c): Autômato condicional representante dos caminhos PCj que determinam as
expressões dadas em Cond.
178
Conferência IADIS Ibero-Americana Computação Aplicada 2013
3. VALIDAÇÃO DE DFCXS
O processo principal de validação de dependências funcionais condicionais recebe um conjunto de DFCXs e
um documento XML. A validação de uma DFCX é baseada nas técnicas de anotação de uma gramática de
atributos. A cada nó de uma árvore, são associados atributos herdados e sintetizados que anotam na direção
descendente as informações passadas pelos nós superiores e na direção ascendente as informações colhidas
dos nós filhos. Esses conceitos remetem a análise sintática, feita por compiladores, que utilizam uma
gramática de atributos, e são detalhadas em (Aho et al, 1988). Cada atributo se aproveita de um dos dois
momentos chave do percurso na árvore para serem calculados, ou seja, a abertura de tags que indica a
descida na árvore XML e o fechamento de tags que indica a subida na árvore. Considerando ω um conjunto
de DFCXs a serem avaliadas, o percurso na árvore se dá de acordo com o Algoritmo 1:
início da avaliação;
para cada elemento do documento faça
para cada DFCX η pertencente a ω faça
se abertura de tag então
cálculo do atributo conf;
senão
se fechamento de tag recém aberta então
cálculo dos atributos sintetizados de nós folhas;
senao
cálculo dos atributos sintetizados de nós internos;
fim da avaliação do documento;
retorna raiz.c de cada DFCX η pertencente a ω;
No conjunto de atributos associados a cada nó se encontram atributos herdados – atributos calculados
manipulando-se o valor dos nós ancestrais (nós pais) que são obtidos na descida da árvore – e atributos
sintetizados – atributos cujo valor se calcula utilizando valores resgatados de nós filhos, feito durante a
ds: atributo sintetizado, ou seja, é calculado no momento de subida na árvore. É responsável por
recolher os valores correspondentes ao lado esquerdo da DFCX. Pode haver diversos caminhos
associados ao lado esquerdo da dependência, logo o dsj guarda o valor associado a j-ésima
expressão de caminho (podendo ser um único valor, no caso de o nó representado pelo caminho
dc: atributo sintetizado cuja função é carregar o valor único associado ao lado direito da
ser um nó folha, ou uma tupla, caso seja um nó intermediário).
dcond: atributo sintetizado que recolhe os valores atribuídos a cada caminho k da expressão
dependência funcional condicional.
inters: representa um conjunto de tuplas, onde cada tupla é composta de outras duas. A primeira
condicional dada.
contém os valores associados à expressão condicional (atributos dcond), a segunda contém uma
tupla interna de valores referentes ao atributo ds e um campo referente ao atributo dc:
inters = {< < dcond1, dcond2,..., dcondk> ;< < ds1,ds2,..., ds j > , dc > > ,...}.
Seu papel é ser o conjunto que expresse a interseção dos valores obtidos dos nós filhos durante o
179
ISBN: 978-972-8939-96-0 © 2013 IADIS
conf é feito copiando-se todas as configurações de cada autômato no qual o nó corrente provoca uma
mudança de estado, com base no seu nó pai. É utilizada a configuração do nó anterior no caminhamento da
árvore, ou seja, a tag aberta anteriormente que não foi fechada, e com os valores presentes no atributo conf
desse nó pai, é feito o cálculo para o nó corrente, testando se alguma configuração do pai gera uma mudança
de estado quando se lê aquele nó filho. Caso o nó seja raiz, único nó sem pai, é feito então o teste de transição
apenas para o autômato que representa o caminho de contexto. A Figura 4 mostra o resultado do Algoritmo 2
para o exemplo dado. Observe que os elementos abaixo do nó cartao contém o mesmo atributo conf que
cartão (cartao leva a um estado final do autômato T’’ e é nó interno). Admitindo-se K um dos autômatos
utilizados na validação e A o nó corrente, o cálculo do atributo conf , dado pelo Algoritmo 2, se dá da
seguinte maneira:
entrada: nó A
se A = RAIZ então
RAIZ.conf := M.q1| M(q0,RAIZ) = q1;
senao
P:= A.pai;
para cada K.q P.conf faça
se (K = M) ∧ (q FK)então
A.conf := A.conf ∪ {T’.q1′ |δT′(q′0;A) = q1′}∪
{T′′.q1′′ | δT′′ (q0′′;A) = q1′′} ∪ {C.q1c |δC(q0c;A) = q1c};
senão
A.conf := {K.q’| K(q,A) = q’};
Quando um nó folha é localizado, o caminhamento na árvore muda para o sentido ascendente, ou seja,
caminha-se das folhas em direção à raiz. Caso o nó pertença a algum caminho i do lado esquerdo da DFCX
(lado determinante), seu valor é inserido em seu atributo dsi. Caso o nó folha encontrado seja o nó
correspondente ao fim do lado direito da DFCX (lado determinado), o valor encontrado é depositado no
atributo dc, se o nó faz parte da condição da DFCX por algum caminho k da condição imposta, seu valor será
inserido no atributo dcondk. Durante o procedimento expresso no Algoritmo 3 o atributo inters do nó corrente
é preenchido, e depois no fim do procedimento é acrescido ao atributo inters de seu pai. Repare que
dependendo do tipo de igualdade é utilizada função valor_no (igualdade de nó) ou função valor_dado
(igualdade de valor). A função mapping será utilizada para unificar a tupla inters do nó P a fim de preencher
os campos vazios ou combinar os já preenchidos com os que foram encontrados. Dessa maneira o Algoritmo
3 (cálculo dos atributos sintetizados dos nós folhas) é dado pelo seguinte procedimento a seguir:
entrada: nó A
para cada configuração K.q no nó A.conf faça
se(K = T’ )∧ (q FT’) então
y:= λ’T’(q);
j:= y.rank;
se y.igualdade = V então
A.dsj:= <valor_dado(A)>;
senão
A.dsj:= <valor_no(A)>;
A.inters := A.inters ∪ {<< >,<<<A.dsj>j>, >>};
se(K = T’’ ) ∧ (q FT’’) então
se λ’’T’’(q) = V então
A.dc:=<valor_dado(A)>;
senão
A.dc:=<valor_no(A)>;
A.inters := A.inters∪ {<< >,<< >,A.dc>>};
se(K = C ) ∧(q FC )então
z:= λC (q);
k:= z.rank;
A.dcondk := <valor_dado(A)>;
A.inters := A.inters ∪ {<<<A.dcondk>k>,<< >, >>};
P := A.pai;
P.inters := P.inters ∪ mapping(A.inters);
Note que no procedimento anterior os campos vazios são preenchidos com o símbolo ε. Continuando o
caminho bottom-up, o cálculo dos valores dos atributos ds e dc é feito para cada nó interno da árvore,
utilizando os valores dos atributos dos nós descendentes do nó atual para o cálculo de seus atributos
sintetizados. Pode-se observar que em (4) do Algoritmo 4 que o valor de A.c se mantém neutro (verdadeiro)
se não existem instâncias da DFCX que respeitem a condição. A verificação das instâncias válidas presentes
180
Conferência IADIS Ibero-Americana Computação Aplicada 2013
em inters é feita com os valores presentes em dcond. O cálculo dos atributos sintetizados de nós internos, o
Algoritmo 4 é feito da seguinte forma:
entrada nó A;
para cada configuração K.q no nó A.conf faça
P = A.pai;
(1) se (K = T’) ∧ (q FT’) então
y:= λ’T’(q);
j:= y.rank;
se y.igualdade = N então
A.dsj:=<valor_no(A)>;
A.inters := A.inters ∪ {<< >,<<<A.dsj>j>, >>};
(2)se(K = T’’) ∧(q FT’’) então
se λ’’T’’(q) = N então
A.dc:=<valor_no(A)>;
A.inters := A.inters ∪ {<< >,<<< >>,A.dc>>};
(3)se( K ≠ ε ) ∧ (q FK) então
P.inters := mapping(A.inters);
(4)se( K = M ) ∧ (q FM) então
A.c = verdadeiro
A.c := <∀ w,z validas A.inters, w ≠ z: w.l1 = z.l1⇒ w.l2 = z.l2>;
P.c := A.c ∧ P.c;
(5)se(K = M) ∧ (q FM) então
P.c := A.c ∧ P.c
A figura 5 mostra o resultado do cálculo de inters para nós internos e folhas, e de c para o nó do fim do
caminho do contexto da DFCX , obtidos pelo procedimento anterior. Como as duas tuplas encontradas são
instancias da DFCX e respeitam a condição (ano > 2004), ou seja, são válidas, resta submetê-las ao teste
dos lados esquerdos e direitos (l1 e l2, respectivamente). Como possuem lados esquerdos iguais e direitos
diferentes a DFCX é tida como violada, (c igual a false), conclui-se dessa maneira que nesse documento um
número de conta não está associado a apenas um tipo de cartão, o anos posteriores a 2004.
c = false
registros
inters = {< 2005> ,< 69392-1,< < Platinum>,< 2005> > > } inters = {< 2010> ,< 69392-1,< < Gold>,< 2010> > > }
...
Figura 5. Cálculo dos atributos sintetizados de nós folha. Campos não preenchidos recebem o valor de ε
4. CONCLUSÃO
Uma gramática de atributos pode ser definida para a validação de restrições de integridade sobre dados XML
para que sejam realizadas diversas anotações nos nós da árvore de dados durante um percurso. A principal
vantagem da presente proposta é a de ser baseada num método genérico fundamentado em autômatos finitos
e gramática de atributos, que pode ser adaptado para a validação de outros tipos de restrição. A validação de
dependências funcionais condicionais permite que a qualidade dos dados XML seja analisada a partir de
condições específicas aplicadas sobre os dados (imposição semântica) o que pode ser bastante útil em
ambientes de integração de dados. Como continuação deste trabalho, pretende-se a criação de um ambiente
de validação de restrições XML, em que diversas restrições, de tipos diferentes possam ser validadas num
único percurso e que reparos possam ser indicados para as inconsistências encontradas.
181
ISBN: 978-972-8939-96-0 © 2013 IADIS
AGRADECIMENTO
Agradecemos às nossas famílias por nos dar o suporte necessário e ao Conselho Nacional de
Desenvolvimento Científico e Tecnológico (CNPq) pelo apoio financeiro.
REFERÊNCIAS
Abiteboul, S. et al, 2000.Data on the Web: From Relations to Semistructured Data and XML. Morgan Kaufmann
Publishers, San Francisco, USA.
Aho, A. V., Sethi, R., 1988. Ullman, J. D. Compilers: principles, techniques, and tools. Addison-Wesley, Reading,
Mass., USA.
Bakhtouchi, A. et al, 2011. Ontologies and functional dependencies for data integration and reconciliation. Proceedings
of the 30th international conference on Advances in conceptual modeling: recent developments and new directions,
Brussels, Belgium, pp. 98-107.
Bohannon, P. et al, 2007. Conditional functional dependencies for data cleaning. IEEE 23rd International Conference on
Data Engineering (ICDE), Istanbul, Turkey, pp. 756-755.
Bouchou, B. et al, 2011. Attribute Grammar for XML Integrity Constraint Validation. 22nd International Conference on
Database and Expert Systems Applications (DEXA 2011), Toulouse, France, pp. 94-109.
Buneman, P. et al, 2001. Constraints for Semistructured Data and XML. ACM Special Interest Group on Management of
Data (SIGMOD Rec.), Vol. 30, No.1, pp. 47-54.
Fan, W., 2008. Dependencies revisited for improving data quality. Proceedings of the twenty-seventh ACM SIGMOD-
SIGACT-SIGART Symposium on Principles of database systems (PODS), Vancouver, Canada, pp. 159-170.
Fan, W. et al, 2008.Conditional functional dependencies for capturing data inconsistencies.ACM Transactions on
Database Systems, Vol. 33 No. 2, pp. 1-48.
Liu, J. et al, 2011. Discover dependencies from data: a review. IEEE Transactions on Knowledge and Data Engineering,
Vol. 24 No 2, pp. 251-264.
Tan, Z. et al, 2011.Improving XML data quality with functional dependencies. Proceedings of the 16th international
conference on Database systems for advanced applications (DASFAA'11). Hong Kong, China, pp. 450-465.
Wang, J. et al, 2005. Removing XML data redundancies using functional and equality-generating dependencies.16th
Australasian Database Conference, 39, 65-74.
Liu, J. et al, 2003. Functional Dependencies, From Relational to XML, Perspectives of System Informatics, LNCS Vol.
2890, pp. 531-538.
Shahriar, M. S. et al, 2008. Preserving Functional Dependency in XML Data Transformation. Advances in Databases and
Information Systems, Lecture Notes in Computer Science (LNCS), Vol. 5207, pp. 262-278.
Shahriar, M. S. et al, 2009. Towards Data Quality and Data Mining Using Constraints in XML. International Journal of
Database Theory and Application. Vol. 2, No. 1, pp. 23-30.
Vo, L. T. H. et al, 2011. Discovering Conditional Functional Dependencies in XML Data. Proceedings of Australasian
Database Conference (ADC 2011), Perth, Australia, pp. 143-152
182
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Este trabalho propõe um escalonador de tarefas para controlar a demanda de envio de lacunas encontradas durante o
processo de sequenciamento genético para o processamento, considerando os recursos computacionais disponíveis. Estas
lacunas são espaços sem representação no processo de sequenciamento genético. Esta atividade gera muitas tarefas
concorrentes que consomem uma grande quantidade de recursos computacionais, principalmente memória. O objetivo do
escalonador é evitar que sejam solicitados mais recursos computacionais do que os que podem ser fornecidos, pois nesse
caso, o sistema sofre degradação de desempenho e causa atraso no tempo de processamento das tarefas. A motivação para
este trabalho é a melhoria na eficiência da execução do fechamento de lacunas no sequenciamento de genomas. Para a
avaliação da proposta, foi implementado um escalonador de lacunas com políticas de escalonamento baseadas no
monitoramento dos recursos computacionais.
PALAVRAS-CHAVE
Bioinformática; Escalonamento de Tarefas; Sequenciamento Genético.
1. INTRODUÇÃO
As informações contidas no genoma podem ser de grande valor para muitos estudos. O genoma é toda a
informação hereditária codificada no DNA, que é passada para os descendentes de um organismo, sendo
formado por monômeros chamados nucleotídeos. Cada um destes nucleotídeos possui uma molécula
denominada base, que pode ser Adenina, Citosina, Timina ou Guanina.
Para conhecer o DNA de um organismo é necessário extrair estes dados utilizando um sequenciador
genético [18] e em seguida sequenciá-los. O sequenciador genético extrai do organismo alvo uma grande
quantidade de pequenos fragmentos de DNA desordenados e repetitivos [20, 21, 23] que precisam ser
montados para obter uma sequência consensus das bases que representam um DNA [24, 25]. O processo de
montagem exige um grande poder computacional e um conjunto de algoritmos específicos e eficientes para
realizar o sequenciamento [17, 26].
O pipeline denovo2 [15, 16] é um conjunto de programas bastante utilizado para realizar a montagem
deste grande volume de dados obtidos dos sequenciadores e a partir destes dados gerarem uma sequência
consensus de DNA. A montagem é realizada pelo velvet [7, 8, 9], um montador que utiliza grafos de Bruijn,
uma abordagem capaz de tratar a grande quantidade de dados com boa cobertura [22]. Após a montagem,
realiza-se o fechamento de lacunas (gaps), que consiste em encontrar representação de bases para posições
vazias. Nesse processo, uma instância do montador velvet é utilizada para cada lacuna, resultando em uma
grande quantidade de tarefas.
Estas diversas instâncias são executadas simultaneamente e em alguns casos podem exigir recursos de
memória maiores do que o ambiente computacional pode disponibilizar. As tarefas em execução são bastante
heterogêneas, ocupando desde poucos até centenas de Gigabytes (GB). Manter todas as tarefas em execução
consome toda a memória disponível e, como consequência, o sistema entra em uma situação de degradação
de desempenho, causando atraso no processamento das tarefas. Esta situação pode ser evitada com a
verificação dos recursos computacionais disponíveis antes de iniciar novas instâncias do montador. Com este
objetivo, um escalonador de tarefas é proposto.
Com o escalonador proposto, ao invés de processar todas as tarefas ao mesmo tempo e sem nenhum
critério como era feito originalmente, as tarefas são disparadas observando a disponibilidade dos recursos
183
ISBN: 978-972-8939-96-0 © 2013 IADIS
necessários para a sua execução. Dessa forma, diversas tarefas podem ser executas em paralelo consumindo
os recursos de forma controlada, não causando o problema de degradação de desempenho e resultando na
redução do tempo necessário para o processamento das tarefas. Com esta abordagem, o tempo de execução
foi reduzido em até 55% em relação ao tempo obtido na implementação original.
O restante do texto está organizado da seguinte maneira. Na Seção 2 são apresentados os trabalhos
relacionados. A Seção 3 apresenta os detalhes do problema encontrado durante a execução do pipeline de
sequenciamento genético denovo2. A Seção 4 apresenta o escalonador proposto. Na Seção 5 são apresentados
os resultados dos experimentos. Por fim, a Seção 6 apresenta as conclusões deste trabalho e sugere trabalhos
futuros.
2. TRABALHOS RELACIONADOS
Este trabalho faz o escalonamento de tarefas prevenindo a paginação e o trashing em um super computador
paralelo utilizando expectativa de uso de memória de cada tarefa, tendo relação com os seguintes trabalhos.
Em [10] é apresentado o problema de divisão de recursos para muitas tarefas simultâneas em um sistema
paralelo, o que pode resultar em problemas de paginação não tornando possível garantir a qualidade de
serviço para a execução de todas as tarefas. A paginação prejudica o sincronismo entre as tarefas. Uma
alternativa é impor controles de acesso, e só admitir novas tarefas que se encaixam na memória disponível.
Apesar de sofrer de execução atrasada, isto leva a um melhor desempenho geral, evitando os efeitos nocivos
da paginação e do trashing. Assim como também em [5] é avaliado o impacto do uso de memória para o
escalonamento de tarefas considerando o longo prazo para evitar os problemas de paginação e trashing em
super computadores paralelos utilizando as características de uso de memória de cada tarefa. Por fim, em
[11] é explorada a prevenção da paginação e do trashing para o escalonamento eficiente de tarefas paralelas.
1
Não foram disponibilizadas mais informações sobre o conjunto de dados devido a sigilo de pesquisa.
184
Conferência IADIS Ibero-Americana Computação Aplicada 2013
processos fiquem esperando muito tempo pelo uso da CPU. Este problema é conhecido como thrashing, que
geralmente provoca sérios problemas de desempenho tornando o sistema inutilizável [12].
O trashing é fenômeno que ocorre quando é realizada paginação excessiva reduzindo a utilização de CPU
e a vazão. Como fator agravante do trashing o sistema operacional detecta que a CPU está ociosa (durante o
fechamento de lacunas o uso de CPU fica abaixo de 1%) e admite mais processos aumentando o nível de
multiprogramação, e consequentemente a taxa de falha de páginas, piorando o desempenho [11, 12]. O
gráfico da Figura 1 adaptado de [12] demonstra como o trashing afeta o desempenho, o eixo X demonstra o
aumento do nível de multiprogramação, eneste o eixo Y demonstra o rendimento da execução. Enquanto o
esperado é um aumento de desempenho com o aumento do nível de multiprogramação, o rendimento cai
subitamente após uma carga crítica [12].
185
ISBN: 978-972-8939-96-0 © 2013 IADIS
Com estes valores foi criada uma base de dados de valores estimados que cada classe de lacuna utiliza
durante o processamento. Estes valores são utilizados na política de decisão do escalonador para avaliar se
submete novas lacunas ou, se aguarda até liberar a quantidade necessária de memória.
A memória livre no sistema é armazenada em uma variável, a partir deste momento é esta variável que
vai responder pela expectativa de memória livre da máquina. Como o pico de uso de memória das tarefas é
próximo ao seu término, o escalonador deve considerar a longo prazo, então por este motivo ao lançar uma
tarefa a memória livre esperada é consultada desta variável e não diretamente do sistema. A expectativa de
uso máximo de memória para a lacuna que será executa é subtraída desta variável e ao término este valor é
devolvido. Desta forma faz-se um controle paralelo da quantidade de memória disponível e que pode ser
alocada sem sobrecarregar o sistema.
186
Conferência IADIS Ibero-Americana Computação Aplicada 2013
5. RESULTADOS EXPERIMENTAIS
Para avaliar os resultados obtidos foi feita uma análise comparativa do comportamento dos recursos
computacionais durante a execução do escalonador original com a execução do escalonador proposto, que
implementa nas políticas de escalonamento os pontos levantados durante este trabalho que poderiam resultar
em melhoria de desempenho. As ferramentas utilizadas no monitoramento dos recursos foram ferramentas do
próprio sistema operacional GNU/Linux SUSE Enterprise Server 11 SP1 versão 64. Os resultados foram
obtidos observando os logs gerados durante a execução de cada uma das duas alternativas para o fechamento
das lacunas.
Como consequência do monitoramento dos recursos e gerenciamento das tarefas, o gráfico de Figura 3
demonstra a diferença dos tempos obtidos na execução das duas abordagens utilizando o mesmo conjunto de
lacunas, resultantes do Conjunto Treinamento1. No eixo X é apresentado o tempo em horas e no eixo Y estão
representados em azul o escalonador original e em vermelho o escalonador proposto.
187
ISBN: 978-972-8939-96-0 © 2013 IADIS
Figura 5. Demonstrativo de uso de CPU durante o execução das alternativas para o fechamento de lacunas
O uso do disco foi monitorado pelo resultado do comando iostat do sistema operacional GNU/Linux, que
reporta estatísticas de entrada e saída do sistema. No modo de exibição estendida, com o uso do parâmetro -x
é possível visualizar o resultado do campo %util, que indica a porcentagem da utilização, vazão, do acesso ao
disco.
Este campo indica o quanto está ocupada a capacidade do disco atender a novas requisições, a taxa de
ocupação da vazão do disco. O campo %util em 100% indica saturação no acesso ao disco, quando o acesso
ao disco esta saturado, o dispositivo se torna um gargalo, reduzindo o desempenho do sistema.. Valores
acima de 100% indicam que o acesso esta congestionado, o que resulta em espera no acesso ao disco e
consequentemente uma maior demora para o término da atividade. Operações de leitura e escrita estão sendo
um gargalo e atrasando a evolução da execução do fechamento de lacunas. Neste caso, a espera pelo acesso
ao disco se torna um gargalo que atrasa todo o sistema. Mas com o controle de memória resultante do uso do
escalonador, este índice se manteve baixo e contribuiu para a redução do tempo de execução.
A Figura 6 compara os resultados do comando iostat demonstrando o pico da porcentagem de utilização
do disco durante a execução do escalonador original e do escalonador proposto. Como pode ser observado no
gráfico da Figura 6, o valor da variável %util do escalonador original, em vermelho, atingiu valores de pico
de 5000%. No caso do escalonador proposto, em azul, devido a implementação da verificação dos recursos
computacionais antes de lançar novas lacunas, este valor se manteve abaixo de 10% durante todo o tempo da
execução, não ocasionando nenhum atraso.
188
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Como demonstram os gráficos das Figuras 4 e 6 os recursos de memória e acesso ao disco eram exigidos
além da sua disponibilidade, o que causava gargalo de desempenho e não permitia aproveitamento do
processamento, como mostra o gráfico da Figura 5 e, consequentemente causava atraso na execução das
tarefas. Gerenciando o uso destes recursos foi possível obter uma melhoria no desempenho por evitar o
gargalo e o problema de trashing, sendo possível reduzir o tempo de execução como demonstrado no gráfico
da Figura 3.
REFERÊNCIAS
[1] TANENBAUM, A. S. e ZUCCHI, W. L. 2009. Organização estruturada de computadores. Pearson Prentice Hall.
[2] CASAVANT, T. L. e KUHL, J. G. 1988. A taxonomy of scheduling in general-purpose distributed computing
systems. IEEE Transactions Software Engineering (TSE), Vol. 14 No.2, pp 141–154.
[3] EL-REWINI, H.; LEWIS, T. G. e ALI, H. 1994. Task scheduling in parallel and distributed systems. Prentice-Hall,
Inc., Upper Saddle River, NJ, USA.
[4] T. KUNZ. 1991. The influence of different workload descriptions on a heuristic load balancing scheme. In IEEE
Transactions Software Engineering (TSE), Vol. 17, No. 7, pp 725–730.
[5] SETIA, S.; SQUILLANTE, M. e NAIK, V. 1999. The impact of job memory requirements on gang-scheduling
performance. SIGMETRICS Performance Evaluation Review (PER),Vol. 26, No.4, pp 30–39.
[6] WU, M. e SUN, X. 2004. Memory conscious task partition and scheduling in grid environments. Proceedings of the
5th IEEE/ACM International Workshop on Grid Computing, GRID ’04, pp 138–145, Washington, DC, USA.
[7] ZERBINO, D. R. 2008. Velvet Manual - version 1.1. "Disponível em:
http://helix.nih.gov/Applications/velvet_manual.pdf. Acessado em Dez./2012".
[8] ZERBINO, D. R. 2009. Genome assembly and comparison using de Bruijn graphs. Hinxton, Cambridge, United
Kingdom.
[9] ZERBINO, D. R. e BIRNEY, E. 2008. Velvet: algorithms for de novo short read assembly using de Bruijn graphs.
Genome research, Vol. 18 No.5, pp 821–9.
[10] BATAT, A. e DROR, F. 2000. Gang scheduling with memory considerations. in Proc. Of the 14th Intl. Parallel and
Distributed Processing Symp., pp 109–114.
[11] NIKOLOPOULOS, D. S.e POLYCHRONOPOULOS, C. D. 2003. Adaptive scheduling under memory constraints
on non-dedicated computational farms. Future Gener. Comput. Syst. Vol. 19, No. 4 , pp 505-519.
[12] DENNING, P. J. 2008. Thrashing. Wiley Encyclopedia of Computer Science and Engineering. Wiley Encyclopedia
of Computer Science and Engineering.
[13] DENNING, P. J. 1968. Thrashing: its causes and prevention. Proceedings of the December 9-11, 1968, fall joint
computer conference, part I (AFIPS '68 (Fall, part I)). ACM, New York, NY, USA.
[14] Life Technologies. 2009. v.2.2. De Novo Error Correction for SOLiD data SAET "Disponível em:
http://www.biostars.org/static/downloads/solid/47solid-denovo-assembly/saet.2.2/SAET.v2.2.pdf. Acessado em
Mar./2011".
[15] Life Technologies. 2012. Project denovo. "Disponível em: http://solidsoftwaretools.com/gf/project/denovo.
Acessado em Jun./2012".
189
ISBN: 978-972-8939-96-0 © 2013 IADIS
[16] Applied Biosystems. 2010. SOLiD de novo accessory tools 2.0 1. "Disponível
http://gsaf.cssb.utexas.edu/wiki/images/7/71/DeNovo_Assembly_Pipeline_2.0.pdf. Acessado em Fev./2012".
[17] PEVZNER, P. ; TANG, H e WATERMAN, M. S. 2001. An Eulerian path approach to DNA fragment assembly.
Proceedings of the National Academy of Sciences of the United States of America, Vol. 98, No. 17, pp 9748–53.
[18] SHENDURE, J.; WANG, M. D.; et al. 2005. Accurate multiplex polony sequencing of an evolved bacterial genome.
Science. Vol. 309, No. 5741, pp 1728–32. New York, USA.
[19] MEIDANIS, J. SETUBAL, J. C. 1997. Introduction to Computacional Molecular Biology. PWS Publishing
Company.
[20] PANDEY, V.; NUTTER, R. C. e PREDIGER, E., 2008. Next-generation genome sequencing: Twoards personalized
medicine. Wiley-VCH verlag GmbH Co.
[21] CHAISSON, M.; PEVZNER, P. e TANG, H. 2004. Fragment assembly with short reads. Bioinformatics, Vol. 20,
No. 13, pp. 2067–74. Oxford, England.
[22] COMPEAU, P.; PEVZNER, P. e TESLER, G. 2011. How to apply de Bruijn graphs to genome assembly. Nature
biotechnology, Vol. 29, No. 11, pp. 987–91.
[23] SUNDQUIST, A.; RONAGHI, M.; TANG, H.; PEVZNER, P. e BATZOGLOU, S. 2007. Whole-genome sequencing
and assembly with high-throughput, short-read technologies. PloS one, Vol. 2, No. 5, pp. 484.
[24] METZKER M. L. 2009. Sequencing technologies, the next generation. Nature Reviews Genetics, Vol. 11, No. 1, pp.
31–46.
[25] MARDIS E. The impact of next-generation sequencing technology on genetics. Trends in genetics : TIG, 24(3):133–
41, mar de 2008.
[26] CHAISSON, M. J.; BRINZA, D. e PEVZNER, P. 2009. De novo fragment assembly with short mate-paired reads:
Does the read length matter? Genome research, Vol. 19 No. 2, pp. 336-46.
190
Artigos Curtos
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
O Problema da definição do Schedule diário dos funcionários para venda de produtos é estrategicamente importante para
as empresas, pois, minimiza custo, aumenta eficiência e lucro. Este problema é semelhante ao problema do caixeiro
viajante e ao problema do multi-rotas de veículos na área da computação, com o diferencial de selecionar clientes de
acordo com a maior rentabilidade, faturamento e estratégias da empresa. O objetivo é descobrir diariamente,
semanalmente ou mensalmente a melhor rota a ser construída para visitar os clientes sempre iniciando e retornando no
ponto de partida. O sistema foi desenvolvido utilizando as técnicas de algoritmos genéticos e pode ser acessado via Web.
O sistema permite recalcular a rota de um dia retirando os clientes que não conseguiu agendar a visita. O resultado da rota
apresentado pelo sistema utiliza a representação de mapas geográficos informados pelo serviço do Google Maps.
PALAVRAS CHAVES
Algoritmo genético, problema de roteamento, vendas bancárias
1. INTRODUÇÃO
As compras realizadas pelos clientes em estabelecimentos físicos e pela Internet vem aumentando a cada dia
e as empresas necessitam iniciar um processo interno para encontrar soluções que melhorem suas operações
internas agregando valores importantes aos produtos e/ou serviços sem aumentar demasiadamente os custos
internos. Essas alternativas bem implementadas aumenta a satisfação dos clientes.
Para Carvalho et al. (2007), a logística tem como objetivo diminuir as dificuldades encontradas entre a
produção de bens ou serviços e a necessidade de consumo, uma vez que, os recursos necessários para a
produção e os consumidores podem estar geograficamente distantes. E segundo Ballou (2006), a missão da
logística é entregar os produtos ou serviços certos nos lugares certos, no momento certo, e nas condições
desejadas. Para conseguir respeitar essas variáveis faz-se de uma análise adequada de informações: tempo de
viagem, quantidade de visitas ou entregas de produtos máximas, peso excedente e espaço ocioso.
Segundo Novaes (1989) e Kaiser (2007), o principal problema de empresas na área de logística associada
ao transporte é o roteamento de veículos cujo objetivo é encontrar um conjunto de rotas que partem de um
único depósito para vários pontos de entrega com a característica de minimizar a distância total a ser
percorrida. Os métodos são classificados em cinco classes: heurísticos, meta-heurísticos, programação
matemática, simulação e os métodos baseados em inteligência artificial (Conceição et al., 2004).
193
ISBN: 978-972-8939-96-0 © 2013 IADIS
Os Algoritmos Genéticos é uma técnica de inteligência artificial e são métodos de busca aleatória que
permite encontrar soluções aproximadas em problemas de otimização e busca. Esse algoritmo é uma
subclasse dos algoritmos evolutivos que usam técnicas que estão da biologia evolutiva como: mutação,
seleção natural e cruzamento (Mitchell, 1996; Tang et al., 1996; Goldberg, 1989; Haupt & Haupt, 2004).
O presente trabalho tem como objetivo desenvolver um sistema denominado, Gestão da Carteira de
Clientes e Gerenciamento do Schedule Diário da Força de Vendas Bancária baseado no método de
inteligência artificial (algoritmos genéticos). O sistema proposto baseada nas distâncias extraídas do serviço
do Google e apresenta ao gerente de vendas no formato de mapas geográficos informados pelo Google Maps.
194
Conferência IADIS Ibero-Americana Computação Aplicada 2013
4. RESULTADOS ENCONTRADOS
No presente artigo serão apresentados os resultados de três experimentos que foram simulados no sistema
proposto e apresentados para a análise da instituição financeira em estudo. Nesses estudos de casos a empresa
possui um gerente de vendas que atende os clientes que estão situados na cidade de Salvador e proximidades.
Segundo as informações coletadas do sistema interno do banco em um dia o gerente de vendas visitou
clientes das cidades de Catu e Pojuca no estado da Bahia tendo como ponto de partida um hotel de Salvador
(hotel não foi informado).
Porém esse mesmo gerente de vendas informou no sistema interno do banco que visitou 10 clientes em
um dia totalizando 249 quilômetros rodados. Além disso, o gerente de vendas deixou de visitar um cliente em
Catu e um cliente em Pojuca que eram obrigados a serem visitados, pois, estes tinham sidos indicados pelo
banco (Cliente24 e Cliente106). Portanto o banco não sabe qual o motivo do gerente de vendas não ter
visitado esses dois clientes, pois o mesmo não inseriu nenhuma observação no sistema.
O mesmo caso foi simulado no sistema desenvolvido. Como entrada foram submetidos 23 clientes das
cidades de Catu e Pojuca, os quais seriam selecionados 10 clientes que deveriam ser visitados em um dia.
195
ISBN: 978-972-8939-96-0 © 2013 IADIS
196
Conferência IADIS Ibero-Americana Computação Aplicada 2013
5. CONSIDERAÇÕES FINAIS
O sistema de gestão de carteira de clientes e gerenciamento do Schedule diário da força de vendas bancária
em todos os casos informados pelo banco mostrou resultados iguais e melhores ao aplicados pelos gerentes
de vendas, obedecendo as restrições impostas pelos gestores da instituição analisada.
Os problemas apresentados pelo banco como: alto custo da viagem; alta quilometragem rodada e clientes
que são obrigatórios a serem visitados e não estão sendo visitados, foram sanados com a construção de um
sistema que permite o banco gerenciar as atividades dos gerentes de vendas.
O modelo proposto facilita a tomada de decisão do gestor, pois lhe fornece a melhor rota a ser traçada
pelo gerente de vendas, considerando inclusive possíveis restrições e clientes prioritários, que merecem
maior atenção da instituição financeira. Não se trata de uma ferramenta estática, pois permite que o usuário
insira ou exclua os clientes a serem visitados dado alguma alteração inesperada, e é de fácil visualização,
uma vez que se utiliza da ferramenta de mapas do Google, amplamente conhecida e utilizada.
A interface gráfica do sistema e permite ao gerente de relacionamento analisar a resposta do sistema com
base em relatórios e mapas geográficos informados pelo Google Maps. Os mapas podem ser apresentados em
forma de: mapa, satélite, hibrida e terreno. O gerente de relacionamento poderá aumentar a escala do mapa
ou diminuir com a ferramenta de zoom. Por fim o gerente de relacionamento poderá verificar a rota passo a
passo através de mapa de roteiro apresentado no lado esquerdo do mapa.
REFERÊNCIAS
BALLOU, R. H. Logística empresarial: transporte, administração de materiais e distribuição física. 5.ª ed., Porto Alegre:
Bookman. 2006.
BODIN, L. D. et al. Routing and scheduling of vehicle and crews: the state of the art. Computers and Operations
Research, v. 10, n. 2, p.63-211, 1983.
BRYANT K. & BENJAMIN A. Genetic Algorithms and the Traveling Salesman Problem. In. Harvey Mudd College,
Departament of Mathematice, 2000
CARVALHO R. B., et al. Gestão da Informação aplicada à logistica: Estudo de caso de uma grande Agroendústria
Brasileira, Anais do VIII ENANCIB – Encontro Nacional de Pesquisa em Ciência da Informação, Salvador, 2007.
CONCEIÇÃO S. V., et al. Impactos da utilização de roterização de veículos em um centro de distribuição: um estudo de
caso. Anais do XXIV ENEGEP - Encontro Nacional de Engenharia de Produção, Florianópolis, 2004.
CHRISTOFIDES, N. The Traveling Salesman Problem. Combinatorial Optimization. Wiley Chichester, p. 131 – 149,
1979.
GOLDBERG D. E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman
Publishing Co., Inc. Boston, MA, USA, 1989.
HAUPT R. L. & HAUPT S. E. Practical genetic algorithms. 2nd edition, Wiley-Interscience Publication, 2004.
KAISER M. S., et al. Análise Comparativa entre o TransCad e Heurísticas de Agrupamento e de Roteamento de
Veículos. Anais do XXI ANPET – Associação Nacional de Pesquisa e Ensino em Transportes, Rio de Janeiro, 2007.
MITCHELL, M. An Introduction to Genetic Algorithms. First MIT Press paperback, 1996.
NOVAES, A.G. Sistemas Logísticos: Transporte, Armazenagem e Distribuição de Produtos. Edgard Blucher, São Paulo,
1989.
TANG, K. S., et al., Genetic Algorithms and their Applications. IEEE Signal Processing Magazine, 1996.
197
ISBN: 978-972-8939-96-0 © 2013 IADIS
Marcos Rodrigo Sauki, Maicon Bastos Palhano, Gabriel Felippe, Ruano Marques Pereira,
Priscyla W. T. de Azevedo Simões e Merisandra Côrtes de Mattos Garcia
Curso de Ciência da Computação, Universidade do Extremo Sul Catarinense - Criciúma –SC- Brasil
RESUMO
A lógica fuzzy, técnica da inteligência computacional, pode ser aplicada no controle de um processo térmico, como por
exemplo, no controle da temperatura de armazenagem do grão de arroz bruto. Utilizando o microcomputador, dois
dispositivos, sendo um de aquisição de temperatura e o outro do tipo liga/desliga, foi desenvolvido um protótipo,
denominado Arfuzzy, que controla o tempo de ventilação necessário para que a temperatura alcance níveis satisfatórios
no armazenamento do grão de arroz bruto. Assim, o sistema busca operar de forma semelhante ao raciocínio humano, no
sentido de identificar como o operador raciocina ao manipular o sistema de ventilação dos silos. A funcionalidade do
Arfuzzy é a medição e o controle de temperatura na armazenagem do grão de arroz bruto nesses silos. No decorrer do
trabalho, será apresentada a modelagem fuzzy do protótipo e os resultados obtidos pelo mesmo.
PALAVRAS-CHAVE
Inteligência Computacional, Lógica Fuzzy, Controle de Temperatura.
1. INTRODUÇÃO
O controle da temperatura exerce um papel importante para as indústrias que armazenam e beneficiam o
arroz, principalmente em relação ao grão bruto. Este tipo de grão, também chamado de arroz verde, é o que
vai diretamente do produtor para a indústria. Por se tratar de um produto orgânico, com elevado grau de
umidade, sujeito a contaminação por fungos e parasitas, deve ser mantido a uma temperatura adequada
durante o armazenamento, processo este que inicia logo após a colheita.
Apesar dos avanços da engenharia de automação, muitos produtores e indústrias ligadas à agricultura
realizam o armazenamento dos grãos de maneira inadequada. Isso pode ser constatado em algumas empresas
que fazem o beneficiamento do arroz na região carbonífera do sul de Santa Catarina. Apesar dos silos serem
providos de mecanismos de ventilação, eles ainda são ativados manualmente, onde um operador humano
utiliza a própria experiência e alguns fatores envolvidos no processo para acionar esses mecanismos.
Percebe-se então, que por meio da lógica fuzzy é possível automatizar esse processo, trazendo benefícios às
empresas.
Publicada por Zadeh em 1965, a lógica fuzzy é um modelo adequado para tratar a informação imprecisa
em áreas onde o conhecimento é incompleto, pois permite uma representação significativa dos conceitos
vagos inerentes ao raciocínio humano (Zadeh, 2008).
Wang (1997) comenta que a teoria fuzzy está presente em diversas áreas do conhecimento,
principalmente nos domínios do controle e tomada de decisão.
A teoria dos conjuntos fuzzy amplia a teoria dos conjuntos tradicionais, incorporando o conceito de grau
de pertinência. Por exemplo, na frase “mantenha a temperatura do forno alta” a palavra alta é caracterizada
por uma função de pertinência onde o grau de pertinência expressa o quanto a informação pertence a um
determinado conjunto.
Diferente da teoria clássica dos conjuntos, onde o pertencer ou não de um elemento ao conjunto é
representado por 0 e 1, a teoria dos conjuntos fuzzy aplica graus de pertinência entre 0 e 1. Dessa forma, a
pertinência do elemento ao conjunto é gradual podendo assumir todos os valores desde 0 até 1.
198
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Segundo Cox (1994) o que diferencia a lógica fuzzy, da lógica booleana é a capacidade desta de se
aproximar do mundo real, onde não existem somente respostas extremas. A lógica fuzzy dá espaço ao meio
termo apresentando ainda a possibilidade de mensurar o grau de aproximação da solução exata e assim inferir
algo que seja necessário.
Percebe-se então, que um protótipo de sistema fuzzy computadorizado pode substituir o controle manual
com mais eficiência, além de poder reduzir consideravelmente o consumo de energia elétrica utilizados no
processo. Silva, Neves Filho e Silveira Junior (2006) destacam que o uso de controladores fuzzy em
processos industriais tem aumentado consideravelmente nas últimas décadas, como por exemplo: Lekova e
Batanov (1998), Rowlands e Wang (2000), Kazemian (2001), Vieira et al (2007), Rojas et al (2006), Filev e
Syed (2010), Hou e Huang (2004) e Onut et al (2009).
2. METODOLOGIA
Este trabalho objetiva o desenvolvimento de um protótipo que seja capaz de operar de forma semelhante ao
raciocínio humano, no sentido de identificar como o ser humano raciocina ao manipular o sistema de
ventilação dos silos.
Diferente de um controlador convencional onde os parâmetros são ajustados por meio de um ponto de
controle (set point), o Arfuzzy, protótipo desenvolvido neste trabalho, controla o tempo de ventilação
necessário para que a temperatura alcance níveis satisfatórios de armazenamento.
O Arfuzzy foi construído sobre a abordagem fuzzy baseado em regras envolvendo as etapas de
fuzificação, inferência e defuzificação. A metodologia de desenvolvimento iniciou com aquisição do
conhecimento, seguida pela modelagem fuzzy e o desenvolvimento. Posteriormente, o protótipo foi avaliado
para verificar os resultados obtidos.
199
ISBN: 978-972-8939-96-0 © 2013 IADIS
Onde, x é valor da variável de entrada TP, a ponto onde o grau de pertinência é 0 e γ é ponto onde o grau
de pertinência é 1.
As funções de pertinência para a variável TP foram definidas no intervalo de 30 a 60 graus Celsius,
abrangendo os conjuntos Baixa, Alta e Muito Alta.
Os graus de pertinência resultantes da etapa de fuzificação são então repassados para o mecanismo de
inferência. O objetivo dessa etapa é determinar o peso ou o grau de relevância de cada regra.
Posteriormente, inicia-se a etapa de defuzificação, sendo necessário definir as funções de pertinência para
a variável de saída tempo de ventilação (TV) formada pelos conjuntos fuzzy Mínimo, Médio e Máximo.
A defuzificação transforma os graus de relevância obtidos na etapa de inferência em um valor de saída
(crisp). Esta etapa agrupa as regras com os mesmos consequentes que tenham graus de relevância diferente
de zero e aplica, por exemplo, a união padrão, ou seja, escolhe o maior valor de grau de pertinência.
Então, utilizando o universo de discurso resultante da união dos conjuntos da variável de saída e os graus
de pertinência traçados pela união dos dois conjuntos, aplicou-se na defuzificação a fórmula do Centro de
Gravidade, que informa o ponto central, isto é, o centro da área formada pela união dos dois conjuntos,
indicando o valor da variável de saída TV. De acordo com Simões e Shaw (2007), a fórmula do Centro de
u U
Gravidade é definida por:
N
u i 1
u
j Out ( ui )
*
N
i 1
Out ( ui )
Onde UOut(ui) são os graus de pertinência que formam o contorno dos dois conjuntos e U i são os valores do
universo de discurso que compõe os dois conjuntos.
2.3 Desenvolvimento
Encontram-se disponíveis na internet algumas ferramentas para o desenvolvimento de sistemas fuzzy, como
por exemplo, o MatLab Toolbox Fuzzy e o UnFuzzy, sendo esta última gratuita. Porém, optou-se em
desenvolver o sistema no ambiente de programação Delphi 8.0. Sendo assim, o protótipo foi projetado para a
plataforma Windows.
No Arfuzzy tem-se as seguintes especificações dos processos: (a) capturar temperatura: processo que
recebe a temperatura capturada pelo sensor por intermédio do componente TcommPortDriver
(Commdrv.pas), e a transmite para a malha de controle. Este processo ocorre a cada segundo, sendo os
parâmetros da comunicação serial definidos no componente da seguinte forma: bits por segundo = 9600; bits
de dados = 8; paridade = nenhuma; bits de para = 1; controle de fluxo = nenhum; (b) avaliar a temperatura
e verificar o status da ventilação: processo que decide o fluxo de controle a seguir, sendo responsável por
verificar como está a temperatura e o status da ventilação (ligada ou desligada). Caso a temperatura seja igual
ou superior a 30 graus e a ventilação estiver desligada, o fluxo é desviado em direção à malha fuzzy. Do
mesmo modo, se a temperatura estiver igual ou superior a 30 graus, porém com a ventilação ligada, a
temperatura não entra na malha fuzzy pois o tempo previsto de ventilação ainda não terminou. Outra situação
em que o fluxo não segue pela malha fuzzy, é quando a temperatura está abaixo de 30 graus; (c) estimar o
tempo de ventilação: processo que realiza a fuzificação, inferência e defuzificação da variável temperatura,
determinando assim o tempo de ventilação necessário; (d) ligar a ventilação: processo que liga a ventilação,
se ela estiver desligada; (e) iniciar a contagem do tempo e alterar o status da ventilação: processo que
inicia a contagem do tempo decorrido assim que a ventilação é ligada. Também altera o status da ventilação
para Ligada; (f) apresentar informações na tela do computador: processo que mostra em tempo real todas
as ações do sistema na tela do computador; (g) verificar o status da ventilação e o final do tempo
200
Conferência IADIS Ibero-Americana Computação Aplicada 2013
decorrido: processo que verifica se a ventilação está ligada ou não, e também se o tempo previsto de
ventilação já foi atingido; (h) alterar o status da ventilação: processo que altera o status da ventilação para
Desligado. Dessa forma, caso a próxima temperatura capturada for igual ou superior a 30 graus, o fluxo
seguirá pela malha fuzzy; (i) avaliar a temperatura: processo que verifica se a temperatura capturada está
abaixo de 30 graus. Caso afirmativo, a ventilação é desligada; (j) desligar a ventilação: processo que desliga
a ventilação.
(a)
(c)
(b)
Figura 1. Estrutura geral do Arfuzzy
3. RESULTADOS OBTIDOS
O presente trabalho vem sendo desenvolvido, atualmente encontra-se na etapa de avaliação dos resultados
obtidos, contudo, até o presente momento, além das simulações feitas em laboratório, uma avaliação foi feita
junto com o especialista do domínio de aplicação para avaliar o protótipo desenvolvido. Constatou-se que o
protótipo está próximo do raciocínio do especialista, porém ainda faltam medições mais concretas com
relação ao tempo de ventilação necessário para que a temperatura diminua dentro do silo. Mesmo assim, isso
não chega a ser um problema, já que o universo de discurso da variável tempo de ventilação (TV) é bem
reduzido. Um fator positivo e que previne desgastes no mecanismo de ventilação, é que o motor permanece
ligado por certo tempo, mesmo que a temperatura alcance valores abaixo de 30 graus. No Arfuzzy é
composto por uma interface principal contendo cinco ícones para a interação com o usuário. Entre eles estão:
Ativar (ativa o protótipo); Desativar (desativa o protótipo); Manual (manual do usuário); Créditos
(informações sobre o projeto); Sair (encerra o protótipo).
201
ISBN: 978-972-8939-96-0 © 2013 IADIS
4. CONCLUSÃO
Este trabalho demonstrou como a lógica fuzzy, pode contribuir para a solução de problemas onde as variáveis
envolvidas são elementos vagos e imprecisos. Apresentou alguns conceitos necessários à implementação de
sistemas fuzzy, resultando no desenvolvimento de um protótipo para o controle da temperatura de
armazenagem do arroz bruto, o Arfuzzy.
Devido a grande abrangência da teoria fuzzy, buscou-se utilizar a abordagem que auxiliasse no controle
da temperatura dentro dos silos que armazenam os grãos de arroz bruto, a fim de poder vir a proporcionar
uma maior facilidade no processo de controle. Salienta-se que esse trabalho encontra-se em desenvolvimento,
sendo o Arfuzzy um protótipo que se encontra em fase de testes e avaliação, bem como o refinamento da
base de conhecimento do Arfuzzy junto a outros especialistas, a expansão da ação de controle para vários
silos, inserção de outras variáveis também importantes nesse processo de controle, como por exemplo, a
umidade, empregando-se um sensor a ser acoplado na malha de controle, visto que existe uma relação direta
entre temperatura e umidade.
A abordagem fuzzy parece evoluir mais rapidamente para a direção dos controladores, pois algumas
empresas fabricam controladores híbridos-fuzzy em escala comercial. Porém, apesar do vasto campo de
aplicação e de existir diversos artigos científicos que comprovam a eficiência dessa tecnologia, sistemas
fuzzy ainda são muito pouco utilizados em algumas realidades.
REFERÊNCIAS
Cox, E. 1994. The Fuzzy systems handbook: a practitioner’s guide to building and maintaining fuzzy System, Ap
professional, Boston.
Filev, D., Syed, F., 2010. Applied intelligent systems: blending fuzzy logic with conventional control. International
Journal of General Systems 39 (4), 395–414.
Hou, T., Huang, C., 2004. Application of fuzzy logic and variable precision rough set approach in a remote monitoring
manufacturing process for diagnosis rule induction. Journal of Intelligent Manufacturing 15 (3), 395–408.
Kazemian, H.B. 2001. "Development of an intelligent fuzzy controller," Fuzzy Systems. The 10th IEEE International
Conference on , vol.1, no., pp.517,520.
Lekova, A., Batanov, D., 1998. Self-testing and self-learning fuzzy expert system for technological process control.
Computers in Industry 37 (2), 135–141.
Onut, S., Kara, S., Mert, S., 2009. Selecting the suitable material handling equip- ment in the presence of vagueness.
International Journal of Advanced Manufacturing Technology 44 (7–8), 818–828.
Rojas, I. et al. 2006. Valenzuela, Adaptive fuzzy controller: Application to the control of the temperature of a dynamic
room in real time, Fuzzy Sets and Systems, Volume 157, Issue 16, Pages 2241-2258
Rowlands, H., Wang, L., 2000. An approach of fuzzy logic evaluation and control in SPC. Quality and Reliability
Engineering International 16 (2), 91–98.
Silva, F.V., Neves Filho L. C. e Silveira Jr. 2006. Experimental evaluation of fuzzy controllers for the temperature
control of the secondary refrigerant in a liquid chiller, Journal of Food Engineering, Volume 75, Issue 3, pp. 349-354
Simões, M., Shaw, I. Controle e Modelagem Fuzzy. 2 ed. Edgar Blucher
Vieira, J. P. A. et al. 2007. Controladores fuzzy aplicados ao conversor de geradores de indução duplamente excitados em
sistemas eólicos integrados a sistemas de potência. Sba Controle & Automação, vol.18, n.1, pp. 115-126.
Wang, L-X. 1997. A course in fuzzy systems and control, Prentice Hall, London.
Zadeh, L. A. 2008. Is there a need for fuzzy logic, IEEE, Information Sciences, Vol. 178, No. 13, pp 2751-2779.
202
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
As árvores são uma parte essencial do ecossistema terrestre. A arborização urbana, por vezes denominada floresta urbana,
exerce um papel importante na preservação da biodiversidade e das condições ambientais na cidade. A falta de técnicas e
ferramentas apropriadas para sua gestão, no entanto, pode contribuir de forma negativa e acarretar problemas que vão
desde a incompatibilidade com a infraestrutura urbana até a queda de árvores. Com o intuito de contribuir para o
desenvolvimento e aprimoramento destas ferramentas, este trabalho apresenta um software para gestão da arborização
urbana que visa atender às necessidades de municípios e parques.
PALAVRAS-CHAVE
Sistemas de Informação Aplicados; Arborização Urbana; Gestão de Arborização; Linha de Produto Software
1. INTRODUÇÃO
As árvores conferem uma dimensão especial na paisagem das cidades e desempenham um importante papel
no bem estar das comunidades, seja pela capacidade de minimização dos efeitos adversos da ocupação do
meio urbano, ou pelos serviços ambientais prestados como: a promoção e conservação da biodiversidade; o
conforto térmico; a conservação de energia; a melhoria da qualidade do ar; e a proteção dos recursos hídricos
(Schroeder, 1989), (Nowak, Dwyer e Childs, 1998), (SVMA, 2004).
A arborização deficiente ou mal planejada, além de influenciar na qualidade estética e psicológica de uma
cidade, afeta diretamente o seu clima, pois a falta de sombreamento está fortemente relacionada ao aumento
das temperaturas de superfícies impermeáveis e, consequentemente, à diminuição do conforto térmico
humano (Silva, 2012). A retenção ou absorção de partículas atmosféricas (emissões veiculares) também é
prejudicada deixando de amenizar os ambientes poluídos e afetando à saúde humana (Moreira, 2010).
A queda de árvores nas cidades é, sem dúvida, outro agravante (Brazolin, 2009). O desconhecimento
quanto ao seu estado fitossanitário (pragas e doenças) e das condições de plantio (interferências, canteiros e
passeios públicos) aliado, ou não, aos períodos de chuvas e ventos fortes, predispõe à queda de árvores,
podendo ocasionar sérios danos, desde perdas materiais até humanas.
A inexistência de planejamento urbano e a seleção e plantio inadequados das espécies arbóreas indicam
também a falta de critérios técnicos na correta implantação da arborização urbana, resultando na
incompatibilidade das árvores com a infraestrutura urbana instalada, como, postes de iluminação, instalações
subterrâneas e caixas de inspeção e no manejo inadequado (SVMA, 2005).
Nas prefeituras e nos parques urbanos brasileiros, normalmente, há uma carência de mão de obra
especializada e logística necessárias para gestão da arborização. As informações sobre cada espécie de
árvore, incluindo seus defeitos, suscetibilidade aos agentes biológicos e longevidade não são armazenados e
analisados de maneira adequada e, consequentemente, perdidos. A coleta dos dados de campo é outra etapa
crítica, necessitando da implantação de processos automatizados, como aplicativos móveis, para o transporte
das informações para um sistema centralizado, responsável pelo armazenamento e gestão dos dados de
campo.
Portanto, este trabalho teve como objetivo desenvolver um sistema de gestão de árvores que englobe o
planejamento da arborização, o diagnóstico e a análise de risco de queda, de modo que este venha a se tornar
mais uma ferramenta de apoio à gestão do meio ambiente.
203
ISBN: 978-972-8939-96-0 © 2013 IADIS
4. ARBIO
O software proposto trata-se de um sistema Web e Móvel, modular, baseado em uma abordagem de linha de
produto de software (LPS). Uma LPS compreende um conjunto de produtos destinados a um mercado
específico e que são desenvolvidos a partir da exploração de aspectos comuns e variáveis entre os produtos e
da utilização de artefatos reutilizáveis (Clements & Northrop, 2001).
O sistema dispõe de duas formas distintas para cadastramento das informações da arborização: por meio
de acesso ao sistema Web, via navegador, ou por dispositivos móveis, tais como smartphones e PDAs
(Personal Digital Assistant).
A escolha da disponibilização de um aplicativo para dispositivos móveis se deu em vista da necessidade
intrínseca do trabalho de inspeção da árvore em campo. De acordo com estudos publicados, a coleta de dados
com dispositivos móveis apresenta uma série de vantagens se comparada à coleta com papel, dentre as quais
se destacam a diminuição do tempo para coleta e o aumento da acurácia das informações (Lane et al, 2006),
(Galliher et al., 2008). A sincronização das informações coletadas em campo pode ser feita por meio de
204
Conferência IADIS Ibero-Americana Computação Aplicada 2013
conexão de dados ou por conexão do dispositivo móvel a um computador com acesso à rede na qual o
sistema encontra-se instalado.
O software é composto por três módulos diferentes: i) inventário, para cadastro das árvores; ii)
planejamento, para planejamento de plantio; e iii) registro de queda, para cadastro de queda de árvores. A
integração destes três módulos permite controle sobre todo o ciclo de vida de uma árvore, desde o plantio, até
a sua morte.
4.1 Arquitetura
A arquitetura foi definida com base no padrão de três camadas (Eckerson, 1995) e seus principais
componentes estão representados na Figura 1.
205
ISBN: 978-972-8939-96-0 © 2013 IADIS
4.2 Inventário
O módulo de Inventário constitui o núcleo do ARBIO. Neste módulo são registradas as informações dos
espécimes inventariados e o histórico de todas as inspeções realizadas.
A partir do Inventário é possível efetuar o monitoramento das árvores cadastradas (principalmente em
relação ao risco de queda) e consultar informações de inspeções para a execução de ações de prevenção. A
Figura 2 ilustra a interface inicial deste módulo.
Dados Principais: engloba o conjunto mínimo de informações para a identificação de uma árvore,
em:
Condição de Entorno: dados do entorno da árvore, como informações sobre a via, calçada, canteiro e
como os dados da inspeção, localização do espécime, identificação botânica e vitalidade;
Estado Fitossanitário: engloba informações sobre os organismos presentes na árvore, como fungos,
Avaliação Fuste: informações do fuste da árvore (região que compreende o colo e o tronco);
Avaliação Copa: informações da copa da árvore;
Ação Antrópica: informações de ações do homem sobre a árvore;
Análise Interna: engloba o conjunto de dados provenientes da análise do interior da árvore;
Análise de Risco: contém informações sobre o risco de queda da árvore, a partir de modelos
Fotos;
tratando de risco de queda, e permite o registro da avaliação técnica deste risco;
206
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Além do cadastro das árvores, o módulo de Inventário oferece uma ferramenta para cruzamento de
informações da base de dados, denominada Relatório de Pesquisa. Por meio desta ferramenta podem-se obter
dados sobre a situação da arborização, tais como: quantidade de árvores inventariadas, espécies
predominantes, árvores com problemas potenciais, problemas com maior recorrência e árvores com alto risco
de queda. Esta ferramenta enriquece a gestão, além de prover informações que auxiliam o planejamento da
arborização.
4.3 Planejamento
O módulo de Planejamento tem por objetivo o registro de oportunidades de plantio. A identificação de
espaços livres, passíveis de arborização, pode ser cadastrada no sistema.
Cada oportunidade é avaliada em termos de atributos e parâmetros de planejamento, e que, seguindo os
valores de referência definidos pela prefeitura ou parques, indicarão as espécies que apresentam o porte mais
adequado (pequeno, médio ou grande). Com base na avaliação é possível indicar quais espécies poderão ser
plantadas. Os atributos e parâmetros de planejamento são apresentados na Tabela 1.
Tabela 1. Atributos e parâmetros de planejamento.
Atributo Parâmetro
Largura mínima
Calçada ou canteiro central
Área do canteiro ou faixa permeável
Edificação
Parte aérea
Rede de energia
Caixa de inspeção e hidrante
Espécies arbóreas
Esquina ou confluência do alinhamento predial
Estai
Iluminação pública
Elemento de referência Guia rebaixada
Iluminação pública
Instalação subterrânea
Mobiliário urbano
Poste
Transformador
Além disso, durante o registro da oportunidade é possível anotar medidas e adequações necessárias que
deverão ser realizadas no local antes do plantio.
Outro recurso disponível é a execução do plantio da árvore, que possibilita ao utilizador indicar que uma
determinada oportunidade de plantio foi concretizada. Este recurso está completamente integrado ao módulo
de Inventário, de modo que, logo após a realização do plantio, as informações da nova árvore já estarão
incorporadas à base de dados central.
207
ISBN: 978-972-8939-96-0 © 2013 IADIS
5. CONCLUSÃO
Neste trabalho é apresentado o ARBIO, um Sistema para Gestão de Arborização Urbana. A partir da
aplicação da computação, empregando-se tecnologias para mobilidade, gestão, armazenamento e integração
de dados, mostrou-se possível o desenvolvimento de uma ferramenta que contribua para a gestão do meio
ambiente.
O Sistema de Gestão da Arborização Urbana proposto atende aos anseios de gestão dos municípios e de
parques, permitindo maximizar as funções ambientais e de qualidade de vida das pessoas em uma cidade,
conforme contextualizado na Constituição Federal de 1988 e regulamentado no Estatuto das Cidades, Lei
nº 10.267/2001.
Embora o trabalho represente mais um passo em direção ao aprimoramento da gestão da arborização,
Visualização da arborização: atualmente as informações das árvores não podem ser exibidas em um
algumas melhorias e extensões do trabalho foram identificadas, como:
mapa ou por meio de recursos de espacialização. A implementação deste recurso visa facilitar a
Módulo de valoração: estuda-se a adição de mais um módulo ao sistema, que permitirá quantificar o
coleta, cadastro e visualização das árvores.
Módulo de relação com a rede elétrica: este módulo permitirá a coleta de informações da árvore com
valor monetário de um espécime.
relação à rede elétrica, permitindo melhor gestão pela prefeitura e respectiva concessionária de
energia elétrica.
REFERÊNCIAS
Brazolin, S., 2009. Biodeterioração anatomia do lenho e análise de risco de queda de árvores de tipuana, Tipuana tipu
(Benth.) O. Kuntze, nos passeios públicos da cidade de São Paulo, SP. Dissertação de Mestrado, Escola Superior de
Agricultura “Luiz de Queiroz” – USP, Piracicaba, Brasil.
Clements, P. e Northrop, L., 2001. Software Product Lines: Practices and Patterns. Addison-Wesley Professional,
Boston, EUA.
Eckerson, W., 1995. Three Tier Client/Server Architecture: Achieving Scalability, Performance, and Efficiency in Client
Server Applications. Open Information Systems 10.
Galliher, J. et al, 2008. Data collection outcomes comparing paper forms with PDA forms in an office-based patient
survey. Annals of Family Medicine, Vol. 6, No. 2, pp. 154-160.
Fróes, C. et al, 2007. Sistema de Gestão e Manejo da Arborização Urbana ao Longo das Redes de Distribuição. IV
Congresso de Inovação Tecnológica em Energia Elétrica, pp. 1-12.
Lane, S. et al, 2006. A review of randomized controlled trials comparing the effectiveness of hand held computers with
paper methods for data collection. BMC Medical Informatics and Decision Making, Vol. 6, No. 23, pp. 1-10.
Moreira, T., 2010. Interação da poluição atmosférica e a vegetação arbórea na cidade de São Paulo. Dissertação de
Mestrado, Escola Superior de Agricultura “Luiz de Queiroz” – USP, Piracicaba, Brasil.
Nowak D., Dwyer J. e Childs, G., 1998. Áreas verdes urbanas en Latinoamérica y el Caribe. Universidad Autónoma
Chapingo, Cidade do México, México.
Prefeitura Municipal de São Paulo, 2004. SISGAU – Sistema de Gerenciamento das Árvores Urbanas [Programa de
Computador].
Secretaria Municipal do Verde e do Meio Ambiente (SVMA), 2004. GEO cidade de São Paulo: panorama do meio
ambiente urbano. São Paulo, Brasil.
Secretaria Municipal do Verde e do Meio Ambiente (SVMA), 2005. Manual técnico de arborização urbana. São Paulo,
Brasil.
Silva, I., 2012. Efeitos do uso e cobertura do solo sobre o conforto higrotérmico. Dissertação de Mestrado, Escola
Superior de Agricultura “Luiz de Queiroz” – USP, Piracicaba, Brasil.
Schroeder, H., 1989. Environment, Behavior, and Design Research on Urban Forests. Advances in Environment,
Behavior and Design, Vol. 2, pp. 87-117.
United States Forest Service, 2009. i-Tree [Programa de Computador]
208
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Os sistemas de busca exploratória são construídos sobre novas tecnologias e paradigmas de interface que facilitam o
aumento do nível de interação dos usuários com a informação e demandam desafios para a avaliação. Neste trabalho são
apresentados os resultados de um estudo exploratório do uso do método Avaliação Heurística para a avaliação das
funcionalidades para busca exploratória de um sistema para gerenciamento eletrônico de documentos. O estudo visa
identificar características do método que poderiam ser especializadas ou estendidas para apoiar a avaliação de sistemas de
busca exploratória. O estudo envolveu uma avaliação com a participação de oito avaliadores e um supervisor. A
possibilidade de extensão do método, a necessidade de suporte computacional e de heurísticas específicas para sistemas
de busca exploratória foram alguns dos resultados encontrados neste estudo de caso.
PALAVRAS-CHAVE
Busca, busca exploratória, interface de usuário, avaliação, avaliação heurística.
1. INTRODUÇÃO
Um dos interesses das áreas de Recuperação de Informação (RI) e de Interação Humano-Computador (IHC)
é projetar e avaliar tecnologia para o suporte a atividades mais exploratórias de busca (White et al., 2007;
Hendry, 2006; Belkin et al., 2004). Busca Exploratória (Exploratory Search) é definida como uma classe de
atividades mais complexas de busca em relação à abordagem tradicional de RI (Marchionini, 2006).
A abordagem tradicional de RI consiste em obter resultados precisos relacionados às consultas
especificadas. Marchionini (2006) classifica as atividades de busca exploratória em três tipos: busca (lookup),
aprendizagem e investigação. A busca exploratória está relacionada especialmente às atividades de
aprendizagem e investigação, mas a atividade de busca também pode ser empregada. Por exemplo, as
atividades de busca estão geralmente embutidas nas atividades de aprendizagem e investigação. As atividades
do tipo aprendizagem envolvem o processamento cognitivo e a interpretação de conhecimento novo; as do
tipo investigação requerem avaliação crítica antes da integração às bases de conhecimento.
O foco da pesquisa em Busca Exploratória tem sido no desenvolvimento de novos sistemas e interfaces
para apoiar as atividades de busca exploratória, ao invés da sua avaliação (White et al., 2008). Os sistemas de
busca exploratória são construídos sobre novas tecnologias e paradigmas de interface que facilitam o
aumento do nível de interação com a informação. Esse nível alto de interação, que é parte integral da busca
exploratória, demanda desafios para a avaliação.
Neste trabalho são apresentados os resultados de um estudo exploratório do uso do método Avaliação
Heurística para a avaliação das funcionalidades para busca exploratória de um sistema para gerenciamento
eletrônico de documentos. A Avaliação Heurística é o método de avaliação de usabilidade mais utilizado,
uma vez que é fácil de ser aplicado e o custo é baixo. No entanto, a avaliação e eficácia do método Avaliação
Heurística continua ainda a ser um objeto de pesquisa (Hollingsed e Novick, 2007). O estudo deste trabalho
visa identificar características do método que poderiam ser especializadas ou estendidas para apoiar a
avaliação de sistemas de busca exploratória.
209
ISBN: 978-972-8939-96-0 © 2013 IADIS
2. AVALIAÇÃO HEURÍSTICA
A Avaliação Heurística (Nielsen, 1994; Nielsen e Molich, 1990) é um método de inspeção para a avaliação
da usabilidade de sistemas interativos. O objetivo é identificar problemas de usabilidade que serão corrigidos
ao longo do processo de desenvolvimento do sistema. Esse método envolve a participação de um pequeno
grupo de avaliadores na análise da interação e julgamento dos elementos interativos da interface do sistema,
em relação a um conjunto de princípios ou heurísticas.
Para garantir a independência de opiniões e eliminar a influência de um avaliador na análise de outro
avaliador, cada membro do grupo de inspeção analisa a usabilidade do sistema separadamente,
inspecionando-o várias vezes, analisando todos os elementos interativos e comparando-os com as
recomendações, princípios e/ou heurísticas previamente definidas. Heurística é uma parte do conhecimento
capaz de sugerir ações plausíveis que devem ser seguidas ou ações implausíveis que devem ser evitadas
(Lenat, 1982). Assim, heurísticas são regras informais de julgamento que guiam as pessoas numa rápida
tomada de decisão. As heurísticas originais para o método em questão foram propostas por Nielsen e Molich
(1990), reformuladas e reunidas por Nielsen (1994) em dez heurísticas de usabilidade. No entanto, qualquer
outro conjunto de princípios ou heurísticas pode ser usado para a aplicação do método.
Durante uma avaliação com o método Avaliação Heurística, cada avaliador diagnostica problemas de
usabilidade que, em sua opinião, violam os princípios de usabilidade. Em seguida, esses problemas são
associados aos princípios teoricamente violados e apresentados em um relatório elaborado pelo próprio
avaliador. Ao final de todas as avaliações, os resultados individuais são congregados em um relatório final de
avaliação, composto por uma lista consolidada de problemas. Além disso, essa lista também pode ser
submetida aos avaliadores, para que estes classifiquem cada problema de acordo com níveis de severidade.
Essa classificação, além de fornecer uma boa visão da usabilidade geral do sistema, permite a identificação
dos problemas mais sérios, na opinião da maioria dos avaliadores, apontando aqueles que deveriam ser
corrigidos prioritariamente.
3. METODOLOGIA
A avaliação realizada foi organizada de acordo com as recomendações do padrão ISO/IEC 14598-5,
avaliação de produto de software (processo para avaliadores), que divide o processo de avaliação em quatro
estágios: especificação, planejamento, avaliação piloto e avaliação (ISO/IEC, 1998).
Na etapa de especificação, o escopo e o objetivo da avaliação foram definidos. O escopo da avaliação foi
a interface para busca exploratória do Gestor Eletrônico de Documentos e informações (GEDi) (Mussi et al.,
2009), um sistema para o gerenciamento eletrônico de documentos e das informações de contexto
relacionadas a estes documentos. O objetivo da avaliação, além de encontrar problemas de usabilidade no
projeto da interface do sistema GEDi, foi identificar as características do método Avaliação Heurística que
poderiam ser especializadas ou estendidas para apoiar a avaliação de sistemas de busca exploratória.
Na etapa de planejamento, um plano para a realização da avaliação foi elaborado com os procedimentos
relacionados ao método (Avaliação Heurística) que seriam executados e o formulário que seria utilizado
pelos avaliadores. As heurísticas utilizadas neste estudo foram as desenvolvidas originalmente para este
método, reformuladas e reunidas por Nielsen (1994) em dez heurísticas1 de usabilidade. Na avaliação foram
envolvidos oito avaliadores, todos são estudantes de graduação que concluíram a disciplina de Interação
Homem-Computador e têm experiência em desenvolvimento de software.
Na etapa de avaliação piloto, uma avaliação de teste foi realizada para identificar problemas com o
planejamento da avaliação (Preece et al., 2002). Durante a avaliação piloto, as seguintes questões foram
analisadas: (a) se os procedimentos da avaliação estavam descritos com clareza para a condução da
avaliação; e (b) se todas as informações necessárias seriam registradas corretamente no formulário. Ao final
da avaliação piloto, nenhum problema foi identificado.
Na etapa de avaliação, os avaliadores percorreram a interface pelo menos duas vezes, analisando todos os
elementos de interação, comparando-os com as heurísticas e anotando os problemas identificados no
formulário. Os formulários preenchidos pelos avaliadores foram compilados e consolidados em um
1
http://www.nngroup.com/articles/ten-usability-heuristics/.
210
Conferência IADIS Ibero-Americana Computação Aplicada 2013
documento único, que foi apresentado aos avaliadores em uma sessão de brainstorming para discutir os
principais problemas de usabilidade e as soluções possíveis. Além disso, os problemas de usabilidade foram
classificados em uma escala de quatro pontos com base no impacto sobre o usuário final.
4. RESULTADOS E CONCLUSÃO
Na Figura 1 são mostrados quais avaliadores encontraram determinados problemas de usabilidade. Cada
linha representa um dos oito avaliadores e cada coluna representa um dos vinte e três problemas de
usabilidade encontrados. Cada um dos quadrados pretos (intersecção de linha e coluna) indica a descoberta
de um dos problemas de usabilidade por um dos avaliadores. As colunas foram ordenadas de maneira que os
problemas de usabilidade que receberam o maior nível de impacto sobre o usuário final estão à direita e
aqueles que receberam o menor nível estão à esquerda. Os problemas de usabilidade encontrados não são
comentados porque o objetivo deste trabalho está centrado no método utilizado na avaliação.
Figura 1. Ilustração que mostra quais avaliadores encontraram determinados problemas de usabilidade.
O trabalho de consolidação exige tempo e muita atenção, pois cada avaliador relata à sua maneira os
problemas de usabilidade encontrados, assim como a sua localização na interface do sistema. A maior
dificuldade está na atividade de comparação dos diversos problemas para encontrar problemas igualmente
relatados ou parecidos em sua descrição e localização. Para realizar essa atividade, foi necessário analisar um
mesmo problema várias vezes. Outra dificuldade surgia quando as informações fornecidas pelo avaliador não
foram suficientes para reproduzir o problema; sempre que possível, o avaliador foi consultado sobre qual a
melhor decisão a ser tomada.
Um conflito ocorria quando níveis de impacto diferentes foram atribuídos a problemas considerados
idênticos. Nos casos em que os níveis de impacto possuíam valores diferentes, foi considerado o valor médio
entre eles e esse valor foi atribuído ao nível de impacto do problema. Nos casos em que possuíam valores
iguais, o valor com maior número de ocorrências foi atribuído ao nível de impacto do problema. Por
exemplo, se dois avaliadores atribuíram o valor 2 ao nível de impacto de um problema e outros três
avaliadores atribuíram o valor 3 para o mesmo problema, o valor 3 era atribuído ao nível de impacto do
problema em questão no relatório final consolidado.
A realização de uma avaliação usando o método Avaliação Heurística foi suficiente para a identificação
de algumas questões importantes ao considerar o emprego deste método para a avaliação de sistemas de
busca exploratória:
1. O método Avaliação Heurística poderia ser estendido para obter mais informações dos avaliadores
com relação ao sistema em avaliação e ao próprio método por meio da inclusão de outros
instrumentos de avaliação (por exemplo, um questionário no final do processo). Essas informações
(feedback) poderiam auxiliar, por exemplo, na preparação de testes com usuários finais. Além disso,
a inclusão de uma lista de tarefas que devem ser realizadas pelos avaliadores seria uma boa
estratégia para incentivá-los a percorrer toda a interface do sistema em avaliação.
211
ISBN: 978-972-8939-96-0 © 2013 IADIS
AGRADECIMENTOS
Os autores agradecem à UTFPR, Fundação Araucária, Secretaria de Estado da Ciência, Tecnologia e Ensino
Superior (SETI-PR) e Governo do Estado do Paraná pelo apoio financeiro.
REFERÊNCIAS
Belkin, N., Dumais, S., Scholtz, J., and Wilkinson, R., 2004. Evaluating interactive information retrieval systems:
Opportunities and challenges. Proc. of SIGCHI conference on Human factors in computing systems, pp. 1594-1595.
Hendry, D. G., 2006. Workspaces for search. In Journal of ASIST, 57, 6, pp. 800-802.
Hollingsed, T. and Novick, D. G., 2007. Usability inspection methods after 15 years of research and practice. Proc. 25th
Annual ACM International Conference on Design of Communication, pp. 249-255.
ISO/IEC, 1998. ISO/IEC 14598-5:1998 Information technology – Software product evaluation – Part 5: Process for
evaluators. Available at http://www.iso.org/.
Lenat, D. B., 1982. The nature of heuristics. In Artificial Intelligence, 19, 2, pp. 189-249.
Marchionini, G., 2006. Exploratory search: From finding to understanding. In CACM, 49, 4, pp. 41-46.
Mussi, L. P. S., Takemiya, S. H., Pansanato, L. T. E., Pozza, R. S., Yasui, P. H. Z., Della Mura, W. A., and Bastiani, J.
A., 2009. GEDi: Gestor Eletrônico de Documentos e informações. Anais do XVIII Workshop de Ferramentas e
Aplicações (WFA) – V Simpósio Brasileiro de Sistemas Multimídia e Web, Fortaleza, 2, pp. 124-126.
Nielsen, J. and Molich, R., 1990. Heuristic evaluation of user interfaces. Proc. of the SIGCHI conference on Human
factors in computing systems, pp. 249-256.
Nielsen, J., 1994. Heuristic evaluation. in Nielsen, J. and Mack, R. L. (Eds.). Usability Inspection Methods. John Wiley &
Sons, New York.
Preece, J., Rogers, Y., and Sharp, H., 2002. Interaction Design: Beyond Human-Computer Interaction. John Wiley &
Sons, New York.
White, R. W., Drucker, S. M., Marchionini, G., Hearst, M., and Schraefel, M. C., 2007. Exploratory search and HCI:
designing and evaluating interfaces to support exploratory search interaction. Proc. of the CHI Extended Abstracts,
pp. 2877-2880.
White, R. W., Marchionini, G., and Muresan, G., 2008. Evaluating exploratory search systems: Introduction to special
topic issue of information processing and management. In Information Processing and Management, 44, 2, pp. 433-
436.
212
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMEN
Este documento describe el diseño y desarrollo de una solución de software para la planificación de horarios de una
institución educativa. La solución descrita fue implementada en la Universidad del Meta en Colombia, aquí se presentan
y explican los componentes utilizados para alcanzar un conjunto de resultados funcionales en el ambiente de producción
para el cual fue desarrollada la solución de software. La aplicación fue concebida como una solución distribuida en donde
los componentes permiten, la recolección de restricciones de manera descentralizada, la coordinación de dichas
restricciones para que la asignación automatizada pueda ser viable, los mecanismos de notificación para control de
restricciones y el diseño optimizado de los horarios finales.
PALABRAS CLAVE
Horarios, Planificación, Software Distribuido, Restricciones.
1. INTRODUCCION
Uno de los problemas que afrontan las instituciones educativas cuando inicia un nuevo periodo académico se
encuentra asociado a la distribución óptima de los horarios de clase, esta problemática reside principalmente
en la gran cantidad de variables que se ven involucradas en el proceso de la construcción del horario de cada
actividad. La distribución de horas para grupos, para profesores, el tamaño y los recursos de los salones, son
solo algunos de los elementos que complican el proceso de asignación inicial. El problema de horarios
educativos concierne a la planificación de un número de eventos o actividades (clases, laboratorios,
exámenes) en un conjunto de recursos limitados, como salones, franjas horarias, sujeto a un conjunto de
restricciones (Lewis & Paechter, 2007). En general estas restricciones pueden clasificarse en restricciones
suaves (soft constraint) y restricciones fuertes (hard constraint) (Burke & Petrovic 2002), una restricción
fuerte es de obligatorio cumplimiento, mientras que las restricciones suaves si bien son deseables, su
cumplimiento no es obligatorio, ejemplos de restricciones suaves son el tiempo máximo que un profesor
puede dictar clases de manera continua, o la cantidad de salones que deben quedar disponibles para
actividades extras. Restricciones fuertes son por ejemplo, que un mismo profesor no puede dictar clase a dos
grupos al mismo tiempo, o un mismo salón no puede ser ocupado por dos grupos de manera simultánea. Si
bien existen soluciones y diferentes aproximaciones a la asignación óptima de horarios de clase para
instituciones educativas, el principal problema de las soluciones existentes reside en que ante un conjunto de
restricciones complejas el software produce solamente horarios parciales o en algunos casos la asignación no
puede completarse. Este trabajo no hace un énfasis primario en la construcción del algoritmo de asignación
final, sino en el diseño de una solución que de manera distribuida permite recolectar las restricciones y
mediante un algoritmo desarrollado para tal fin, permite coordinar el conjunto de restricciones de modo que
su aplicación pueda garantizar un diseño optimizado de los horarios, en donde las restricciones fuertes se
satisfagan en su totalidad.
213
ISBN: 978-972-8939-96-0 © 2013 IADIS
4. DISEÑO DE LA APLICACIÓN
La solución propuesta busca atacar el problema de las restricciones fuertes inviables, que afectan cualquier
método que se seleccione para realizar la asignación inicial de los horarios. Todos los componentes de la
214
Conferência IADIS Ibero-Americana Computação Aplicada 2013
aplicación están orientados hacia la recolección de las restricciones de manera distribuida y la coordinación
efectiva para que dichas restricciones puedan satisfacerse en el componente que realiza la asignación inicial.
En principio la aplicación se construye sobre la base de que la recolección de las restricciones debe realizarse
y depurarse de manera distribuida, entendiendo que el principal insumo para lograr una generación efectiva
de los horarios es el conjunto de dichas restricciones. Las restricciones son específicas para cada curso en
cada programa y el proveedor natural de dicha información es el director de programa. A fin de alcanzar el
objetivo de recolectar y depurar las restricciones se propone el uso de un algoritmo que sea capaz de
identificar las restricciones inviables y evitar que en el proceso de recolección sean incluidas en el conjunto
final. Este algoritmo y su operación suponen el uso de un mecanismo de comunicación y un efecto asíncrono
en la toma de datos que permita reducir las condiciones causantes de asignaciones pobres o incompletas en el
proceso de asignación. Estas restricciones que son proporcionadas a la aplicación pueden ser de dos tipos
como se describe en la tabla 2.
Tabla 2. Tipos de restricciones y su funcionalidad dentro de la aplicación para asignación automática de horarios.
Tipo de Restricción Funcionalidad Ejemplos
Restricciones de Tiempo Evitar cruces de horarios, horarios que resulten - Un profesor solo puede dictar clases en la tarde.
excesivos para alumnos o profesores, permitir a - Un conjunto de alumnos que no pueden asistir a clase
ciertos profesores tener rangos de horario en la mañana.
preestablecidos.
Disponer de salones con capacidad específica, - Una asignatura que requiere laboratorio de química.
Restricciones de recurso disponer de recursos especiales como elementos - Un grupo de estudiantes que requiere de una sala de
de laboratorio o salas de cómputo. conferencias.
La aplicación distribuida se compone de cinco elementos para su funcionamiento: Una base de datos
donde estas restricciones son almacenadas, una interfaz de usuario para recolección de restricciones, un
generador de horarios automático, una interfaz que permite el intercambio de la información entre la base de
datos y el generador de horarios y finalmente con el fin de garantizar la efectividad del generador de horarios
el componente distribuido es un Webservice (Leymann, 2002), el cual permite que las restricciones puedan
coordinarse durante su ingreso al sistema. A continuación se describen brevemente dichos componentes.
descrita se utiliza PostgresSQL (Stonebraker 1990).
Interfaz de usuario: Este componente es desarrollado utilizando PHP (Personal Home Page), PHP es un
lenguaje de programación de propósito general utilizado principalmente en la construcción de
aplicaciones Web (Lerdorf 2002). El objetivo primario de esta interfaz es permitir a los directores de
programa alimentar fácilmente las restricciones de tiempo y recursos de cada asignatura o curso.
Gestor de Horarios automático: FET es un software libre para la planificación automática de horarios
en instituciones educativas (Mansor, Arbain and Hassam 2013). Utiliza un método secuencial que resulta
eficiente cuando las restricciones han sido correctamente depuradas y el formato para definición de las
restricciones es XML, lo cual facilita la interacción con los otros componentes.
Interfaz de Intercambio: La función de este componente es la de permitir a partir de la información
contenida en la base de datos construir las restricciones que serán procesadas por el gestor (FET), en la
implementación gracias al formato XML de FET. Esta operación es realizada por un módulo
desarrollado usando el lenguaje de programación PHP.
Webservice: El Webservice es un componente virtual que puede ser accedido a través de diferentes
formatos y protocolos (Leymann, 2002), el objetivo del componente es garantizar que en el momento del
ingreso de restricciones que provienen de diferentes fuentes, el algoritmo de verificación evite la
inviabilidad del conjunto de restricciones. La figura 1 muestra la arquitectura de la aplicación propuesta.
215
ISBN: 978-972-8939-96-0 © 2013 IADIS
5. DESARROLLO DE LA SOLUCIÓN
La interfaz Web permite recolectar las restricciones de manera concurrente, la recolección se realiza con la
expectativa de que las restricciones consolidadas podrán transformarse en el formato XML requerido por
FET para la asignación del horario, sin embargo el principal problema de este esquema radica en que muchos
de los recursos son compartidos entre los usuarios de la aplicación, idealmente las franjas horarias para un
recurso podrán ser asignadas si el conjunto de restricciones asociadas al uso de dicho recurso no entran en
conflicto, incluso si han sido establecidas por usuarios diferentes. La solución propuesta busca detectar estos
conflictos durante el proceso de recolección de requerimientos haciendo uso de un algoritmo y un mecanismo
de comunicación (protocolo o servicio), en este caso el Webservice.
La inviabilidad de un conjunto de restricciones consiste en la imposibilidad de asignar un conjunto de t+ 1
actividades que requieren una franja de tiempo dentro de un conjunto de t franjas de tiempo (Brucker, 2004).
El algoritmo para detección temprana de las restricciones inviables consiste en detectar los rectángulos no
superpuestos (Marte, 2002), mediante un algoritmo de procesamiento de matrices los conjuntos de
restricciones son evaluadas recurso a recurso (profesor, salón, franja horaria), cada conjunto de restricciones
es ubicado dentro de los bloques de franjas horarias y luego se sobreponen para identificar la franja horaria
conjunta. En la figura 2 se describe gráficamente el accionar del algoritmo para la detección de restricciones
inviables.
Figura 2. Ejemplo de una restricción que hace inviable la asignación del horario
En el caso de la figura una actividad para un profesor es restringida en un programa X para que sus franjas
horarias se limiten a Lunes 7-9 y miércoles de 7-9, la actividad programada requiere 4 franjas horarias, es
decir que la restricción individual puede satisfacerse, en el otro caso en el programa Y las restricciones de
franja se limitan a lunes de 7-9 y viernes de 7-9, esta restricción también puede satisfacerse, sin embargo en
la restricción conjunta las franjas horarias se limitan a 6, debido a los rectángulos no superpuestos (Marte,
2002), que en la asignación final hacen imposible la programación de los horarios con las restricciones
existentes. En este caso ante la detección de las restricciones inviables el algoritmo genera un mensaje que es
enviado de manera asíncrona a la interfaz Web utilizando un Webservice y dicha interfaz evita que la
restricción conflictiva sea registrada, en este caso el segundo usuario tendrá que tomar los correctivos
necesarios.
216
Conferência IADIS Ibero-Americana Computação Aplicada 2013
6. RESULTADOS
En la primera implementación del sistema de asignación automática de horarios para el periodo académico 2
de 2013 en la Universidad del Meta el diseño de la aplicación distribuida permitió depurar en tiempo real el
conjunto de restricciones recolectadas, al final de la implementación entre un total de 1859 actividades, se
programaron automáticamente 1710. Las actividades que no se pudieron programar de manera automática
corresponden a clases con requerimientos de salones especiales para los cuales existe una demanda excesiva
y en este caso la universidad no cuenta con salones suficientes para satisfacer dicha demanda. En
experimentos previos utilizando la misma arquitectura y los mismos algoritmos pero sin la identificación
temprana de restricciones inviables, el proceso de asignación de horarios solo alcanzo cerca de un 15% del
total de las actividades a programar, lo cual redundaba en resultados inutilizables para la institución.
7. CONCLUSIONES Y RECOMENDACIONES
Si bien existen gran variedad de algoritmos, implementaciones y productos de software que permiten resolver
de manera efectiva los problemas relacionados con la asignación de horarios en instituciones educativas,
todas estas soluciones dependen de la calidad del conjunto de restricciones en cuanto a su construcción, la
aproximación abordada en este documento permite filtrar de manera efectiva el conjunto de restricciones que
se han de proveer a la herramienta que se encarga de realizar la asignación de horarios, garantizando que el
resultado final pueda ser utilizado en producción. El empleo de protocolos o mecanismos como los
Webservice y las aplicaciones Web, permite obtener una solución distribuida en la que la recolección de las
restricciones sea efectiva y a la vez dicha recolección permita controlar las restricciones eliminando aquellas
que puedan hacer inviable la planificación adecuada y automatizada de los horarios.
REFERENCIAS
Lewis, R. & Paechter, B., 2007. ‘Finding Feasible Timetables Using Group-Based Operators’. IEEE Transactions on
Evolutionary Computation, Vol. 11 No. 3, pp 397-413.
Burke, E.K. & Petrovic, S., 2002. ‘Recent Research Directions in Automated timetabling’, European Journal of
Operations Research-EJOR, Vol. 140, pp 266-280.
Mockus, J. & Pupeikiene L., 2012. ‘On Multi-Start Algorithms for Optimization of High School Timetables’,
INFORMATICA, Vilnius University, Vol. 23 No. 3, pp 405-425.
Hanover Research Council, 2009. ‘Best Practices For Timetabling and Space Allocation Policies in Universities’,
Washington DC: HRC.
De Werra, D., 1985. ‘An Introduction to Timetabling’. European Journal of Operational m Research, Vol. 19, pp. 151-
162.
Arbennadher, S. & Marte, M., 2000. ‘University Course Timetabling Using Constraint Handling Rules’, Applied
Artificial Intelligence: An International Journal, Vol. 14, Issue 4, pp 311-325.
Rawat, S. & Rahamani, L., 2010. ‘A Timetable Prediction for Technical Educational System Using Genetic Algorithm’,
Journal of Theoretical & Applied Information Technology, Vol. 13, Issue 1-2, pp 59-64.
Brucker, P., 2004. Scheduling Algorithms, Springer, Osnabrück, Germany.
Marte, M., 2002. Models and Algorithms for School Timetabling: A Constraint-Programming Approach, Institute of
Computer Science, LMU, Munich, Germany.
Mansor, Z., Arbain, J. and Hassan, M., 2013. ‘Implementation of FET Application in Generating a University Course and
Examination Timetabling’. In: ICIBA2013, the Second International Conference on Information Technology and
Business Application. Palembang, Indonesia, 22-23 February 2013.
Leymann, F., 2002. ‘Web Services: Distributed Applications without Limits –An Outline-’, In: Proceedings of Database
Systems for Business and the Web BTW 2003. Leipzig, Germany, 26-28 February, 2003.
StoneBraker, M., 1990. ‘The implementation of POSTGRES’. IEEE Transactions on Knowledge and Data Engineering,
Vol. 2, Issue 1, pp 125-142.
Lerdorf, R., Tatroe, K., Kaehms, B. and McGredy, R, 2002. Programming PHP, O’Reilly, USA.
217
ISBN: 978-972-8939-96-0 © 2013 IADIS
RESUMO
Existem muitas áreas nas quais o processamento de imagem digital é usado tanto em uma melhoria de imagem,
modificação e outros. Neste trabalho será apresentado como o uso de técnicas de processamento de imagem digital com
Otsu, dilatação, Fill-holes, erosão e Watershed podem ser utilizados como um auxílio na área da medicina com um
software capaz de realizar a detecção de células. Este software utiliza várias técnicas de processamento de imagem
digital, a fim de realizar a detecção de células em uma imagem para auxiliar o especialista.
PALAVRAS-CHAVE
Detecção de células, processamento de imagem digital.
1. INTRODUÇÃO
As células sanguíneas são descendentes de uma célula-mãe única, denominada célula pluripotente,
totipotente, steam-cell ou célula-tronco. Aproximadamente 25% das células desenvolvidas são eritrócitos,
enquanto 75% são destinadas a se tornarem leucócitos (SILVERTHORN, 2010). Em um único dia a medula
óssea pode dar origem a cerca de seis bilhões de células.
A importância da contagem das células do sangue consiste em uma indicação primária da saúde. Essas
células podem ser avaliadas quantitativamente por método visual ou manual, ou por métodos automáticos. A
variação da quantidade destas células avalia o estado geral da saúde da pessoa, bem como auxilia a
diagnosticar diversas doenças (JOHNSON, 2003).
Para que seja possível contar as células sanguíneas há a necessidade de detecta-las. Para isso foram
estudadas técnicas de processamento de imagens, que na área médica é encontrado em diversas aplicações
(RIBEIRO et. al, 2013). Por isso neste trabalho temos como objetivo propor um sistema, como alternativa
para a detecção automática de células sanguíneas, para que seja possível, em trabalhos futuros, a contagem
destas células.
218
Conferência IADIS Ibero-Americana Computação Aplicada 2013
3. MATERIAIS E MÉTODOS
Neste item, destaca-se o método para detecção de células proposto, que utiliza técnicas de processamento
digital de imagens. Adotou-se a ampliação de 40x para as imagens, por apresentar as células em tamanho
adequado ao reconhecimento automático. O método está dividido em: aquisição e pré-processamento. Para o
desenvolvimento do software estaremos utilizando a biblioteca ImageJ, desenvolvida em Java para análise e
processamento de imagem, este software é de domínio público.
3.1 Aquisição
A aquisição das imagens foi feita através do sistema AxioVision 4.8 e de um microscópio acoplado a uma
câmera (AxioCam HRc). Esse material é desenvolvido na Alemanha, pela Carl Zeiss. O microscópio é
conectado a um microcomputador PC através da interface USB e o software que é compatível com o
Windows, executa as funções de aquisição e processamento de imagens, além de permitir ao usuário a
inserção de dados relacionados ao exame, em formato texto, no mesmo arquivo que contém a imagem.
219
ISBN: 978-972-8939-96-0 © 2013 IADIS
A aquisição foi feita a partir de uma lâmina com amostra de sangue humano, utilizando o microscópio
Axioskop, de uso acadêmico, com iluminação polarizada. Para a aquisição das imagens, foi utilizada uma
lente de aumento de 40 vezes, para posterior análise, e ou contagem de células. O deslocamento da lâmina no
plano cartesiano deste microscópio é mecânico e é acionado manualmente.
Todas as imagens foram submetidas às mesmas condições de aquisição, de forma a possuírem as mesmas
características. Foram mantidos fixos o foco e a distribuição de iluminação. O sistema de cores adotado foi o
RGB. A resolução escolhida foi de 4128x3108 pixels. O formato de saída utilizado foi o JPEG.
3.2 Pré-processamento
Neste tópico serão apresentadas as principais funções de processamento de imagens utilizadas no programa
proposto antes da etapa final de contagem. Desta forma, a imagem é tratada de acordo com as necessidades
do sistema, para que o algoritmo de contagem possa ter um melhor desempenho em sua utilização.
3.2.1 Transformação: RGB para Escala De Cinza
Uma imagem colorida representada pelo modelo RGB pode ser vista como três imagens de intensidade
monocromática (representando vermelho, verde e azul (cores primárias)). Essas três imagens se combinam na
tela para produzir uma imagem de cores compostas em um monitor RGB (GONZALEZ, 2010). Para este
trabalho, a intensidade (nível de cinza) será extraída de uma imagem RGB, de forma a transformá-la em
apenas uma imagem monocromática. Para isso, a imagem será transformada para o modelo HSI (hue,
saturation, intensity – matiz, saturação, intensidade), porém, apenas o componente de intensidade será obtido.
O modelo HSI, separa o componente “intensidade” das informações de cores (matiz e saturação) em uma
imagem colorida.
3.2.2 Limiarização Global Ótima usando o Método de Otsu
O princípio da limiarização consiste em separar as regiões de uma imagem (o fundo e o objeto), produzindo
uma imagem binária à saída. A forma mais simples de limiarização consiste na bipartição do histograma,
convertendo os pixels cujo tom de cinza é maior ou igual a certo valor de limiar (threshold) em brancos e os
demais em pretos. Matematicamente, a operação de limiarização é dada pela Equação 1, onde os pixels com
o valor 1 correspondem aos objetos, e os pixels com o valor 0 correspondem ao fundo (background) e T
(threshold) é um valor de tom de cinza pré-definido, ao qual denominamos limiar (MARQUES FILHO,
1999).
g(x, y) = 1 se f (x, y) ≥ T (1)
= 0 se f (x, y) < T
O método de Otsu é uma alternativa atraente, pois é ótimo no sentido de maximizar a variância entre
classes. Ele se baseia inteiramente em cálculos realizados no histograma de uma imagem. A ideia básica é
que um limiar que oferece a melhor separação entre as classes em termos de valores de intensidade seria o
melhor limiar (limiar ótimo). Após o cálculo do histograma da imagem de entrada, seus componentes são
designados, e são feitos vários cálculos antes de ser encontrado de forma automática o valor para o limiar
ótimo: devem-se calcular as somas; calcular as médias acumuladas; calcular a intensidade média global e
calcular a variância entre classes (GONZALEZ, 2010). Após esses cálculos o limiar ótimo é encontrado e a
imagem é segmentada através da Equação 1, como na limiarização simples (GONZALEZ, 2010).
3.2.3 Dilatação
“O processo de dilatação consiste em obter a reflexão de b sobre sua origem e depois deslocar esta reflexão
de x. A dilatação de A por B é, então, o conjunto de todos os x deslocamentos para os quais a interseção de B
e A inclui pelo menos um elemento diferente de zero.” (MARQUEZ FILHO, 1999, p. 140).
Para Gonzalez (2010), no entanto, a dilatação de uma imagem por um elemento estruturante em qualquer
posição (x, y) é definida como o valor máximo da imagem na região indicada pelo elemento estruturante
quando a origem dele está em (x, y). Desta forma, para calcular a erosão de A por B, a origem do elemento
estruturante é colocada em todas as posições dos pixels da imagem, calculando-se a dilatação em qualquer
posição através da seleção do valor máximo de todos os valores de A, contidos na região que coincide com B
(GONZALEZ, 2010).
220
Conferência IADIS Ibero-Americana Computação Aplicada 2013
4. RESULTADOS
Para os testes iniciais foi adquirido um conjunto de 11 imagens adotando-se a ampliação de 40x as imagens,
por apresentar as células em tamanho adequado ao reconhecimento automático, conforme exemplo
apresentado na Figura 1 (a). A informação de cor não seria relevante para a contagem de células neste
trabalho, por isso, optou-se por converter as imagens para escala de cinza. Desta forma, o tempo de
processamento que levaria para processar os três canais de cor (RGB), Figura 1 (a) será reduzido para 1/3,
pois a imagem passará a ter apenas um canal, sendo convertida para escala de cinza em uma imagem de 8
bits, a Figura 1 (b) mostra o resultado obtido através desse processo. A após a conversão das imagens para
escala de cinza, Figura 1 (b) ela será cinza limiarizada através do método Otsu, conforme resultado obtido na
Figura 1 (c), proporcionando assim destacar as células na cor preta e deixar o fundo da imagem (background)
na cor branca. Porém após a limiarização através do método Otsu, foi verificado em Figura 1 (c) que o centro
das células estava na cor branca, para isso, foi necessário aplicar a técnica dilatação conforme resultado
obtido na Figura 1 (d) para que fosse possível reduzir a quantidade de informações na cor branca dentro da
célula, porém, mesmo utilizando a dilatação não foi possível conseguir reduzir a informação em branco no
centro de várias células. Para que fosse possível eliminar todas as informações em branco do centro da célula
foi aplicado após a dilatação a técnica Fill –holes, que tem como objetivo o preenchimento do centro das
células com a cor preta igual a borda das células conforme resultado que pode ser visualizado na Figura 1(f).
221
ISBN: 978-972-8939-96-0 © 2013 IADIS
a) b) c)
d) e) f)
Figura 1. Processamento das Imagens com células sanguíneas.
(a) imagem RGB, (b) imagem em escala de cinza, (c) limiarizada através do método Otsu, (d) Dilatação, (e) Fill-holes e
(f) Erosão
Mesmo após todas as etapas de processamento algumas células se mantinham unidas, com isso,
dificultando uma possível contagem das células corretamente, por isso, para melhorar a detecção dessas
células foi utilizada a Transformada de Watershed para que fosse possível separar as células com uma linha
em branco conforme exemplo na Figura 2. O software de contagem irá tratar os ruídos ou pequenos círculos.
Figura 2. Imagem após aplicar a erosão (a) e em (b) após aplicar Watershed para separar as células.
5. CONCLUSÃO
Com as técnicas utilizadas foi possível realizar a detecção de células de diversos tipos de imagens,
viabilizando assim uma futura contagem correta das células sanguíneas de cada imagem. Este software
poderá auxiliar diversos profissionais da área de biomedicina com a contagem de células, ajudando no
processo de contagem, facilitando seu trabalho e reduzindo as margens de erro humano. É importante
ressaltar que apesar do software poder auxiliar no trabalho desses profissionais ele não os substitui.
REFERÊNCIAS
Silverthorn, Dee Unglaub.(2010) Fisiologia Humana: uma abordagem integrada. 5. Ed.. Porto Alegre: Artmed.
Johnson, Catherine W.; Timmons, Daniel L.; Hall, Pamela E.(2003) Essential Laboratory Mathematics: Concepts and
Applications for the Chemical and Clinical Laboratory Technician. 2. Ed.. Cengage Learning.
Ribeiro, P. B., Romero, R.A F., Oliveira, P.B, Schiabel, H., Verçosa, L.B. (2013) Automatic Segmentation of Breast
Masses using Enhanced ICA Mixture Model. Neurocomputing. DOI: 10.1016/j.neucom.2012.08.062.
Failace, R.; Fernandes, F. B.; Failace, R. (2009) Hemograma: manual de interpretação. 5. Ed.. Porto Alegre: Artmed.
Gonzalez, Rafael C. (2010) Processamento Digital de Imagens. 3. Ed., São Paulo: Pearson Prentice Hall.
Marques Filho, Ogê; Vieira Neto, Hugo (1999) Processamento Digital de Imagens, Rio de Janeiro: Brasport.
222
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Marcio Novaski1, Merisandra C. de Mattos Garcia1,2, Maicon Bastos Palhano1, Gabriel Felippe1,
Ruano Marques Pereira1 e Fernando Mendes de Azevedo2
1
Curso de Ciência da Computação, Universidade do Extremo Sul Catarinense, Criciúma –SC- Brasil
2
Instituto de Engenharia Biomédica, Departamento de Engenharia Elétrica, Universidade Federal de Santa Catarina
Florianópolis-SC- Brasil
RESUMO
Os constantes avanços tecnológicos têm permitido que as mais diversas organizações gerem repositórios de dados cada
vez maiores tornando necessário o desenvolvimento de tecnologias que auxiliem nas análises e obtenção de
conhecimento a partir destes dados. O data mining destaca-se dentre essas tecnologias utilizando algoritmos específicos
para extração de possíveis padrões existentes nesses conjuntos de dados. Este artigo demonstra a implementação do
algoritmo Naive Bayes, que utiliza o Teorema de Bayes e os conceitos de estatística e probabilidade para a tarefa de
classificação, e a sua aplicação em uma base de dados da área médica referente á dados clínicos de pacientes com
diagnóstico positivo para o câncer de mama. A tarefa de classificação consiste na identificação de propriedades comuns
entre os elementos de uma base de dados e a associação desses elementos a uma classe predefinida, sendo que o
algoritmo implementado atribui ao registro o rótulo de classe que apresentar a probabilidade máxima a posteriori,
considerando a independência condicional entre os atributos, o que simplifica os cálculos necessários tornando mais
rápido o processo de treinamento do algoritmo. Ao final da pesquisa foram realizados testes em uma base de dados e o
resultados gerados pelo algoritmo foram avaliados usando algumas medidas de qualidade como sensibilidade,
especificidade, acurácia, confiabilidade positiva e índice Kappa.
PALAVRAS-CHAVES
Inteligência Computacional, Data Mining, Classificação, Algoritmo Naive Bayes, Probabilidade.
1. INTRODUÇÃO
O data mining objetiva a descoberta de padrões válidos e novos em grandes conjuntos de dados (Fayyad et
al, 1996), sendo composta por tarefas, no qual são implementadas em ferramentas conhecidas como shells,
sendo que existe em desenvolvimento a Shell Orion Data Mining Engine, que consiste em um projeto
implementado em âmbito acadêmico. Dentre as diversas tarefas existentes no processo de data mining, a
Shell Orion atualmente disponibiliza as tarefas de associação, classificação e clusterização.
A classificação é vista como uma das mais populares e utilizadas tarefas do data mining (Goldschmidt e
Passos, 2005). Consiste em associar um registro de uma determinada base de dados a uma classe predefinida.
Os classificadores estatísticos baseados no teorema de Bayes, também conhecidos como classificadores
bayesianos, utilizam a probabilidade como principal recurso para identificação da classe. Usados para lidar
com situações de incerteza por aleatoriedade, destacam-se por apresentar um menor tempo no processo de
aprendizagem.
Neste artigo apresenta-se o desenvolvimento do algoritmo Naive Bayes, baseado no teorema de Bayes, no
módulo de classificação da Shell Orion e uma avaliação dos seus resultados por meio de medidas de
validação em data mining, bem como a comparação dos resultados com o de outra ferramenta, no caso a
Weka.
223
ISBN: 978-972-8939-96-0 © 2013 IADIS
Esse cálculo consiste na divisão do número de amostras Si rotuladas como classe Ci pelo total de amostras
S. Visto que o cálculo da probabilidade é dado por uma fração, se o numerador assumir o valor zero o
resultado pode ser comprometido. Para evitar esse problema utiliza-se o teorema da aproximação de Laplace
adicionando a constante 1 ao numerador e a variável k ao denominador:
Onde nc é o número de instâncias pertencentes à classe Ci, n é o número total de instâncias de treinamento
com classe Ci e k corresponde à quantidade máxima de valores distintos, ou seja, k=3.
A fórmula para o cálculo da probabilidade a priori de cada classe é alterada para:
O próximo passo consiste em calcular a probabilidade de cada atributo da amostra de teste condicionada a
cada uma das classes aplicando o teorema de Laplace à fórmula:
Estima-se então as probabilidades da amostra total P(X|Ci). Segundo Coppin (2010), Duda e Hart (1973)
e Han e Kamber (2001), para reduzir o custo computacional durante o cálculo de P(X|Ci), o Naive Bayes
considera a independência condicional de classe, ou seja, o efeito do valor de um determinado atributo sobre
uma classe é considerado independente dos valores dos outros atributos. Esta afirmação é dada por:
O resultado obtido pela a aplicação das regras de classificação define a máxima a posteriori que indicará
a qual classe pertence o registro analisado.
224
Conferência IADIS Ibero-Americana Computação Aplicada 2013
2.1 Implementação
O algoritmo Naive Bayes foi desenvolvido no módulo de classificação da Shell Orion Data Mining Engine,
por meio da linguagem de programação Java e do ambiente de programação integrado NetBeans 7.1.1.
Para a execução do algoritmo é necessário que seja informado pelo usuário o método de teste a ser
realizado. Entre as opções disponíveis na Shell Orion tem-se o método holdout e a opção de usar o conjunto
de treinamento.
A opção holdout permite resultados mais confiáveis, uma vez que as amostras reservadas para o conjunto
de testes não fazem parte do conjunto de treinamento (Witten et al, 2011).
A sugestão de proporção para dados reservados é de 2/3 para treinamento e 1/3 para testes, mas a
alteração do percentual de dados reservado para treinamento também é permitida (Tan et al, 2009).
Nas análises dos resultados obtidos, foram empregados os seguintes medidas de qualidade:
a) sensibilidade: é a capacidade do classificador para encontrar os registros que realmente pertencem a
classe considerada;
b) especificidade: consiste na capacidade do classificador para encontrar os registros que não
pertencem a classe considerada;
c) acurácia: é o grau de exatidão, relação entre os valores estimados e os valores reais;
d) erro: refere-se à taxa de erro geral, ou seja, a proporção de registros classificados incorretamente;
e) confiabilidade positiva: é a capacidade do classificador para identificar corretamente os verdadeiros
positivos;
f) índice kappa: é o coeficiente de avaliação da concordância entre os resultados.
225
ISBN: 978-972-8939-96-0 © 2013 IADIS
226
Conferência IADIS Ibero-Americana Computação Aplicada 2013
3. CONCLUSÃO
Este artigo apresentou o algoritmo Naive Bayes que utiliza os conceitos de estatística e probabilidade
baseados no teorema de Bayes, para a tarefa de classificação da Shell Orion Data Mining Engine,
contribuindo com a ampliação das funcionalidades da ferramenta.
Pode-se confirmar, diante dos resultados obtidos, a aplicabilidade do algoritmo para a tarefa de
classificação visto que os resultados avaliados apresentaram boas medidas de qualidades relacionados à
precisão e confiabilidade dos valores obtidos.
Concluiu-se que o algoritmo foi implementado com sucesso, pois apresentou resultados satisfatórios
obtidos no processo de classificação e ainda melhores quando comparados com uma ferramenta de data
mining bastante utilizada e também gratuita, confirmando o seu correto funcionamento.
REFERÊNCIAS
Coppin, B. 2010. Inteligência artificial. LTC, Rio de Janeiro.
Fayyad, U. M., Piatetsky-shapiro, G. e Smyth, P. 1996. From data mining to knowledge discovery in databases. AI
Magazine, Providence, v.17, n. 3, p. 37-54.
Duda, R. O., Hart, P. E. e Stork, D. G. 2000. Pattern Classification, JohnWiley & Sons, New York.
Goldschmidt, R. e Passos, E. L. 2005. Data mining: uma guia prático, Elsevier, Rio de Janeiro.
Han, J. e Kamber, M. 2006. Data mining: concepts and techniques. Morgan Kaufmann, San Francisco.
Tan, P. et al. 2009. Introdução ao Datamining: mineração de dados, Ciência Moderna, Rio de Janeiro.
Witten, I. H. et al. 2011. Data mining practical machine learning tools and techniques, Morgan Kaufmann, Burlington.
227
ISBN: 978-972-8939-96-0 © 2013 IADIS
RESUMO
Uma das seções mais ativas nos campos de pesquisa da área de visão computacional é a segurança eletrônica, onde o
processamento de vídeo em tempo real necessita ser eficaz e rápido. Com a rápida evolução e baixo custo de hardware, é
possível a criação de sistemas mais inteligentes. Para estes sistemas, a segmentação e análise do movimento são
essenciais. O movimento é uma informação importante em sequências de imagens, indicando a dinâmica na cena
apontada pela diferença espacial entre os objetos deslocados. Porém a tarefa de análise de movimento permanece um
desafio e um problema fundamental em visão computacional devido à complexidade que a cena apresenta. É possível
extrair várias características importantes a partir do movimento de um objeto, como a direção, velocidade média e
velocidade instantânea. A partir das características extraídas, pode-se rastrear e reconhecer padrões de movimento. Neste
artigo, serão implementados métodos para a criação de um sistema capaz de rastrear e classificar o movimento de objetos
em tempo real. Os métodos utilizados foram o fluxo óptico para a detecção dos vetores de movimento e para a remoção
de ruídos foram utilizados filtros e subtração de fundo. O método de subtração de fundo foi o que apresentou o melhor
desempenho em termos de velocidade.
PALAVRAS CHAVE
Segurança, detecção de movimento, fluxo óptico, opencv, segmentação.
1. INTRODUÇÃO
Vigilância eletrônica é a observação de pessoas, carros, animais e outros objetos de relevância, em tempo
real, com a descrição de suas atividades e interações e a respectiva classificação de seu potencial de
periculosidade (Nascimento et al. 2005). O desenvolvimento de sistemas de monitoramento automático de
movimentos em vídeo tem crescido muito nos últimos anos. Em (Mueller et al. 2013) é proposto o uso de
visão computacional baseado em fluxo óptico para a detecção de chamas para a prevenção de destruição de
bens materiais e humano. Em (Feng-Li et al., 2013) é proposto o uso de câmeras em rede para fornecer a
segurança pública. Porém, devido à grande quantidade de dados e considerando transmissão em tempo real
de banda limitada, é proposto um método de seleção dos dados das câmeras que serão enviados para uma
central.
Câmeras de segurança são instaladas em todo lugar. E por isso, a vigilância eletrônica tem se tornado um
dos campos de pesquisa mais ativos na área de visão computacional e processamento de sinais (Liang Wang
et al., 2003). Com o baixo custo de câmeras de segurança, hoje, é comum ter várias câmeras espalhadas em
centros comerciais, bancos, condomínios e outros locais com alta circulação de pessoas, porém, esse grande
número de câmeras instaladas excede a capacidade humana de rastreá-las adequadamente, assim, não
aproveitando completamente o potencial disponibilizado por todo esse equipamento instalado. Assim as
imagens das câmeras tornam-se apenas ferramentas para auxiliar na investigação policial após o crime ou
acidente ter ocorrido.
O objetivo deste trabalho é desenvolver um sistema capaz de identificar situações de risco em tempo real
para então emitir sinais de alerta para que as ações necessárias sejam tomadas. Para alcançar este objetivo,
serão utilizados vários métodos de processamento de imagem, como aplicação de filtros e subtração de fundo
para remoção de ruído e o estudo e análise do fluxo óptico para a detecção de análise do movimento.
228
Conferência IADIS Ibero-Americana Computação Aplicada 2013
2. MATERIAIS E MÉTODOS
Neste trabalho serão apresentados os resultados das aplicações do fluxo óptico para detecção do movimento
em vídeo em tempo real. Para isso, serão utilizados uma câmera comum para obtenção das imagens, a
linguagem de programação c++, a biblioteca de computação visual openCV para as funções de
processamento de imagem e o framework Qt para implementação da interface gráfica. O diagrama de blocos
apresentado na Figura 1 representa o fluxo de desenvolvimento e funcionamento do sistema.
229
ISBN: 978-972-8939-96-0 © 2013 IADIS
Seja uma imagem em movimento dada por I(x,y; t), onde (x; y) são as coordenadas de um pixel na
imagem I e t é o tempo. A hipótese do fluxo óptico é que a intensidade dos pixels na imagem é preservada no
movimento ou que a imagem pouco se mexeu de um quadro para outro. Assume-se então que a intensidade
da imagem em movimento permanece constante (Horn; Schunck, 1981), de forma que:
I .v I t 0
conforme a equação (2):
(2)
(b)
(a)
Figura 2. Exemplo da aplicação do fluxo óptico aplicada em um par de imagens (a) Imagens de um círculo deslocado
para a direita e (b) vetores do fluxo óptico aplicado entre as imagens.
230
Conferência IADIS Ibero-Americana Computação Aplicada 2013
3. RESULTADOS PARCIAIS
A implementação do sistema se encontra na fase de extração de características, onde já é possível determinar
velocidade, direção e estimar uma distância do objeto em relação à câmera no ambiente. Inicialmente foram
utilizados filtros passa baixa para suavizar a quantidade de ruídos presentes nas imagens, porém como a
aplicação filtros sucessivos requer uma quantia de tempo grande para ser realizada, outra solução foi
necessária. O método da subtração de fundo provou-se mais robusto e rápido tanto em relação ao tempo de
processamento quanto aos resultados. A comparação de tempo de processamento entre os diferentes métodos
de remoção de ruídos pode ser observada na tabela 1.
A média de quadros por segundo é o principal fator para a escolha do método escolhido, porém é
necessário levar em conta o número de recálculos feitos para os pontos de referência do fluxo óptico. Uma
vez que o fluxo óptico não é calculado para toda a imagem, e sim apenas para alguns pontos, deixando assim
o cálculo do fluxo óptico mais rápido. Um número elevado de recálculos significa que o objeto não possui
mais uma quantidade de pontos rastreáveis suficientes e é necessário obter novos pontos, podendo perder
assim algumas informações sobre o objeto.
Tabela 1. Comparação de desempenho entre a aplicação de filtros e a utilização da subtração de fundo.
Método utilizado Média de quadros processados Número de recálculos
por segundo
Filtro Gaussiano 58 33
Filtro de mediana 22 28
Filtro Gaussiano e de mediana 20 28
Subtração de fundo 32 12
231
ISBN: 978-972-8939-96-0 © 2013 IADIS
As próximas etapas consistem em implementar uma rede neural para a classificação do tipo de
movimento encontrado numa cena, e também o aperfeiçoamento dos métodos já utilizados para a obtenção
de melhores resultados. A classificação do movimento neste caso será o principal ponto de estudo, pois a
partir do momento em que a extração das características foi realizada com sucesso, é necessário um estudo e
comparação dos vários métodos para classificação de características possíveis.
REFERÊNCIAS
Feng-Li Lian, Yi-Chun Lin, Chien-Ting Kuo, and Jong-Hann Jean, 2103. Voting-Based Motion Estimation for
Real-Time Video Transmission in Networked Mobile Camera Systems. IEEE Transactions on Industrial Informatics,
VOL. 9, NO. 1, February 2013.
Horn, b. K.; schunck, b. G. 1981. Determining optical flow. Artificial Intelligence, v.17, p.185–203
KaewTraKulPong , P. and Bowden, R., 2011. An Improved Adaptive Background Mixture Model for Realtime Tracking
with Shadow Detection. In Proc. 2nd European Workshop on Advanced Video Based Surveillance Systems,
AVBS01. Sept 2001.
Liang Wang, Weiming Hu, and Tieniu Tan, 2003. Recent developments in human motion analysis. Pattern Recognition.
Lucas B. D. and Kanade T., 1981. An iterative image-registration technique with an application to stereo vision. In
DARPA Image Understanding Workshop.
Mueller, M. ; Karasev, P. ; Kolesov, I. ; Tannenbaum, A. 2013. Optical Flow Estimation for Flame Detection in Videos.
Image Processing, IEEE Transactions on Volume: 22 , Issue: 7. Page(s): 2786 - 2797
Nascimento, J. C. and Figueiredo, M. A. T. and Marques, J. S. 2005. Motion segmentation for activity surveillance. In 1st
Workshop on Systems, Decision and Control Robotic Monitoring and Surveillance, Lisbon.
Shui-gen Wei, Lei Yang, Zhen Chen, Zhen-feng Liu 2011, Motion Detection Based on Optical Flow and Self adaptive
Threshold Segmentation, Procedia Engineering, Volume 15, 2011, Pages 3471-3476, ISSN 1877-7058, 10.1016.
Smith S. M., and Brady J. M. et al, 1995. Asset-2: Real time motion segmentation and shape tracking. IEEE
Transactions on Pattern Analysis and Machine Inteligence, 17(8).
232
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Os sistemas de controle industriais, antes isolados, têm sido conectados a uma quantidade crescente de redes. Por
executarem funções críticas e pelo fato de os protocolos de comunicação utilizados nesses sistemas não empregarem
mecanismos de segurança, os mesmos tornaram-se alvos de diversos ataques nos últimos anos. Com objetivo de
aumentar a segurança nas redes industriais, este trabalho propõe a agregação de mecanismos para autenticação e
verificação de integridade ao protocolo Modbus, que é largamente utilizado nesse tipo de rede.
PALAVRAS-CHAVE
Redes industriais, Modbus, Segurança, Autenticação, Integridade.
1. INTRODUÇÃO
Sistema de controle industrial (Industrial Control System – ICS) é um termo genérico utilizado para
referenciar diversos tipos de sistemas de controle, como por exemplo, os sistemas supervisórios e de
aquisição de dados (SCADA) e também as malhas de controle que são formadas por controladores lógicos
programáveis (CLPs) e dispositivos como atuadores e sensores. Tais exemplos são comumente encontrados
em indústrias químicas, de óleo e gás, automotiva, alimentícias e de papel, entre outras (Castrucci e Moraes,
2007).
Os sistemas SCADA são utilizados para controlar dispositivos localizados geograficamente distantes uns
dos outros e também do próprio sistema, monitorando alarmes e processando informações de status dos
mesmos através de redes de longa distância. De acordo com as informações recebidas, comandos
automatizados ou definidos por um operador podem ser enviados para os dispositivos de campo, que é como
são chamados os CLPs.
Mesmo desempenhando funções críticas, os sistemas de controle industriais apresentam diversas
vulnerabilidades, sendo diversas delas relacionadas com as redes de campo e de controle, nas quais são
utilizados diversos protocolos de comunicação que não empregam mecanismos de segurança. A exposição
desses sistemas às ameaças aumenta à medida que eles são conectados a um número cada vez maior de redes
e sistemas, fato que causou nos últimos anos um aumento considerável de ataques a redes industriais. Tais
ataques podem resultar em prejuízos a saúde das pessoas e ao meio ambiente, além dos impactos negativos
no processo produtivo e dos prejuízos financeiros (NIST 2011).
Pelo exposto até então surge a motivação para agregar recursos de segurança as redes industriais Modbus
(Modbus Organization 2012). Para atingir esse objetivo esse trabalho propõe a incorporação ao protocolo
Modbus de mecanismos capazes de garantir a integridade dos dados recebidos e enviados e a autenticação
das partes envolvidas na comunicação.
Para esse fim são utilizadas assinaturas digitais em todas as mensagens. O uso das assinaturas digitais
possibilita que as partes envolvidas na comunicação (como por exemplo, um sistema SCADA e um CLP)
possam verificar a integridade dos dados recebidos e ter a certeza de que o emissor da mensagem é mesmo
quem afirma ser. A implementação destes recursos é focada em equipamentos novos, com capacidade para
realizar os cálculos e as comparações necessárias em tempos curtos.
233
ISBN: 978-972-8939-96-0 © 2013 IADIS
3. TRABALHOS RELACIONADOS
Com o objetivo de prevenir ataques às redes industriais, gradualmente os sistemas de automação industrial
foram adotando soluções de Tecnologia da Informação (TI) para promover de forma segura a conectividade
corporativa e recursos de acesso remoto, utilizando redes TCP/IP.
Um exemplo de solução que tem sido adotada pelas corporações é o firewall com funcionalidades
específicas para proteger os sistemas industriais (Tofino Security, 2012). Diferentemente do firewall
convencional que aplica filtros com base no endereço IP e porta de origem e destino dos pacotes, esse tipo de
equipamento possui inteligência para inspecionar os pacotes dos protocolos usados em automação
determinando se os mesmos contêm comandos para leitura de status ou, por exemplo, um comando para
atualização de firmware de um CLP. Esta solução pode ser empregada para proteger as redes formadas por
dispositivos antigos sem que seja necessário substituir equipamentos.
Por outro lado, os protocolos de comunicação utilizados nas redes industriais – como é o caso do
Modbus, que é tratado na seção a seguir, oferecem somente mecanismos para verificação de integridade dos
dados (CRC), sem a possibilidade de autenticar as partes envolvidas na comunicação.
4. O PROTOCOLO MODBUS
O MODBUS é um protocolo de requisição / resposta que oferece serviços específicos por códigos de função.
Criado em 1979 na versão serial, este protocolo continua sendo largamente utilizado na comunicação de
dispositivos de automação. O Modbus possui a mesma implementação na camada de aplicação, independente
do meio físico utilizado. O mapeamento do protocolo Modbus em uma rede específica pode adicionar mais
campos na unidade de dados da aplicação (Application Data Unit – ADU)
234
Conferência IADIS Ibero-Americana Computação Aplicada 2013
exemplo, um CLP. O protocolo de aplicação Modbus estabelece o formato da requisição inicializada pelo
cliente, como por exemplo, um sistema SCADA (Modbus Organization 2012).
Um sistema de comunicação Modbus TCP/IP pode conter diferentes tipos de dispositivos, como
dispositivos cliente/servidor conectados a uma rede TCP/IP, dispositivos de interconexão (bridges, gateways,
roteadores) para interligar a rede TCP/IP a uma sub-rede serial, permitindo a conexão com dispositivos
Modbus de uma linha serial (Modbus Organization 2006).
Figura 1. Fluxograma do Modbus Secure (a) e Mensagens do Modbus TCP/IP e Modbus Secure (b)
235
ISBN: 978-972-8939-96-0 © 2013 IADIS
7. CONCLUSÕES
A solução apresentada neste trabalho permite a verificação de integridade dos dados e para autenticação das
mensagens do protocolo Modbus TCP. O uso de mecanismos de segurança utilizados (geração de hashes e
assinaturas digitais nas mensagens) não causa impactos significativos nos tempos de resposta dos CLPs, uma
vez que os mesmos possuem atualmente capacidade computacional suficiente para executar as rotinas
relacionadas à segurança em tempos curtos. O Modbus Secure pode ser utilizado em conjunto com os
firewalls que inspecionam pacotes de protocolos de redes industriais para agregar uma camada extra de
segurança nas transações entre sistemas SCADA e CLPs, uma vez que ele pode atuar nos equipamentos
novos, enquanto que o firewall permite proteção também aos sistemas legados.
REFERÊNCIAS
Modbus Organization, 2012. Modbus Application Protocol Specification V1.1b3, 2012. Hopkinton, EUA.
Modbus Organization, 2006. Modbus Messaging on TCP/IP Implementation Guide V1.0b. Hopkinton, EUA.
National Institute of Standards and Technology - NIST, 2011. Guide to Industrial Control Systems (ICS). Gaithersburg,
EUA.
Moraes, C. e Castrucci, P., 2007. Engenharia de Automação Industrial. Editora LTC, São Paulo, Brasil.
Miller, B. e Rowe, D., 2012, A Survey of SCADA and Critical Infrastructure Incidents. 13th ACM Conference on
Information Technology. Calgary, Canadá, pp. 51-56.
Tofino Security, 2012. Understanding Deep Packet Inspection for SCADA Security. Vancouver, Canadá.
236
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Os Smartphones com sistema operacional Android representam atualmente 75% dos celulares vendidos no mundo. Uma
tecnologia amplamente presente nos Smartphones é o Bluetooth, que consiste em uma especificação para comunicação
sem fio baseada em rádio frequência. Ultimamente, diversos sistemas para utilização na área médica (m-health)
aproveitam os recursos dos Smartphones, sendo que um dos exames médicos mais realizados é o eletrocardiograma
(ECG), o qual é efetuado de forma não invasiva e visa diagnosticar diferentes doenças cardíacas. O objetivo deste
trabalho é desenvolver um sistema embarcado reconfigurável para aquisição de sinais de ECG e um software para
visualização e armazenamento destes sinais obtidos em um Smartphone com SO Android. A comunicação entre o sistema
de aquisição e o smartphone será realizada via Bluetooth. Para os testes preliminares foram captados sinais de ECG reais
através de 3 eletrodos descartáveis e o sistema funcionou satisfatoriamente. Através da FPAA obteve-se grande
flexibilidade - pois através da reconfiguração é possível reduzir os riscos de projeto e permitir a atualização em campo - e
confiabilidade.
PALAVRAS-CHAVE
Sistema Embarcado, Eletrocardiograma, FPAA, Bluetooth, Microcontrolador.
1. INTRODUÇÃO
A popularização dos Smartphones - aliado ao aumento da expectativa de vida da população, o qual requer
maiores cuidados de saúde - possibilitaram o desenvolvimento de sistemas para utilização na área médica,
conhecida pelo termo m-Health. Existem diversos trabalhos na área, como por exemplo: uso de um
Smartphone com um adaptador acoplado ao aparelho para exames oftalmológicos, englobando miopia,
hipermetropia, astigmatismo e catarata (Pamplona et al. 2010; Pamplona et al. 2011), desenvolvimento de um
oxímetro de dedo de baixo custo (utilizado para medir a quantidade de oxigênio presente no sangue)
(Khandoker & Palaniswami. 2010), estetoscópio utilizando o microfone do Smartphone (Domenech-Asensi
et al. 2006), ultrassonografia e, um microscópio e um espectrômetro que utilizam a câmera embutida do
dispositivo móvel (Mertz. 2012).
Um dos exames médicos mais realizados é o eletrocardiograma (ECG), o qual é efetuado de forma não
invasiva e permite o diagnóstico de diferentes doenças cardíacas, possibilitando um tratamento prévio para
evitar problemas mais graves. Através de eletrodos fixados no paciente, os sinais bioelétricos gerados pela
atividade eletroquímica das células cardíacas são captados, permitindo ao médico a análise posterior de certas
informações do coração do paciente. A Tabela 1 apresenta as características de diversos biopotenciais, onde
observa-se que os potenciais elétricos de ECG possuem uma amplitude baixa, na faixa de 0,05 a 3 mV. Vale
ressaltar que a largura de banda do sinal a ser captado deve ser definida conforme a aplicação, podendo variar
entre: 0,05 - 100 Hz (registro das 12 derivações), 0,50 - 50 Hz (monitoramento do ECG dinâmico), 17 Hz
(para a determinação da frequência cardíaca) e 250 Hz (para obter ECGs com maior resolução).
237
ISBN: 978-972-8939-96-0 © 2013 IADIS
Os sistemas eletrônicos que realizam exames de ECG consistem basicamente de um estágio analógico
(amplificação e filtragem do sinal) e um estágio digital (digitalização do sinal). Durante o processo de
aquisição de sinais de ECG, geralmente necessita-se ajustar os níveis de amplificação e sintonizar a largura
de banda. Para isso, podem ser utilizados componentes analógicos discretos ou uma Field Programmable
Analog Array (FPAA), na qual implementa-se, de forma reconfigurável, todo circuito eletrônico necessário
para o condicionamento do sinal de ECG.
Neste sentido, o objetivo deste trabalho é desenvolver um sistema embarcado para aquisição de sinais de
ECG, composto por um módulo microcontrolado (responsável pelo condicionamento, digitalização e
transmissão dos sinais captados via Bluetooth) e um software, para a visualização e armazenamento destes
sinais obtidos em tempo real, através de um Smartphone com sistema operacional Android. O SO Android
foi escolhido pelo fato deste SO representar 75% do mercado mundial (existem cerca de 900 milhões de
Android ativos) (Google. 2013).
Tabela 1. Características dos biopotenciais.
Biopotencial Faixa de frequências (Hz) Faixa de amplitudes (mV)
Eletrocardiograma 0.01 – 100 0.05 – 3
Eletroencefalograma 0.1 – 80 0.001 - 1
Eletro-oculograma 0.01 – 10 0.001 – 0.3
Eletromiograma 50 – 3000 0.01 - 100
2. TRABALHOS CORRELATOS
Existem na literatura, poucos trabalhos que tiveram como objetivo a utilização da FPAA para o
desenvolvimento de sistemas m-Health aplicados à aquisição de sinais de ECG.
Em (Grzechca. 2010) realizou-se uma pesquisa para incentivar os alunos no desenvolvimento de um
detector do complexo QRS em hardware (para detecção de arritmias). Para isso, foram utilizados uma
FPAA, um osciloscópio e um computador. Através da FPAA, as seguintes funções analógicas foram
implementadas: filtro passa-faixa, retificador e comparador. A partir destas funções, os alunos avaliaram
sinais de ECG reais no osciloscópio conectado ao computador, resultando em 85% de sucesso nos testes.
O trabalho (Rodríguez. 2006) desenvolveu um sistema embarcado de baixo custo e consumo, para a
aquisição de sinais elétricos do coração. O sistema é composto por um microcontrolador, uma FPAA e um
módulo para transmissão dos sinais de ECG para o computador. Este último permite a visualização e o
armazenamento de sinais de ECG, os quais podem ser transmitidos pela Internet para um médico avaliar
remotamente. Através de testes realizados, constatou-se que o sistema desenvolvido apresenta sinais de ECG
com características de forma, amplitude e período similares ao eletrocardiógrafo Siemens E350, validando
portanto, o correto funcionamento do sistema.
Os trabalhos (Morales. 2011, Morales. 2013) apresentam um sistema para aquisição de
eletrocardiograma, baseado nos seguintes dispositivos reconfiguráveis: FPAA e FPGA. A FPAA é
responsável pela aquisição e condicionamento do sinal analógico de ECG, enquanto que o FPGA permite o
processamento de sinais digitais, além de transmitir a configuração dos blocos analógicos para a FPAA. Nos
testes realizados, a plataforma reconfigurável apresentou desempenho considerável com diferentes tipos de
eletrodos. Vale ressaltar que a reconfigurabilidade do sistema permitiu a realização da extração do
eletrocardiograma fetal de forma não invasiva, o qual é eficaz para monitorar a oxigenação do coração e do
cérebro do feto, sendo este, desconhecido pela maioria das gestantes.
3. MATERIAIS E MÉTODOS
Primeiramente foram selecionados os dispositivos a serem utilizados: microcontrolador (MCU), FPAA,
módulo Bluetooth e Smartphone. O MCU selecionado foi o C8051F320 (Silicon Laboratories. 2006) que é
um dispositivo de 8 bits com núcleo compatível com o conjunto de instruções da família MCS-51. Esse
núcleo possui um pipeline que permite a execução de 70% das instruções em 1 ou 2 ciclos de clock,
proporcionando uma aceleração de aproximadamente 12 vezes em relação ao núcleo original MCS-51, para
238
Conferência IADIS Ibero-Americana Computação Aplicada 2013
um mesmo clock. Além dos recursos disponíveis nos MCUs da família MCS-51, o C8051F320 apresenta
ainda em seu interior: oscilador de 24,5 MHz, memória de dados (RAM) de 2304 Bytes (256 B originais, 1
kB extra e 1 kB para FIFO da USB), memória de programa (FLASH) de 16 kB programável no sistema,
portas seriais SPI e SMBus, controlador/transceptor USB 2.0, 2 temporizadores/contadores de 16 bits
adicionais, matriz de contadores programáveis de 16 bits com 5 módulos de captura/comparação, conversor
A/D (10 bits, 200 ksps, 17 entradas multiplexadas), referência de tensão de 2,44 V para o conversor A/D,
regulador de tensão de 3,3 V, detector de brown-out, sensor de temperatura, 2 comparadores de tensão e
crossbar que permite configurar a função de cada pino de E/S do microcontrolador. O invólucro do MCU é
do tipo SMD (LQFP) de 32 pinos e foi soldado em uma placa adaptadora para DIL (passo de 2,54 mm)
permitindo sua utilização em matriz de contatos.
A Field Programmable Analog Array (FPAA), que permite a reconfiguração dos componentes analógicos
presentes em seu interior (é semelhante a um Field-Programmable Gate Array (FPGA), mas com blocos
analógicos), selecionada foi a AN221E04, esta funciona com 5 V e permite que seja reconfigurada
dinamicamente (totalmente ou parcialmente), durante sua operação. Outras características relevantes são: 4
blocos analógicos configuráveis em uma matriz 2x2, 4 células configuráveis de E/S, 2 células dedicadas para
interface de saída, 1 tabela LUT (Look-up-table), 1 conversor A/D de 8 bits do tipo SAR (Successive
Approximation Register), 1 bloco de osciladores e 1 bloco de interface de configuração. O aplicativo
fornecido pela fabricante permite que diversos circuitos analógicos sejam projetados e implementados,
através de vários Configurable Analog Modules (CAM) selecionados no projeto. Vale ressaltar que cada
CAM implementa uma função analógica. A partir disso os arquivos de dados necessários são gerados para a
configuração da FPAA. O armazenamento da configuração de uma FPAA é feita na memória on-chip
(SRAM).
O módulo Bluetooth HC-05 permite a comunicação serial sem fio de forma transparente. Ele é um
Bluetooth v2.0 + EDR (Enhanced Data Rate) com 3 Mbps e modulação de 2.4 GHz. As principais
especificações são: interface UART (níveis TTL), baixo consumo de energia, antena integrada e tensão de
alimentação de 3.3 V. O Smartphone utilizado foi o Samsung I9250.
Para a programação em C do MCU foi utilizado o ambiente integrado de desenvolvimento (IDE) Silicon
Laboratories 4.50, instalado no sistema operacional Windows 8. Esta IDE permite criar programas para
MCUs da família MCS-51 utilizando-se o compilador open-source Small Device C Compiler (SDCC).
A Figura 1 mostra o diagrama de blocos do sistema, que foi montado em matriz de contatos para a
realização de testes. O invólucro da FPAA é do tipo QFP (SMD) e portanto foi necessário construir uma
placa de circuito impresso adaptadora que permitisse a utilização em uma matriz de contatos (QFP para DIL).
O layout dessa placa adaptadora foi feito no aplicativo KiCad e a fabricação da placa foi executada em uma
prototipadora ProtoMat E33. Para a transferência dos firmwares para o MCU utilizou-se um firmware
bootloader – que ocupa 5 kB da memória FLASH do microcontrolador e permite a gravação de firmwares
utilizando-se a porta USB do computador -, e o aplicativo USBbootloader instalado em um IBM-PC
(Windows 8), sendo ambos fornecidos pelo fabricante do microcontrolador. O firmware bootloader foi
gravado previamente no microcontrolador utilizando-se o adaptador/gravador serial EC2 (Silicon
Laboratories).
Figura 2. Diagrama de blocos para o módulo de aquisição de ECG. Observa-se que o sistema será alimentado com uma
bateria de 9 V e o processamento dos sinais de ECG será realizado através de uma FPAA e um MCU.
Para a análise inicial dos sinais captados pelos eletrodos utilizou-se um osciloscópio virtual (National
Instruments MyDaq) conectado a porta USB de um notebook.
239
ISBN: 978-972-8939-96-0 © 2013 IADIS
4. RESULTADOS E DISCUSSÃO
A Figura 2 mostra o módulo NI MyDAQ, a matriz de contatos com os dispositivos utilizados e os eletrodos
usados no teste. Existem dois leds, sendo um utilizado para demonstrar que a FPAA foi configurada
corretamente e o outro para realizar testes do código. Dois push-buttons estão presentes, um para reiniciar o
microcontrolador e o outro para entrar no modo bootloader. O módulo HC-05 está configurado para
transmitir a uma taxa de 9600 bits/s, sendo testado a partir da transmissão de valores que foram recebidos
corretamente no Smartphone, através de um aplicativo desenvolvido para Android 4.1.
O sinal de ECG é enviado pelo módulo de aquisição e recebido pelo smartphone a uma taxa de 9600
bits/s, onde cada amostra será composta de 10 bits. O conversor A/D estará trabalhando a uma taxa de 480
amostras/s, resultando portanto, em uma taxa de transmissão de 4800 bits/s, ou seja, a perda de amostras não
comprometerá as informações cardíacas.
Figura 2. À esquerda está o módulo NI MyDAQ, no centro a matriz de contatos com os dispositivos utilizados no projeto
e à direita, os eletrodos aplicados nos testes.
A configuração da FPAA (Figura 3 esquerda) foi criada no aplicativo AnadigmDesigner2, onde foram
utilizados os seguintes módulos: entrada diferencial com filtro passa-baixas (Fcorte = 76 kHz e ganho = 128)
e um filtro bilinear (com clock = 1500 kHz, Fcorte = 1.5 kHz e ganho = 10). Através do AnadigmDesigner2
foi gerado um arquivo de configuração contendo os Bytes necessários para configurar a FPAA. Esses Bytes
foram inseridos no firmware do microcontrolador na forma de um vetor, permitindo que este configure a
FPAA.
A Figura 3 (direita) mostra o software Oscilloscope, fornecido juntamente com o dispositivo NI MyDAQ,
que foi utilizado para observar o funcionamento da configuração carregada na FPAA.
Figura 3. Configuração feita no software AnadigmDesigner2 e utilizada pela FPAA durante os testes (esquerda). Sinal
presente em um pino de saída da FPAA mostrando o sinal de ECG real captado por eletrodos em um indivíduo (direita).
240
Conferência IADIS Ibero-Americana Computação Aplicada 2013
5. CONCLUSÃO
Dado o exposto, percebe-se que o trabalho apresentado utilizou dispositivos analógicos reconfiguráveis
(FPAA) para captar os sinais do coração, os quais possuem baixo grau de amplitude (cerca de 3 mV). Apesar
das vantagens geradas pela FPAA, poucos trabalhos utilizando-a são encontrados na literatura.
Como o trabalho encontra-se em andamento, a reconfiguração da FPAA não foi amplamente explorada (a
flexibilidade proporcionada pela FPAA possibilita alterar o ganho de amplificadores, frequências de corte de
filtros e até mesmo o circuito de condicionamento do sinal). Com isso, os próximos passos do trabalho são:
permitir que várias derivações de ECG sejam medidas (a escolha da derivação desejada será feita a partir do
Smartphone), digitalização e envio dos sinais captados para o Smartphone via Bluetooth (para serem
visualizados no Smartphone), armazenamento dos sinais captados na memória do Smartphone (permitindo
que seja enviado pela Internet para algum médico analisar os dados), identificar o pacote perdido durante a
transmissão e retransmití-lo (via software), realizar um estudo comparativo com eletrocardiógrafos
comerciais para validar o sistema confeccionado neste trabalho e expandir o sistema para captar sinais de
EEG e EMG.
REFERÊNCIAS
Anadigm. (2003), AN221E04 Datasheet, (Internet), Anadigm, Available from <
http://www.anadigm.com/_doc/DS030100-U006.pdf> (Accessed 18 June, 2013)
Domenech-Asensi, G. and Martinez-Alajarin, J. and Ruiz-Merino, R. and Lopez-Alcantud, J.A. (2006), Synthesis on
FPAA of a Smart Sthetoscope Analog Subsystem, Field Programmable Logic and Applications, 2006. FPL '06.
International Conference on pages 1-5
Google. (2013), Google I/O 2013 - Keynote, (Internet), Google, Available from <http://youtu.be/9pmPa_KxsAM>
(Accessed 12 June, 2013)
Grzechca, D. and Rutkowski, J. (2010), The use of FPAA in Signal Processing Laboratory for Biomedical Engineering
Students, The International Conference on Singnals and Electronic Systems, 2010 on pages 453-456.
Khandoker, A.H. and Black, J. and Palaniswami, M. (2010), Smartphone-based low cost oximeter
photoplethysmography, Electrical and Computer Engineering (ICECE), 2010 International Conference on.
International Conference on pages 634-637
Mertz, L. (2012), Ultrasound? Fetal Monitoring? Spectrometer? There's an App for That!: Biomedical Smart Phone Apps
Are Taking Healthcare by Storm, Pulse, Vol. 3 March, pp16-21, IEEE
Morales, D. et al. (2011), Flexible ECG acquisition system based on analog and digital reconfigurable devices, Sensors
and Actuators A: Physical, Vol. 165, n. 2, pp. 261-270, 2011.
Morales, D. et al. (2013), An application of reconfigurable technologies for non-invasive fetal heart rate extraction,
Medical Engineering & Physics, Vol. 35, n. 7, pp. 1005-1014, 2013.
Pamplona, V. et al. (2010), NETRA: Interactive Display for Self-evaluation of an Eye for Visual Accommodation and
Focal Range, Special Interest Group on Graphics and Interactive Techniques (SIGGRAPH), 2010 International
Conference on.
Pamplona, V. et al. (2011), CATRA: Cataract Probe with a Lightfield Display and a Snap-on Eyepiece for Mobile
Phones, Special Interest Group on Graphics and Interactive Techniques (SIGGRAPH), 2011.
Rodriguez, P. et al. (2006), Diseño de un microsistema para adquisición de señales cardiacadas usando fpaas, IBERCHIP,
2006, International Conference on.
Silicon Laboratories. (2006), C8051F320, (Internet), Silabs, Available from
<http://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F320-Short.pdf> (Accessed 16 June, 2013)
241
Artigo de Reflexão
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
Os setores de Tecnologia da Informação (TI) são cada vez mais comuns em empresas de diversos portes e ramos de
atividades. Geralmente, estes setores, auxiliam principalmente no aumento do desempenho operacional e na redução de
custos dessas empresas, tornando-as mais competitivas. Neste contexto, é primordial ter todos os equipamentos de
informática em pleno funcionamento, para isso, frequentemente os setores de TI, estão utilizando os chamados
Procedimentos de Suporte à Informática (PSI), que facilitam e agilizam o suporte desses equipamentos. Este artigo
apresenta uma proposta de software, que tem como objetivo possibilitar aos setores de TI a publicação de seus PSI
utilizando as tecnologias da web semântica como o Resource Description Framework (RDF), que permite publicar os
dados em uma estrutura padrão, e a Ontologia, que provê sentido (semântica) aos dados publicados. Este software
permitirá cadastrar e consultar diversos tipos de PSI, tais como: instalações, desinstalações, configurações e suportes de
hardwares e softwares, correções de erros e normativas. Além disso, com a tecnologia RDF, o software proposto, poderá
ser integrado a outros softwares que possuam a mesma tecnologia, o que resultará em buscas mais precisas e agregação
de dados adicionais através dos RDF Links.
PALAVRAS-CHAVE
Procedimentos de Suporte à Informática, Web Semântica, RDF, Ontologia.
1. INTRODUÇÃO
Atualmente, empresas dos mais diversos portes e ramos de atividades, possuem um forte relacionamento com
seus setores de Tecnologia da Informação (TI). Para permanecerem competitivas no mercado, as empresas,
buscam informações instantâneas e isso se torna possível através de equipamentos de informática. Sales et al.
(2009) ratificam que, além de otimizar a eficiência e eficácia das empresas, os setores de TI, também tem o
papel de obter vantagens competitivas, de forma que, as informações sejam mais precisas e dinâmicas afim
de auxiliar as tomadas de decisões. Entretanto, quanto mais equipamento de informática a empresa possui,
maior é a demanda por suporte aos mesmos. Qualquer que seja o ramo de atividade da empresa, o maior
desafio de seu setor de TI, é manter seus equipamentos de informática em total funcionamento e com isso
seus funcionários em plena produtividade. Contudo, por diversas vezes, os profissionais de TI se veem diante
de problemas nos quais não possuem conhecimentos específicos para solucioná-los, uma vez que existem
inúmeros hardwares e softwares novos todos os dias. Desta forma, este profissional, necessita de uma ampla
experiência, para adquirir um know-how e fornecer um suporte satisfatório, pelo menos, no que diz respeito
aos hardwares e softwares na empresa em que trabalha.
Uma das soluções para o problema descrito é a criação de Procedimentos de Suporte à Informática (PSI).
Nestes procedimentos há uma gama de soluções previamente cadastradas e categorizadas manualmente, o
que facilita o suporte que o profissional de TI irá fornecer. Todavia, a variedade de procedimentos é extensa e
encontrar um procedimento pode se tornar uma tarefa árdua (MAGALHÃES & PINHEIRO, 2007). Diante
desse cenário, é pertinente propor o desenvolvimento de um software que cadastre e categorize tais
procedimentos, permitindo a recuperação posterior dos mesmos de forma rápida e eficiente. O software
proposto inova no que tange o processo de cadastro e publicação dos PSI’s, utilizando algumas tecnologias
da web semântica como o Resource Description Framework (RDF) e a Ontologia. Os RDFs são modelos
245
ISBN: 978-972-8939-96-0 © 2013 IADIS
utilizados para representar dados de forma estruturada em conjuntos de triplas: sujeito-predicado-objeto. Para
publicação de dados em RDF se faz necessário também aplicação de uma ontologia, que pode ser descrita
como conjuntos de termos que serve para dar sentidos (semântica) aos dados representados pelas triplas RDF.
Nesse artigo, o objetivo é propor o desenvolvimento de um software, para cadastro e publicação de PSI,
utilizando tecnologias de web semântica. Espera-se que, com a utilização das tecnologias da web semântica,
os resultados obtidos pelo software sejam mais eficazes e eficientes.
2. WEB SEMÂNTICA
A web como é conhecida, foi construída para publicar informações visando às pessoas, consequentemente,
não houve a preocupação de estruturar estas informações para que os computadores pudessem entender o que
estava sendo publicado. Com isso, a web atual, permite aos computadores exibirem as informações
publicadas e não compreendê-las (JACYNTHO, 2012).
Segundo Berners-Lee, Hendler e Lassila (2001), a web semântica, é uma ampliação da web atual, que
livre da forma em que se apresentem, fomentam acessar, compreender e gerir informações disponibilizadas
na web, seguindo os padrões da W3C. A web semântica tem por objetivo auxiliar os computadores a
interpretar informações. Neste paradigma, as informações são publicadas de forma estruturada, permitindo
que os computadores, através de ferramentas, possam processar e compreender as informações.
246
Conferência IADIS Ibero-Americana Computação Aplicada 2013
4. O SOFTWARE PROPOSTO
O software será desenvolvido para ambiente web usando a linguagem de programação Java com o framework
Jena 2.10. Esta linguagem é orientada a objetos, portável e possui seu código fonte sob a licença Gnu
General Public License (GPL). Segundo The apache foundation (2013), o framework Jena é utilizado para
desenvolvimento de softwares na web semântica, possuindo também licença GPL. O Jena possui diversos
métodos implementados, dentre eles: leitura e escrita de documentos RDF, navegação entre documentos
RDF, pesquisas usando SPARQL (Linguagem de consulta para dados em RDF). Esse projeto se divide em
duas etapas bem definidas e obrigatoriamente sequenciais, como segue:
247
ISBN: 978-972-8939-96-0 © 2013 IADIS
5. CONCLUSÃO
O software proposto poderá ser usado em diferentes contextos, de uma intranet empresarial com PSI próprios
até mesmo como fórum.
Como este software utiliza tecnologias da web semântica, todos os dados cadastrados estarão
estruturados, permitindo buscas precisas usando SPARQL. Outra vantagem é a utilização da LOD de forma
automática, com esta tecnologia, o software terá mais informações do que as cadastradas previamente, pois
reusa dados de outras bases existentes. Ainda sobre as vantagens, outra importante é que através das
ontologias, o computador compreende os dados, possibilitando que o mesmo insira novas informações além
das cadastradas. Finalizando, destaca-se o acesso a todas as fontes de dados de forma padrão, sem precisar de
um novo formato de dados para cada nova fonte da qual está sendo acessada, sendo assim, o
compartilhamento e reuso de dados são facilitados em escala mundial.
Espera-se que este software sirva como base para outros softwares que tenham como foco o
compartilhamento e publicação de informações relevantes na área de TI.
REFERÊNCIAS
Berners-Lee, T.; Hendler, J.; Lassila, O. 2001, The Semantic Web: Scientific American. Scientific American, May 2001.
Campos, V. F. 2004, Gerenciamento da rotina do trabalho do dia-a-dia. Belo Horizonte: INDG.
Heath T; Bizer C. 2011, Linked Data: Evolving the Web into a Global Data Space, (1ª Edição). Synthesis Lectures on the
Semantic Web: Theory and Technology, 1:1, 1-136. Morgan & Claypool, California, US.
Jacyntho, M. D. A. 2012, Um Modelo de Bloqueio Multigranular para RDF, 277 f, Tese (Doutorado) Departamento de
Informática, Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, Rio de janeiro, BR.
Lichtnow, D; Oliveira, J. P. M. D. et al, 2009, Relato e Considerações sobre o Desenvolvimento de uma Ontologia para
Avaliação de Sites da Área de Saúde. Cadernos de Informática, Volume 4, Número 1, 7-46 f, Instituto de Informática,
Universidade Federal do Rio Grande do Sul, Porto Alegre, Rio Grande do Sul, BR.
Magalhães, I. L; Pinheiro, W. B., 2007, Gerenciamento de Serviços de TI na Prática: uma abordagem com base na ITIL
- inclui ISO/IEC 20.000 e IT Flex, (1ª Edição), Novatec, 672 p, São Paulo, São Paulo, BR.
Noy, N. F.; McGuinness, D. L., 2001, Ontology development 101: A guide to creating your first ontology. [s.l.] Stanford
knowledge systems laboratory technical report KSL-01-05 and Stanford medical informatics technical report SMI-
2001-0880.
Sales, D.S; Romero, C.M.; Silva, F.L.C.; Cortes, J.M.R.; Carvalho, R.A. Benefícios percebidos após a implantação de um
ERP de serviços: Estudo de caso em um help desk. In: XVI SIMPEP, 2009, Baurú, Anais do XVI SIMPEP.
The apache foundation. Apache Jena. Disponível em <http://jena.apache.org/> acessado em 29/07/2013.
248
Posters
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Patricia Bellin Ribeiro, Kelton Augusto Pontara da Costa, Henrique Pachioni Martins,
Miguel José das Neves, Atair Alves Camargo Junior e Victor Vavalle Rossi
Faculdade de Tecnologia de Bauru
RESUMO
Este estudo propõe a utilização de Mineração de Dados para auxiliar na detecção de eventos maliciosos que podem
causar danos no comportamento e na segurança das redes de computadores. A metodologia proposta objetiva apoiar a
correta identificação de anomalias utilizando técnicas inteligentes tais como Árvore de Decisão e Redes Neurais
Artificiais. Sendo utilizada uma base de dados pública denominada SPAMBASE para que fosse possível simular os
diferentes formas como um SPAMs pode ser apresentado, para que seja possível identificar se o dados recebido possui
característica de SPAM ou não. Nos experimentos foi utilizada a ferramenta Weka para obter os resultados desta
pesquisa.
PALAVRAS-CHAVE
Mineração de Dados, SPAM, Árvore de Decisão, Redes Neurais Artificiais
1. INTRODUÇÃO
Mineração de dados é parte do processo em KDD (Knowledge Discovery in Databases) que objetiva a
seleção das técnicas a serem utilizadas para localização de padrões nos dados, tendo como finalidade a busca
dos referidos padrões relacionados a um determinado interesse (Fayyad et al, 1996; Narendran, 2009).
Pesquisas nesta área estão sendo desenvolvidas, sendo possível destacar neste contexto a utilização de alguns
métodos como as Redes Neurais Artificiais e Processos de Mineração de Dados utilizando, por exemplo,
árvore de decisão, com o objetivo de minimizar os efeitos danosos de SPAMs.
Neste estudo, tendo uma base de dados supervisionada, ou seja, uma base que contempla os SPAMs
identificados, propõe-se na base de dados denominada SPAMBASE [3] a aplicação do processo de
mineração de dados, através da ferramenta Weka, com intuito de analisar e quantificar os tipos de SPAMs
presentes na base de dados estudada, auxiliando no processo da gerência de redes. Neste sentido, o presente
estudo aborda um processo de mineração de dados utilizando técnicas inteligentes como Árvore de Decisão e
Redes Neurais para detectar anomalias em uma base de dados rotulada, SPAMBASE.
2. MATERIAIS E MÉTODOS
O presente trabalho utiliza a base de dados SPAMBASE (Hopkins, 2013) convertida em formato de valores
(CSV – Comma Separated Values). O SPAMBASE possui cinquenta e sete atributos, como cada atributo
representa uma palavra, sendo a frequência em que esta aparece no e-mail pode determinar um SPAM
normal ou anormal. Esta base de dados contém 4.601 SPAMs, sendo, 1.813 classificados SPAMs normais e
2.232 como anormais, para analisar e quantificar os tipos de SPAMs presente na base de dados estudada. O
SPAMBASE foi criado com o objetivo de prover o estudo de melhoria nos softwares desenvolvidos para a
segurança em redes de computadores, visto que os ataques através de SPAMs com anomalias pode gerar
muito prejuízos tais como gasto desnecessário de tempo, aumento de custos, perda de produtividade,
conteúdo impróprio ou ofensivo e prejuízos financeiros causados por fraude (Fogel e Shlivko, 2010).
251
ISBN: 978-972-8939-96-0 © 2013 IADIS
Neste estudo foram utilizados todos os atributos da base de dados, uma vez que todas estas características
são relevantes para os testes. Para a normalização dos dados de entrada (Haykin, 2009) foi utilizada a técnica
Discretize disponível na ferramenta Weka e as técnicas inteligentes utilizadas foram o algoritmo (J48) árvore
de decisão e a rede neural Multi-Layear Perceptron (MLP) (Haykin, 2009).
Para a avaliação do algoritmo, foi escolhida uma ferramenta padrão da estatística, conhecida como cross
validation [5], na qual o conjunto disponível de dados é dividido aleatoriamente em um conjunto de
treinamento, com 75% do conjunto de dados, e em um conjunto de teste, com 25% do mesmo conjunto de
dados. Os exemplos são divididos em 10 partições mutuamente exclusivas, com 75% do conjunto de dados,
para treinar o algoritmo. E os 25% de elementos restantes, de cada partição, são utilizados para testar o
classificador. Repete-se esse procedimento para todas as partições. A avaliação do grau de generalização do
classificador ficará desta forma, garantida com este método.
Para avaliar o desempenho dos classificadores em pesquisas relacionadas com área, vem sendo utilizada
uma técnica de análise de resultados desenvolvida por Metz [6], chamada Curvas ROC (Receiver Operating
Characteristic)[7]. A área sob a curva ROC (Az) é um dos índices mais utilizados e representa o acerto do
sistema que está sendo analisado (classificador), ou seja, quanto maior a área, maior é o número de acertos.
Isso significa que num sistema bastante calibrado e com uma alta precisão, a curva deve estar o mais próxima
possível do canto superior esquerdo do eixo cartesiano, aumentando a área sob a curva [8][9].
3. RESULTADOS
Após a mineração de dados utilizando o algoritmo J48 foi possível obter, com base em um total 4.601
amostras, uma taxa de acerto médio de 92,76%, sendo 89,79% de acerto para classificações do tipo SPAMs
normais e 93,34% de SPAMs anormais obtendo Az igual a 0,941. O melhor resultado obtido com a rede
neural MLP possui arquitetura formada por 57 atributos de entrada, 68 neurônios na camada neural
intermediária e um neurônio na camada neural de saída e topologia com taxa de aprendizagem igual a 0,3 e
momentum igual a 0,2. Obtendo taxa de acerto nos testes igual a 93,89%, sendo que a taxa de acerto para não
SPAMs foi de 93.93% e para SPAMs foi igual a 93,78%, e com Az igual a 0.98. Mesmo utilizando todos os
atributos do SPAMBASE como entrada, os testes apresentaram bons resultados. Cabe ressaltar que foi
utilizada a técnica cross-validation para a validação dos testes (Haykin, 2009).
4. CONCLUSÕES
Atualmente muitas pesquisas na área da computação, mais precisamente em redes de computadores, estão
sendo desenvolvidas utilizando métodos de mineração de dados para identificar o comportamento da rede. A
base de dados denominada SPAMBASE, que contempla amostras de SPAMs, foi utilizada neste estudo.
Neste trabalho propomos a utilização de todos os atributos da base citada. Após a utilização do algoritmo de
árvores de decisão J48 e a rede neural MLP, foi possível obter boas taxas de acertos (92,76% para J48 e
93,89% para MLP) demonstrando assim, a vantagem do uso de técnicas inteligentes em redes de
computadores para detecção de SPAMs. Mesmo a árvore de decisão (J48) possuir uma alta taxa de acerto a
Rede Neural MLP demonstrou ser superior na detecção com taxa de acerto igual a 93,89%.
REFERÊNCIAS
Fayyad, U. M.; Piatesky-Shapiro, G.; Smyth, P., 1996. From Data Mining to Knowledge Discovery: An Overview. In:
Advances in Knowledge Discovery and Data Mining, AAAI Press.
Narendran C. R., 2009. Data Mining - Classification Algorithm – Evaluation, May 8th.
Hopkins M., Reeber E., Forman G., Jaap Suermondt , 2013. SPAMBASE,
http://www.ics.uci.edu/~mlearn/databases/spambase/
Fogel, J.; Shlivko, S., 2010. Weight Problems and Spam E-mail for Weight Loss Products Southern Medical Journal, v.
103, ed. 1, pp 31-36.
Haykin, S., 2009. Neural Networks and Learning Machines. Editora Prentice Hall, 3a. Edição, p. 936.
252
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Níria Borges Ferreira1, Maicon Bastos Palhano1, Gabriel Felippe1, Ruano Marques Pereira1,
Priscyla Waleska T. de Azevedo Simões1, Evelise Chemale Zancan2
e Merisandra C. de Mattos Garcia 1
1
Curso de Ciência da Computação, Universidade do Extremo Sul Catarinense, Criciúma –SC- Brasil
2
Curso de Engenharia Civil, Universidade do Extremo Sul Catarinense, Criciúma –SC- Brasil
RESUMO
A utilização das redes neurofuzzy possibilita o desenvolvimento de sistemas onde o conhecimento é representado e
processado de forma explícita com fácil interpretação. Isto ocorre devido à incorporação do conhecimento especialista
pela lógica fuzzy e capacidade de aprendizado das redes neurais artificiais. A aplicação de redes neurofuzzy realizada
consistiu no comportamento do mercado imobiliário de uma cidade do sul catarinense, a fim de se avaliar imóveis
urbanos. A tipologia de apartamento foi a escolhida para o desenvolvimento do aplicativo, pois possui uma maior
representatividade numérica em termos amostrais. Os resultados obtidos foram satisfatórios, apresentando capacidade de
generalização para resolução do problema proposto.
PALAVRAS-CHAVE
Sistemas de Arquitetura Híbrida, Redes Neurofuzzy, Mercado Imobiliário.
1. INTRODUÇÃO
As Redes Neurais Artificiais (RNA) são sistemas paralelos distribuídos capazes de solucionar problemas
complexos, cujo processamento é inspirado no funcionamento do cérebro humano. Uma RNA é composta
por unidades de processamento simples, utilizadas para computar funções matemáticas, dispostas em uma ou
mais camadas e interligadas. Sua principal característica é a capacidade de aprendizado, onde o
conhecimento é adquirido por meio de treinamento (Haykin, 2001).
Apesar desta característica, não é possível controlar o processo de treinamento da rede, tornando difícil o
acesso ao conhecimento adquirido. Desta forma, a solução do problema alcançado torna-se desconhecida e,
muitas vezes, a rede pode gerar resultados inconsistentes e até mesmo incompreensíveis. Com o objetivo de
resolver este tipo de problema é possível que seja realizada uma incorporação da lógica fuzzy as RNA, para
representação e processamento do conhecimento.
A lógica fuzzy é uma teoria que permite formalizar matematicamente as expressões da linguagem natural,
por meio da qual é possível realizar operações com palavras onde os conjuntos fuzzy são os seus valores.
Estes valores são obtidos por uma função e representam a imprecisão por meio de um grau de pertinência.
Desta forma, a imprecisão referente a uma afirmação pode ser expressa por um valor que exprime a
possibilidade desta ser correta (Klir e Yuan, 1995; Nedjah e Mourelle, 2005).
A união de duas ou mais técnicas da inteligência artificial constitui-se no desenvolvimento de um sistema
de arquitetura híbrida que compensa as deficiências de uma com os benefícios da outra. A pesquisa
apresentada consistiu no desenvolvimento de um aplicativo voltado ao mercado imobiliário, empregando
uma arquitetura híbrida onde a lógica fuzzy é incorporada a estrutura de uma rede neural artificial, conhecida
como rede neurofuzzy.
253
ISBN: 978-972-8939-96-0 © 2013 IADIS
3. RESULTADOS OBTIDOS
Foram realizados testes com os dados obtidos na pesquisa, inserindo-se na rede números menores de dados a
fim de realizar uma comparação da influência que a quantidade de amostras exerce no treinamento da rede.
Conforme os resultados apresentados, foi constatado que a arquitetura definida no aplicativo por meio das
variáveis utilizadas, obtém um melhor desempenho com a utilização de uma taxa de treinamento de 0,5 em
um número 150 de épocas, obtendo assim, uma taxa de erro de 0,0706, ou seja, 7,06% (Tabela 1).
Tabela 1. Resultado dos testes
Taxa de Aprendizado Erro Médio Total Percentual de Erro Médio
20 0,079799 7,97%
50 0,07859 7,85%
70 0,077453 7,74%
100 0,076894 7,68%
150 0,070602 7,06%
4. CONCLUSÃO
A utilização de sistemas de arquitetura híbrida tem se mostrado uma alternativa válida na solução de diversos
tipos de problemas. Isto se deve ao fato de uma técnica servir como complemento da outra e ambas
compensarem suas deficiências. Nesta pesquisa a lógica fuzzy permitiu a modelagem do conhecimento mais
próximo a realidade do raciocínio do especialista, além de diminuir a quantidade de processamento
necessário para incorporação do conhecimento, bem como o tratamento da incerteza por imprecisão. O
aplicativo implementado utiliza apenas um modo de inferência e função de pertinência, desta forma, dando
continuidade ao trabalho pode-se gerar outros modelos com diferentes tipos de função e arquitetura.
254
Conferência IADIS Ibero-Americana Computação Aplicada 2013
REFERÊNCIAS
Haykin, S. 2001. Redes neurais: princípios e prática. Tradução: Paulo Martins Engel. Bookman, Porto Alegre, Brasil.
Klir, G. J. e Yuan, B. 1995. Fuzzy sets and fuzzy logic: theory and applications. Prentice Hall, New Jersey, EUA.
Nedjah, N. e Mourelle, L.M. 2005. Fuzzy Systems Engineering: theory and practice. Springer, New York, EUA.
255
ISBN: 978-972-8939-96-0 © 2013 IADIS
RESUMO
Linguagens formais e autômatos é uma disciplina fundamental dos cursos superiores da área de computação,
especialmente daqueles que apresentam ênfase na formação científica do aluno, como é ocaso dos cursos de bacharelado
em Ciência da Computação e de vários cursos de Engenharia de Computação. O objetivo deste artigo é apresentar uma
proposta de ensino, baseado no desenvolvimento de um software, que aborda os formalismos de forma evolutiva,
utilizando uma mesma notação durante todo o processo, a qual será adicionada gradativamente de recursos que
aumentem a sua expressividade computacional, visando o acompanhamento da evolução das LFAs. O simulador
desenvolvido é baseado em uma máquina de estados finitos que atuam no reconhecimento das Linguagens Regulares
através de autômatos finitos.
PALAVRAS-CHAVE
Linguagens formais, autômatos finitos, ensino-aprendizagem.
1. INTRODUÇÃO
O estudo das linguagens formais desenvolveu-se significativamente e com diversos enfoques. Para a Ciência
da Computação, algumas aplicações destacam-se como análise léxica e sintática de linguagens de
programação, desenhos de hardware (circuitos digitais) e aplicações com linguagens naturais (MENEZES,
2000; HOPCROFT, MOTWANI e ULLMAN, 2007). O ensino de LFA engloba o estudo das várias classes
de linguagens formais – de acordo com a Hierarquia de Chomsky (CHOMSKY, 1956) – e os diferentes
formalismos (máquinas) relacionados ao reconhecimento dessas linguagens, como por exemplo, autômatos,
gramáticas e expressões regulares. Esta variedade de conceitos pode atrapalhar o aluno, visto que em cada
tópico da disciplina uma classe de formalismo é adotada (RAMOS, 2009; CHOMSKY, 1956). Uma forma de
auxiliar nesse processo de aprendizagem é através do uso de um software que simule a execução destes
formalismos. Isso permite ao aluno construir o formalismo (na forma autômatos, máquinas, gramáticas ou
expressões regulares) que reconheça uma dada linguagem, escolhida por ele mesmo, e testar o funcionamento
com palavras de entrada, as quais serão validadas pelo formalismo. Dentre os principais simuladores
utilizados em disciplinas de LFA destaca-se o JFLAP1 – uma ferramenta gráfica para criar e simular diversos
tipos de formalismos, além de converter diferentes representações de linguagens.
Nesta pesquisa, o objetivo é apresentar uma proposta de ensino, baseado no desenvolvimento de um
software, que aborde os formalismos de forma evolutiva, utilizando uma mesma notação durante todo o
processo, a qual será adicionada gradativamente de recursos que aumentem a sua expressividade
computacional, visando o acompanhamento da evolução das LFAs. É apresentado um objeto de aprendizado
desenvolvido para a simulação de autômatos e, por fim, são apresentadas as conclusões e a continuidade do
trabalho.
256
Conferência IADIS Ibero-Americana Computação Aplicada 2013
2. LINGUAGENS REGULARES
As Linguagens Regulares compõem um conjunto restrito de linguagens, que na hierarquia de Chomsky são
categorizadas como Tipo 3. Segundo Menezes (MENEZES, 2000), elas são oriundas de estudos biológicos
de redes de neurônios e circuitos de chaveamentos. São utilizadas no desenvolvimento de analisadores
léxicos (responsáveis pela identificação das estruturas básicas de linguagens como: identificadores, números
e palavras reservadas) de compiladores, em protocolos de comunicação e em editores de texto.
Fita de entrada: a palavra a ser processada está armazenada e será lida pelo autômato. É composta por
estados. Um autômato finito (AF) é um sistema de estados finitos e é uma máquina composta por três partes:
células (uma para cada símbolo); Unidade de Controle é uma unidade de leitura. Inicialmente posicionada
na célula mais à esquerda da fita. Acessa a uma célula de cada vez e movimenta-se para a direita;
Programa ou Função de Transição ou Função Programa é a função que determina o comportamento do
autômato, conforme o símbolo lido da fita e o estado em que se encontra.
Na próxima seção é apresentada a ferramenta desenvolvida para atuar no reconhecimento das Linguagens
Regulares através de AFD e AFND.
reconhecer a linguagem formada por palavras com número par de a's e par de b's NPAR_A_B = {a nbn | n 0}.
Para ilustrar o funcionamento da ferramenta, é apresentado na Figura 1, um exemplo de um AFD capaz de
Figura 1. Definição do AFD que reconhece a linguagem formada por palavras com número par de a's e par de b's.
1
Disponível a partir de www.jflap.org
257
ISBN: 978-972-8939-96-0 © 2013 IADIS
A seguir, é apresentada (Figura 2) a forma de realizar a simulação da palavra de entrada, que pode ocorrer
de forma direta, passo a passo ou através de múltiplas entradas.
3.1.1 Simulação: Direta, Passo a Passo e Múltiplas Entradas
(a) simulação b) simulação com múltiplas entradas (c) simulação passo a passo 1 (d) simulação passo a passo 2
REFERÊNCIAS
Aho, A., 2007. Compilers: principles, techniques, & tools. Addison-Wesley series in computer science, Pearson/Addison
Wesley: São Paulo, SP, Brasil.
Chomsky, A. N., 1956. Three models for the description of language. Information Theory, IRE Transactions on, v.2(3),
pp. 113–124.
Diverio, T. A. e Menezes, P. B., 2000. Teoria da computação: máquinas universais e computabilidade. Sagra Luzzatto:
Porto Alegre, RS, Brasil.
Hopcroft, J., Motwani, R. e Ullman, J., 2007. Introduction to automata theory, languages, and computation.
Pearson/Addison Wesley: Boston, MA, USA.
Menezes, P., 2000. Linguagens Formais e Autômatos. Sagra-Luzzatto: Porto Alegre, RS, Brasil.
Ramos, M. V. M., 2009. Linguagens formais: teoria, modelagem e implementação, Bookman: Porto Alegre, RS, Brasil.
Sipser, M., 2007. Introdução à teoria da computação. Thompson Learning: São Paulo, SP, Brasil.
258
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Débora Lima1, Sérgio Rodrigues1, Rodrigo Santos1, Jano Souza1, Miriam Chaves2,
Paula Losada3 e Irene Cunha3
PESC/COPPE – Universidade Federal do Rio de Janeiro (UFRJ), Caixa Postal 68511 – CEP 21945-970 – Rio de
1
RESUMO
Em setembro de 2000, 189 nações firmaram um compromisso para combater a extrema pobreza e outros males que
afetam a sociedade. Esta promessa foi concretizada nos oito Objetivos de Desenvolvimento do Milênio (ODMs), que
devem ser alcançados até 2015. A fim de gerenciar o atendimento de metas específicas do Brasil, o Ministério do
Planejamento, Orçamento e Gestão tem investido esforços em pesquisa e desenvolvimento na área de sistemas de
informação para supervisionar as demandas nacionais dos ODMs. Nesse contexto, este artigo apresenta o sistema Web
Agenda de Compromissos – Governo Federal e Municípios (Agenda), cujo objetivo é gerenciar os compromissos
brasileiros diante do que foi estipulado pelos ODMs. A contribuição da pesquisa realizada no desenvolvimento do
Agenda está em criar um mecanismo para concretizar a adesão dos municípios e de seus governos aos ODMs, para
melhor compreensão do cenário brasileiro e de suas demandas, em uma estratégia bottom-up.
PALAVRAS-CHAVE
governo eletrônico, sistemas de informação, computação aplicada.
1. INTRODUÇÃO
Com os impactos das tecnologias Web, a expansão da pesquisa e prática em governo eletrônico vem
acontecendo com foco na construção e utilização de sistemas computacionais para a melhoria dos serviços
públicos e da qualidade de vida do cidadão (Lima et al., 2013). Nesse sentido, o Governo Federal tem
investido esforços para planejamento, controle e acompanhamento de processos que compõem as instituições
governamentais (Preti et al., 2010). No que tange aos objetivos globais para melhorar o desenvolvimento e a
qualidade de vida dos cidadãos, a Organização das Nações Unidas (ONU) propôs a Cimeira do Milênio em
setembro de 2000, cujo resultado foi a aprovação da Declaração do Milênio das Nações Unidas (ONU,
2000). Neste documento, foi definido o conjunto de oito objetivos que deveriam ser alcançados em âmbito
mundial, sendo eles: erradicar a extrema pobreza e a fome; universalizar a educação primária; promover a
igualdade entre os sexos e a autonomia das mulheres; reduzir a mortalidade na infância; melhorar a saúde
materna; combater o HIV/AIDS, a malária e outras doenças; garantir a sustentabilidade ambiental; e
estabelecer uma parceria mundial para o desenvolvimento. Para isso, indicadores sociais, econômicos e
ambientais devem ser coletados, analisados e reportados por cada nação (Murasse & Tsunoda, 2010).
Em alguns casos, o Brasil já cumpriu as metas estabelecidas em âmbito mundial, como o primeiro
objetivo acima listado (IPEA, 2010). Ainda assim, torna-se necessário que o trabalho continue para que as
demais metas específicas sejam atingidas e, para isso, surge a demanda da estruturação de sistemas
computacionais que deem suporte à coleta, integração, análise e utilização de dados em uma estratégia
bottom-up, i.e., da gestão eletrônica dos municípios para a gestão da nação, o que valoriza a melhor
compreensão do cenário brasileiro e de suas necessidades (MPOG, 2012). Neste artigo, é apresentado o
sistema Web Agenda de Compromissos – Governo Federal e Municípios (Agenda), cujo objetivo é gerenciar
259
ISBN: 978-972-8939-96-0 © 2013 IADIS
os compromissos do Brasil diante do que foi estipulado pelos ODMs. A contribuição da pesquisa realizada
no desenvolvimento do Agenda está em criar um mecanismo para concretizar a adesão dos municípios e de
seus governos aos ODMs, para melhor compreensão das demandas brasileiras.
2. SISTEMA AGENDA
Desenvolvido em uma parceria entre o Centro de Apoio a Políticas do Governo da COPPE/UFRJ (CAPGov),
o Ministério do Planejamento, Orçamento e Gestão (MPOG) e a Secretária de Relações Institucionais da
Presidência da República (SRI), o sistema Agenda tem como objetivo principal centralizar as informações
relativas às ações realizadas na esfera municipal para atender aos ODMs entre os anos de 2012 e 2016. Neste
caso, 2012 é representante da situação anterior ao mandato atual e 2013-2016 apresenta os dados estimados e
posteriormente realizados. Com o intuito de facilitar a medição e posterior análise dos dados dos indicadores,
os ODMs são estruturados da seguinte forma (Figura 1): para cada objetivo, existe um conjunto de dois a
quatro programas, cuja finalidade é ajudar a alcançar a meta do objetivo, e.g., o Objetivo 1 possui o
Programa “Bolsa Família”. Para cada um dos programas, foi escolhido um indicador que fosse representativo
e de cálculo e coleta fáceis, com o intuito de facilitar a adesão ao sistema como um todo. Este cuidado é
necessário pela natureza altamente diversificada dos municípios brasileiros e pela busca do desenvolvimento
de todos eles. Levando em conta o conjunto de indicadores escolhidos para compor o sistema Agenda, foi
necessário armazenar os seus meta-dados (e.g., formato, periodicidade, órgão responsável), além dos valores
estimados (nos anos de mandato) e realizados (anos de mandato e pelo menos um ano anterior, para fornecer
base histórica) pela prefeitura.
Figura 1. Tela apresentando um indicador relativo ao compromisso 5, composta por um texto explicativo e tabelas
exibindo o valor realizado para o ano de 2011 e os valores estimados para 2013-1016
Para realizar essas funções, é necessário que os dados dos indicadores, que são provenientes de diversos
sistemas estruturantes do Governo Federal, sejam disponibilizados de forma padronizada para realização de
cargas no sistema. Para tal, foi elaborado um par de planilhas eletrônicas (uma contendo os meta-dados dos
indicadores e outra, os dados propriamente ditos), em conjunto com o Comitê de Organização de
Informações da Presidência da República (COI-PR), que deve ser preenchido, através da extração dos dados
do respectivo sistema estruturante, pela fonte provedora do dado (i.e., o órgão responsável por sua coleta e
consolidação). Esta escolha se deu pela ampla utilização dessas planilhas no governo, além de sua fácil
visualização e manipulação. Além disso, deve-se possibilitar a inserção dos dados estimados pelos relatores
das prefeituras (i.e., prefeitos e demais servidores ligados às funções executivas do município) para cada um
dos anos do mandato. Estes usuários efetuam login através de um mecanismo de autenticação interligado ao
260
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Sistema de Convênios do Governo Federal (SICONV, 2013), ou seja, a cada tentativa de autenticação no
sistema Agenda, login e senha são enviados via serviços Web ao servidor do SICONV, que retorna
confirmando/negando a autenticidade dos dados (e a qual município eles se referem). Optou-se por utilizar o
cadastro de usuários do sistema SICONV por sua confiabilidade e por conter dados sempre atualizados.
É possível também emitir um certificado de adesão para a prefeitura, que pode ser utilizado como
documento comprobatório. Por fim, é necessário que as informações possam ser visualizadas publicamente
para facilitar o acompanhamento da população com relação ao esforço empreendido por cada uma das
prefeituras em preencher e alcançar as metas propostas para os indicadores dos ODMs. O Agenda foi
disponibilizado ao público (Agenda, 2013) e foi apresentado no Encontro Nacional com Novos Prefeitos no
dia 30 de janeiro de 2013 pela Secretária Geral da Presidência. Desde então, diversas oficinas para
divulgação e conscientização foram oferecidas de modo a ampliar o uso do sistema. O Agenda foi
desenvolvido com a tecnologia Java Enterprise Edition, fazendo uso da técnica Model Driven Architecture
por meio do framework do Ministério da Defesa e do MPOG, denominado MDArte, utilizando um banco de
dados baseado no sistema gerenciador de banco de dados PostgreSQL.
3. CONCLUSÃO
A Estratégia Geral de Tecnologia da Informação do Governo Federal vem estimulando a pesquisa e
desenvolvimento de sistemas de informação no domínio de governo eletrônico, considerando uma série de
serviços e indicadores que precisam ser geridos de maneira eficaz (MPOG, 2012). Como parte desta
iniciativa, este artigo apresentou o sistema Agenda, cujo foco está na gestão dos compromissos brasileiros
diante do que foi estipulado pelos ODMs. O Agenda está disponível ao cidadão desde janeiro de 2013. Até
setembro deste ano, mais de 2,0% dos governos municipais brasileiros já emitiram seus certificados de
adesão, ou seja, comprometeram-se a preencher as metas específicas dos indicadores durante o seu mandato.
É interessante salientar que a adesão ao sistema é opcional em relação ao seu uso – é possível que uma
prefeitura tenha preenchido as suas metas e, no entanto, não tenha emitido o certificado. Oficinas de
divulgação do sistema vêm sendo realizadas ao longo do ano e a expectativa é que o número de municípios
que optam por aderir ao Agenda cresça com a finalização do primeiro ano do mandato, quando o prazo para o
preenchimento das metas para o ano de 2013 se encerrará.
A carga inicial relativa aos valores dos indicadores no ano de 2011/2012 foi realizada sem grandes
percalços. Como estão previstas cargas de dados com periodicidade no mínimo anual, mecanismos de
automatização desse processo estão sendo pesquisados, de forma a reduzir a necessidade de intervenção
manual. Mecanismos para descoberta de conhecimento em banco de dados também serão explorados a fim de
descobrir padrões e exceções no cenário brasileiro, considerando a estratégia de gestão bottom-up.
REFERÊNCIAS
Agenda, 2013. Sistema Agenda de Compromissos – Governo Federal e Municípios. Disponível em:
<http://agendacompromissosodm.planejamento.gov.br>.
IPEA, 2010. Objetivos do Desenvolvimento do Milênio – Relatório Anual de Acompanhamento. Março de 2010.
Lima, D., Silva, R., Garcia, A., Rodrigues, S.A., Chaves, M., Santos, R.P., e Souza, J.M., 2013. Sistema para Transição
de Governos no Brasil. In IX Simpósio Brasileiro de Sistemas de Informação. João Pessoa, pp. 355-366.
MPOG, 2012. Estratégia geral de Tecnologia da Informação – 2013-2015. MPOG, versão 1.1.
Murasse, C., e Tsunoda, D., 2010. Descoberta de conhecimento a partir de uma base de indicadores de desenvolvimento
social utilizando WEKA. In II Work. de Computação Aplicada em Governo Eletrônico. Belo Horizonte, pp. 609-621.
ONU, 2000. Nações Unidas – Declaração do Milênio. Setembro de 2000.
Preti, J.P.D., Nunes, E.P.S. e Filgueiras, L.V.L., 2010. Arquitetura Crossmedia para Integração de Serviços de Governo
Eletrônico. In II Workshop de Computação Aplicada em Governo Eletrônico. Belo Horizonte, pp. 690-701.
SICONV, 2013. Sistema de Convênios do Governo Federal. Disponível em: <https://www.convenios.gov.br/siconv/>.
261
ISBN: 978-972-8939-96-0 © 2013 IADIS
Matheus Dimas de Morais, Wesley Folly Volotão de Souza, Anderson de Souza Lima
e Ítalo de Oliveira Matias*
Instituto Federal Fluminense, Bom Jesus do Itabapoana, RJ
Universidade Candido Mendes, Campos dos Goytacazes, RJ*
RESUMO
Este trabalho utiliza os conceitos de Algoritmos Genéticos (AGs) na tentativa de otimizar e melhorar o desempenho das
técnicas de roteamento, empregadas na interligação de redes. Para isso, foi implementado um algoritmo que analisa
vários parâmetros de rede (Número de saltos, atraso ou latência, taxa de transmissão e taxa de erro), a fim de determinar
qual o melhor caminho dada a origem e o destino. Para testar a eficácia do algoritmo, foi utilizada uma rede com onze
roteadores onde se pôde perceber que o algoritmo implementado mostrou resultados satisfatórios relativos ao encontro de
caminhos pela rede. Desta forma, foi verificado que a evolução destas técnicas pode reduzir a demanda de tempo para o
funcionamento de uma rede.
PALAVRAS-CHAVE
Algoritmos Genéticos; Roteamento; Protocolos de roteamento; Rede de Computadores; Internet.
1. INTRODUÇÃO
Atualmente, na era da informação, as pessoas se tornam cada vez mais dependentes da grande rede mundial
de computadores, a Internet. Esta é formada por um grande conjunto de diferentes redes que oferecem vários
serviços aos usuários e possui características marcantes como não ter sido planejada e nem ser controlada por
ninguém (Tanenbaum, 2003).
Na arquitetura TCP/IP, as informações são divididas em pacotes e estes são encaminhados pela Internet
através dos roteadores. Existem diversas formas de se rotear um pacote através da rede. Este artigo abordará
uma implementação de um Algoritmo Genético que irá auxiliar na busca de melhores caminhos pela rede,
levando em consideração parâmetros encontrados nos dois principais algoritmos de roteamento interno: RIP
e OSPF.
262
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Maia (2009) apresenta algumas métricas de roteamento, sendo que algumas delas serão abordadas pelo
algoritmo desenvolvido para o artigo, sendo elas: Número de saltos; Taxa de transmissão ou carga da rede;
Atraso; Taxa de erro; Disponibilidade e Custo.
No contexto de protocolos de roteamento é importante observar que existem duas grandes ramificações
de protocolos. Temos o EGP (Exterior Gateway Protocols) e o IGP (Interior Gateway Protocols). O
algoritmo desenvolvido neste trabalho é classificado como do tipo IGP, pois objetiva ser utilizando dentro de
um AS (Autonomous System) sendo este por sua vez definido por Tanenbaum (2003) como redes
independentes que podem, cada uma dentro de sua fronteira, utilizar diversos algoritmos de roteamento
distintos.
Figura 1. Estrutura da rede escolhida para os testes. Fonte: Adaptado de Pereira, et al (2012).
No algoritmo implementado cada cromossomo define um caminho completo no grafo de 11 vértices.
Sendo assim, cada cromossomo será um conjunto de vértices, da origem ao destino. Assim sendo, serão
necessários 4 bits para discriminar um vértice. Como o exemplo proposto no artigo possui 11 vértices, são
necessários 4 bits para representar um roteador. Com isso, o exemplo de um cromossomo seria [0000 0010
0101 1000 1010].
Na etapa inicial da geração dos cromossomos esses bits são gerados aleatoriamente. O fitness de cada
cromossomo representa o custo associado ao caminho. Assim sendo, quanto menor o custo, melhor à solução
encontrada.
Para o cálculo do fitness, foi atribuido um grau de significância para cada métrica, conforme expresso na
fórmula de avaliação abaixo:
nota = (3*Atraso)+(2*Erro)+(0.1*Pulos)-(4*Transmissao) + (indisponibilidade *
Integer.MAX_VALUE);
É importante observar que cada métrica possui uma unidade de medida diferente. Sendo assim, torna-se
necessário colocar esses dados dentro de uma mesma escala para que uma métrica não influencie mais do que
a outra. Nota-se que na fórmula de avaliação apresentada, cada parâmetro possui um peso associado. Esses
pesos podem ser modificados de acordo com a utilização da rede.
Os primeiros 80% dos indivíduos da população são escolhidos para cruzamento, o restante é excluído da
próxima geração. É feito o processo de elitismo nos primeiros 20% dos indivíduos selecionados.
A próxima etapa é definir um ponto de corte para o cruzamento. A escolha dos pontos de corte foi
baseada no trabalho de Pereira et al (2012) e pode ser visualizado abaixo:
pontoCorte1 = (int) somatorioPulos / numeroIndividuos;
pontoCorte2 = pontoCorte1 + ((numeroAlelos - pontoCorte1) / 2);
Após o cruzamento é necessário escolher uma taxa de cromossomos para sofrer mutação de forma
aleatória, assim foi escolhida uma taxa de 10%.
263
ISBN: 978-972-8939-96-0 © 2013 IADIS
4. RESULTADOS
Para a realização dos testes no algoritmo genético implementado, foi utilizado o grafo exibido na Figura 1.
Para cada uma das 18 arestas foram definidos valores para os respectivos parâmetros com o objetivo de
simular uma rede real. Para avaliar a eficácia do algoritmo, o mesmo foi executado 100 vezes onde foi
analisada a nota e a geração de cada caminho encontrado. Os resultados das execuções foram classificados
em 5 categorias:
Ótimo - Custo inferior de -0,6855; Bom - Custo entre -0,6855 e 0,3145; Regular - Custo entre 0,3145 e
1,3145; Ruim - Custo acima de 1,3145; Não encontrado.
Na execução dos testes foi definido que o número máximo de gerações seria de 10000 e caso não
houvesse melhora em 1000 gerações, o algoritmo deveria ser encerrado. Foram definidos também que a taxa
de crossover seria de 80% com uma taxa de mutação de 10%. A população era constituída de 100 indivíduos
e os caminhos deveriam ser sempre do vértice 0 para o vértice 10.
Na figura 2 são apresentados graficamente os resultados dos testes classificados conforme descrito acima.
REFERÊNCIAS
FREITAS, Cherze C. et al., 2007, Uma ferramenta baseada em algoritmos genéticos para a geração de tabela de horário
escolar. Sétima Escola Regional De Computação, Vitória da Conquista – BA, Brasil, [sn].
MAIA, L. P., 2009, Arquitetura de redes de computadores, LTC, Rio de Janeiro – RJ, Brasil, 230p.
PEREIRA, R. A. et al., 2012, Algoritmos Genéticos para Roteamento em Redes, Centro Universitário Nove de Julho
(UNINOVE). São Paulo – SP, Brasil, pp 6.
TANENBAUM, A. S., 2003, Redes de Computadores. 4.ed. Campus, Rio de Janeiro – RJ, Brasil, 968p.
264
Conferência IADIS Ibero-Americana Computação Aplicada 2013
RESUMO
A Computação em Nuvem desperta interesse em muitos profissionais de Tecnologia da Informação, devido ao seu
conceito inovador, que consiste em redução de custos e maior flexibilidade em infraestruturas computacionais.
Entretanto, problemas podem ocorrer em ambientes que não possuem um plano de alta disponibilidade. Este trabalho
aborda algumas das políticas de alta disponibilidade apresentadas pelo provedor de Computação em Nuvem Windows
Azure, focando em um de seus recursos, o Traffic Manager, que controla o tráfego de dados entre o usuário e a nuvem.
PALAVRAS-CHAVE
Computação em nuvem; alta disponibilidade; traffic manager; windows azure; autoscaling applcation block.
1. INTRODUÇÃO
A Computação em Nuvem consiste na hospedagem e uso de sistemas, plataformas ou infraestruturas
computacionais, também conhecidos como “nuvens”, em ambientes remotos, através de uma rede. O custo é
flexível, de acordo com os recursos alocados – de uma maneira similar ao que acontece com água e energia
elétrica [1]. O administrador da nuvem pode expandir ou reduzir os serviços utilizados a qualquer momento.
Disponível, na maioria dos casos, através da Internet, as nuvens podem ser acessadas por celulares,
computadores, sistemas embarcados, entre outros dispositivos eletrônicos. Tal abordagem é possível através
de datacenters trabalhando de forma simultânea, cooperada e integrada. Dados de cada usuário precisam estar
armazenados com redundância em múltiplos locais. Deve haver alta disponibilidade em casos de
modificações inválidas ou ataques aos servidores, usando a menor carga de processamento possível. [2]
2. TRABALHOS RELACIONADOS
Em [3], foram propostas fórmulas e equações matemáticas visando mensurar o custo real da implantação de
alta disponibilidade em uma solução em nuvem, e suas implicações. Conceitos como Hot Standby e Cold
Standby, esquemas de tolerância a falhas e suas representações em modelos de Markov, todos em nuvem,
foram abordados em [4]. Foi proposta uma técnica para selecionar o provedor em nuvem mais adequado para
hospedar uma determinada aplicação, com base no orçamento disponível e na disponibilidade necessária [5].
265
ISBN: 978-972-8939-96-0 © 2013 IADIS
O Windows Azure garante, de forma nativa e automática, múltiplas cópias das informações em sistemas
de armazenamento físico independentes [7]. As aplicações também podem ser publicadas em múltiplas
instâncias, embora o usuário pague pelas instâncias adicionais da mesma forma que se fossem
completamente isoladas. O recurso Autoscaling Application Block permite redimensionar a quantidade de
instâncias executando uma aplicação no Windows Azure, de acordo com regras pré-definidas. É possível, por
exemplo, aumentar a quantidade de instâncias, de forma automática, em um horário em que a aplicação esteja
sendo bastante acessada. Há uma interface de programação disponível para o uso deste recurso.
Figura 2. Tempos de processamento da aplicação para os Figura 3. Tempo de processamento para a aplicação usando
três datacenters selecionados. as três regras do Traffic Manager.
266
Conferência IADIS Ibero-Americana Computação Aplicada 2013
Ao usar Round-Robin, a fila foi definida, inicialmente na seguinte ordem: Dublin, Cingapura e Chicago.
Por isto, houve tantas oscilações – o primeiro acesso foi encaminhado a Dublin, o segundo a Cingapura, o
terceiro a Chicago, o quarto até Dublin novamente, e assim sucessivamente.
Quando a regra Failover foi aplicada, com o serviço de Chicago atuando como o principal (o primeiro da
“fila” definida pelo administrador), os tempos de processamento foram similares aos encontrados na Figura
2, quando tal datacenter foi acessado diretamente.
A Irlanda é mais próxima de Recife do que Chicago. Mas ao analisar os resultados obtidos, percebe-se
que, ainda assim, o serviço em Chicago é mais rápido. Recentemente, a Microsoft incluiu dois datacenters
nos Estados Unidos à composição do Windows Azure, totalizando quatro datacenters naquele país. É
provável que as condições de rede, assim como o hardware disponível, esteja favorecendo o serviço de
Chicago.
4. CONCLUSÕES
Este estudo apresentou a importância da alta disponibilidade em um ambiente em nuvem. Ao administrador,
cabe o conhecimento das opções fornecidas pelo provedor, para que possa montar um ambiente que esteja
disponível sempre que necessário.
Para planejar a implantação de um software, plataforma ou infraestrutura em nuvem com sucesso, é
preciso conhecer as peculiaridades do provedor escolhido, além de questões técnicas da rede, nas localidades
que hospedarão os recursos.
REFERÊNCIAS
[1] C. Vecchiola, X. Chu, e R. Buyya, 2009, “Aneka: A Software Platform for .NET-based Cloud Computing”. High
Speed and Large Scale Scientific Computing, vol. 18, pp. 267-295. Hardcover, Alemanha.
[2] V. Madhavi, R. Tamilkodi, e R.BalaDinakar, 2012, “Data Storage Security in Cloud Computing for Ensuring
Effective and Flexible Distributed System”. K.. National Conference on Research Trends in Computer Science and
Technology, pp. 2-3. Medchal, Índia.
[3] S. Pandey e S. Nepal, 2012, “Modeling Availability in Clouds for Mobile Computing”. 2012 IEEE First International
Conference on Mobile Services, pp. 80-87. Honolulu, EUA.
[4] A. Chilwan, A. Undheim, e P. E. Heegaard, 2012, “Effects of Dynamic Cloud Cluster Load on Differentiated Service
Availability”. 21st International Conference on Computer Communications and Networks (ICCCN), pp. 1-6.
Munique, Alemanha.
[5] C. Chang, P. Liu, e J. Wu, 2012, “Probability-based Cloud Storage Providers Selection Algorithms with Maximum
Availability”. 41st International Conference on Parallel Processing (ICPP), pp. 199-208. Pitsburgo, EUA.
[6] Windows Azure [online], 2013, “Windows Azure Trust Center – Privacy”. Disponível em:
https://www.windowsazure.com/pt-br/support/trust-center/privacy/ (Acessado em: 03 de março de 2013).
[7] Microsoft [online], 2013, “Business Continuity for Windows Azure”. Disponível em: http://msdn.microsoft.com/en-
us/library/windowsazure/hh873027.aspx (Acessado em: 25 de agosto de 2013).
[8] Microsoft [online], 2013, “Windows Azure Traffic Manager Overview”. Disponível em:
http://msdn.microsoft.com/en-us/library/windowsazure/hh744833.aspx (Acessado em: 12 de março de 2013).
267
ISBN: 978-972-8939-96-0 © 2013 IADIS
RESUMO
O transtorno de déficit de atenção/hiperatividade é o transtorno neuropsiquiátrico mais comum entre crianças em idade
escolar no mundo. Pesquisadores descobriram que o uso de ferramentas computacionais podem oferecer maiores
oportunidades de sucesso para estas crianças do que o método convencional, e também melhorar suas habilidades sociais.
Entre os benefícios da intervenção por computador encontramos: feedback instantâneo, tomada de decisões rápidas e
ensino por meio da ação e não explicação. O método de jogos mais utilizado para o ensino é o serious game, entretanto
alguns autores apontam a falta do componente “diversão” ou entretenimento no processo de desenvolvimento destes
jogos. Este componente é o responsável pelo sucesso dos jogos comerciais e se faz necessário para atingir um maior
público para esta modalidade de jogos. Portanto o trabalho envolveu o desenvolvimento de um método de
desenvolvimento de jogos unindo os conceitos de GDD e serious game.
PALAVRAS-CHAVE
Transtorno de Déficit de Atenção/Hiperatividade, Aprendizado, Ferramentas computacionais
1. INTRODUÇÃO
O Transtorno de Déficit de Atenção / Hiperatividade (TDAH) é definido pela Associação Americana de
Psiquiatria (APA, 2000) como um transtorno neurobiológico caracterizado por padrões comportamentais
subdivididos em três tipos, o desatento, o hiperativo/impulsivo e o combinado. Ainda segundo a APA este
transtorno psiquiátrico é classificado como o mais comum em crianças em idade escolar (APA, 2000).
O TDAH possui um histórico escolar de abandono e insucesso escolar o que pode estar relacionado à sua
característica comportamental de isolamento que pode resultar em depressão, uso de drogas e comportamento
agressivo.
Com o aumento do uso de jogos para treinamento, simulação e ensino dúvidas quanto a sua eficácia
foram levantadas, uma vez que os jogos utilizados eram voltados apenas ao entretenimento sem seguir
qualquer método pedagógico ou psicológico. Para tanto segundo Yussof (2010) o uso do serious game pode
comprovadamente trazer benefícios ao ensino uma vez que suas entradas principais são o conteúdo
educacional, psicológico e computacional a fim de se alcançar a educação lúdica.
Diversos autores como (Pourabdollahian., et al 2012; Hauge et al 2012; Yuda, 2011) apontam os
benefícios do serious game na área da matemática, memória espacial, geometria e engenharia, este método é
o que mais entende as necessidades educacionais da atualidade. Mas, como ele diz em seu próprio projeto
este método é voltado à educação e pode deixar os componentes de entretenimento que trazem à tona muitos
jogadores em todo o mundo passarem despercebidos.
Portanto o objetivo deste trabalho é desenvolver um método que englobe as entradas do serious game, de
modo que não seja perdido o componente de diversão (entretenimento) existente em jogos comerciais e que
chama tanto a atenção dos jogadores como relatado por (POURABDOLLAHIAN., et al 2012; HAUGE et al
2012; YUDA, 2011). Outro componente de extrema importância é a falta de um método de desenvolvimento
de jogos educacionais voltado ao TDAH.
268
Conferência IADIS Ibero-Americana Computação Aplicada 2013
2. MATERIAIS E MÉTODOS
Para o desenvolvimento do método ICS (Ianaguivara, Candiago e Silva) será utilizada a Estrutura Analítica
de Projeto (EAP) e o Game Design Document (GDD). A EAP é utilizada para visualizar as etapas do projeto
em uma perspectiva de alta à baixa abstração de desenvolvimento de software, para determinar as atividades
necessárias para o desenvolvimento do e-learning dentro do orçamento, prazo e com os recursos disponíveis,
além de determinar em que fase do projeto as atividades devem ser implementadas. O GDD deve ser
adicionado no método proposto, a fim de abranger as fases de desenvolvimento de jogos comerciais, ou seja,
jogos voltados à diversão e ao entretenimento. Os testes são utilizados para visualizar os benefícios obtidos
através desta ferramenta.
2.2 Testes
Os testes serão realizados no laboratório de ambientes virtuais e tecnologia assistiva (LAVITA) da
Universidade de Mogi das Cruzes (UMC). Os testes selecionados foram: Testes de software (caixa-branca e
caixa-preta) e teste de usabilidade.
O teste e caixa-branca será aplicado para avaliar a construção lógica do software, ou seja, a lógica de
programação do software. O teste de caixa-preta será aplicado para avaliar as funcionalidades do sistema, por
exemplo, a figura 4 ilustra o desafio de pegar a garrafa com número maior, analisando-a podemos concluir
que é a garrafa com o valor “5” o tester deverá analisar se o software permite o jogador continuar a execução
do aplicativo se a resposta for errada.
3. RESULTADOS
O teste de caixa-branca foi aplicado pelos desenvolvedores do software, uma vez que o usuário não tem
acesso ao código fonte. O jogo foi considerado aprovado neste teste.
O teste de caixa-preta foi avaliado por “5” voluntários formados em Sistemas da Informação, o mesmo foi
considerado aprovado em todas as métricas propostas.
O teste de usabilidade envolveu as métricas de gráfico, som, controle, diversão e animação. Os testes
foram realizados por “5” voluntários com experiência em desenvolvimento de jogos comerciais.
As métricas de avaliação foram divididas em: (5 – Muito Bom, 4 – Bom, 3 – Regular, 2 – Ruim e 1 –
Muito ruim).
269
ISBN: 978-972-8939-96-0 © 2013 IADIS
Teste de Usabilidade
Gráficos Sons Controles Diversão Animações
V1 5 5 4 5 5
V2 4 4 3 4 4
V3 4 4 3 4 3
V4 4 5 4 4 3
V5 4 4 3 4 4
REFERÊNCIAS
AMERICAN PSYCHIATRIC ASSOCIATION (APA) 2000. DIAGNOSTIC AND STATISTICAL MANUAL OF
MENTAL DISORDERS (DSM-IV). 4.ED. WASHINGTON: BRITISH LIBRARY.
BEZERRA, E. PRINCÍPIOS DE ANÁLISE DE SISTEMAS COM UML. IN:____________. 2.ED. RIO DE JANEIRO:
CAMPUS, 2006. P. 19-94.
HAUGE, J, B; POURABDOLLAHIAN, H, B; RIEDEL, C, J, C, K, H (2012). Workshop on the Use of Serious Games
in the Education of Engineers. Procedia Computer Science, n.15, p.340-341.
POURABDOLLAHIANA, B; TAISCHA, M; KERGAA, E (2012). Serious Games in Manufacturing Education:
Evaluation of Learners’ Engagement. Procedia Computer Science, n.15, p.256-265.
YUDA, M (2011). Effectiveness of Digital Educational Materials for Developing Spatial Thinking of Elementary School
Students. Procedia Social and Behavioral Sciences, n.21, p. 116-119.
YUSSOF, A (2010). A Conceptual Framework for Serious Games and its Validation. Thesis for the Degree of Doctor of
Philosophy. Faculty of Engineering, Sciences and Mathematics School of Electronics and Computer Science -
University of Southampton.
270
ÍNDICE DE AUTORES
Albuquerque, J. ................................................ 87 Garcia, M. .............................. 103, 198, 223, 253
Almeida, M..................................................... 127 Garcia, R. ...................................................... 256
Amaral, R. ...................................................... 203 Garcindo, L. .................................................. 151
Araújo, L. ...................................................... 158 Gimenez, D. ..................................................... 47
Araújo, W. ........................................................ 63 Guedes, G. ..................................................... 151
Arenas, D. ........................................................ 47 Guimarães, L. ................................................. 228
Arruda, D. ........................................................ 38 Hoepers, A. ...................................................... 79
Assunção, M. ................................................. 193 Hoepers, C. ...................................................... 55
Azevedo, F. ............................................ 103, 223 Hoffman, J. .................................................... 166
Barbosa, C. ....................................................... 87 Iaione, F. ........................................................ 237
Bastos, M. ......................................................... 63 Ianaguivara, E. .............................................. 268
Berkenbrock, C. .............................................. 158 Kay, M. ......................................................... 237
Betencourt, P. ................................................. 119 Lemos, J. ........................................................ 233
Bôaventura, R. .......................................... 71, 193 Licata, E. ......................................................... 47
Boldt, F. ........................................................... 95 Lima, A. ........................................................ 262
Bona, L. .......................................................... 183 Lima, D. ........................................................ 259
Brazolin, S. .................................................... 203 Lima, M.......................................................... 175
Brito, G. ......................................................... 111 Lima, T. .......................................................... 143
Camargo Junior, A. ....................................... 251 Losada, P. ...................................................... 259
Campos, J. ....................................................... 87 Magagnin Junior, A. ........................................ 21
Candiago, A. .................................................. 268 Mantau, M. ..................................................... 158
Carabajal, M. .................................................... 47 Marinho, D. .................................................... 135
Carneiro, L. ................................................... 127 Marques, C. .................................................... 193
Carvalho, E. ................................................... 151 Martins, E. ...................................................... 103
Castello, J. ..................................................... 166 Martins, H. .................................................... 251
Chaves, M. ..................................................... 259 Matias, Í. ....................................................... 262
Chen, R. ........................................................... 38 Melo, D. ........................................................ 111
Citadin, J. ....................................................... 158 Misaghi, M. ........................................................ 3
Correia, R. ...................................................... 256 Moraes, D. ..................................................... 135
Costa, C. ........................................................... 11 Morais, M. .............................................. 245, 262
Costa, K. ........................................................ 251 Murilo, S. ....................................................... 265
Costa, P. ......................................................... 166 Nascimento, P. ............................................... 111
Cunha, I. ......................................................... 259 Neves, M. ...................................................... 251
Dörr, J. ........................................................... 183 Novaski, M. ................................................... 223
Ellwanger, C. ......................................... 119, 143 Oliveira, A................................................ 87, 119
Escobar, T. ..................................................... 119 Olivete Júnior, C. .......................................... 256
Fajardo, J. ....................................................... 213 Palhano, M. ................................... 198, 223, 253
Felippe, G. ...................................... 198, 223, 253 Panizzi, M. ....................................................... 47
Fernandes, S. .................................................. 111 Pansanato, L. .......................................... 135, 209
Ferreira, N. .................................................... 253 Parraga, A. .................................................... 228
Fick ,E. .......................................................... 233 Pereira Filho, J. ............................................. 166
Figueiredo, R. ................................................. 233 Pereira, D. ..................................................... 135
Firmo, A. ......................................................... 87 Pereira, D. ..................................................... 209
Galante, G....................................................... 183 Pereira, I. ....................................................... 166
Pereira, M. ................................................. 55, 79
Pereira, R. ....................................... 198, 223, 253
Pinto, B. ................................................... 71, 193
Rauber, T. ........................................................ 95
Rezende, A. .................................................... 175
Ribeiro, P. .............................................. 218, 251
Rodrigues, S. .................................................. 259
Rojas, F. ........................................................... 29
Rossi, V. ......................................................... 251
Russo, M. ....................................................... 203
Sala, D. .......................................................... 228
Sales, D........................................................... 245
Santos, C. ............................................... 119, 143
Santos, R......................................................... 259
Sauki, M. ........................................................ 198
Schmitz, A. ...................................................... 79
Sgarbi, J. ......................................................... 218
Silva Junior, E. .............................................. 111
Silva, A. .......................................................... 268
Silva, A. ......................................................... 256
Silva, D. ......................................................... 143
Simas, J. ........................................................... 21
Simões, P. ............................................... 198, 253
Souza, J........................................................... 259
Souza, W. ...................................................... 262
Sovierzoski, M.................................................. 21
T. Filho, J. ....................................................... 38
Teixeira, S. .................................................... 166
Torres, E. ......................................................... 29
Valença, M. ................................................... 111
Varejão, F. ........................................................ 95
Vera, F. ............................................................. 29
Viríssimo, D. ................................................. 203
von Söhsten, D. ............................................. 265
Yamanaka, K. ........................................... 71, 193
Zancan, E. ...................................................... 253