1 XIII Escola Regional de Informática Norte 2 – 2013 29 a 31 de outubro de 2013 Centro Universitário do Pará, CESUPA ANAIS Editoração Delano Campos de Oliveira http://ern2013.com.br/ 2 XIII Escola Regional de Informática Norte 2 – 2013 PROMOÇÃO Sociedade Brasileira de Computação (SBC) REALIZAÇÃO Centro Universitário do Pará (CESUPA) APOIO Museu Paraense Emílio Goeldi (MPEG) Universidade da Amazônia (UNAMA) Universidade Federal do Pará (UFPA) Universidade Federal Rural da Amazônia (UFRA) EQUIPE ORGANIZADORA Coordenação Geral: Prof. Dr. Marcos Paulo Alves de Sousa Coordenação Comitê de Programa: Profa. MSc. Alessandra Natasha Barreiros, Prof. Msc. Marcos Douglas da Silva Gomes, Profa. MSc. Polyana Santos Fonseca Nascimento, Prof. Dr. Orlando Shigueo Ohashi Junior e Prof. MSc Marcos Venicios Conceição Araújo Equipe de Apoio: Antônio Emídio Monteiro Rebêlo, Clívia Lorena Azevedo da Rocha, Daniel Claudio da Cruz Barros, Débora Campos Rodrigues, Elen Arantza Silva Botelho, Isadora Barbosa Costa, Juliana Correa dos Santos, Marília Chaar Machado, Nicolle Karine Andrade Dantas Macedo, Rodolfo de Sousa Gomes, Rodrigo Rodrigues da Silva Rocha, Thiago Renan Costa Siqueira COMITÊ DE PROGRAMA Prof. MSc. Adalton Magalhães Lima (UFPA) Prof. MSc. Ananias Pereira Neto (UNAMA) Prof. MSc. Antônio Jacob Júnior (UNAMA) Prof. Dr. Cleidson de Souza (UFPA) 3 Profa. MSc. Decíola Fernandes de Sousa (UFRA) Prof. Dr. Eduardo Coelho Cerqueira (UFPA) Prof. Esp. Eudes Danilo da Silva Mendonça (CESUPA) Prof. Dr. Jefferson Magalhães de Morais (UFPA) Prof. Dr. José Laurindo Campos do Santos (INPA) Profa. MSc. Larissa Sato Elisiário (UFRA) Prof. MSc. Mauro Margalho Coutinho (UNAMA) Prof. Dr. Otávio Noura Teixeira (CESUPA) Prof. MSc. Rodrigo Lisboa Pereira (CESUPA) Profa. MSc. Silvana Rossy de Brito (UFRA) 4 A Interação dos Alunos de uma Escola Pública Estadual do Pará com a Cultura Digital Dentro e Fora do Ambiente Escolar ............................................................. 7 Tiago Lobato de Souza, Gleise Batista dos Reis, Larissa Sato Elisiário Aplicação de Redes Neurais Artificiais para Classificação dos Ciclos Hidrológicos de um Reservatório de Água na Amazônia ........................................................... 16 Jean Freire, Tarcísio Lobato, Jefferson Morais, Terezinha Oliveira, Rachel Hauser-Davis, Augusto Saraiva Aplicação do Artificial Bee Colony em Funções de Minimização Não Restritivas 24 Marco Antônio Florenzano Mollinetti, Otávio Noura Teixeira Aprendizagem de Lógica e Algoritmos: Uma experiência do PIBID com alunos do Ensino Fundamental ............................................................................................. 30 Raimunda Denize da S. Vieira, Joel da C. Lobato Junior, Tayana Cristine A. Simões, Decíola F. Sousa Canal online Whua! Mix: proposta de levar informação sobre cultura japonesa, música e tecnologia, usando a internet como meio de comunicação ...................... 42 Fernanda L. C. Santos, Alisson R. Comerlatto, Nivio I. C. Imbiriba, Alessandra N. A. Barreiros Classificação automática de informações ambientais usando Redes Neurais Artificiais: O caso da Malária na usina hidrelétrica de Belo Monte, Pará, Brasil. 47 Alcinês da Silva Sousa Júnior, Alcione Ferreira Pinheiro, Larrysa de Cássia Tork da Silva, Nelson Fernando de Lisboa Soffiatti, Luís Henrique Rocha Guimarães, Nelson Veiga Gonçalves Desenvolvimento de Ferramenta para Monitoramento Multimídia a partir de Redes Heterogêneas ......................................................................................................... 57 Wilson Farias, Claudio Silva, Rodrigo Costa, Denis Rosário, Eduardo Cerqueira Desenvolvimento de uma Interface Gráfica para o simulador CODPON-SIM ...... 66 Patrick A. Bungama, Yuri A. Planzo, Mauro M. Coutinho Especificação e Desenvolvimento de um Sistema Domótico de Baixo Custo Utilizando Arduino ............................................................................................... 77 Luiz Felipe de Sousa, Msc. Cassio David Borralho, Celson Pantoja Lima Estudo das Técnicas de Monitoramento para Avaliação do Desempenho em Cluster de Servidores Web ................................................................................................ 87 Diego B. Lopes, Patrick A. Bungama, Taison A. de Nadal, Ananias P. Neto Imperialist Competitive Algorithm: Um algoritmo baseado em Relações sociopolíticas feito na Linguagem de Programação C .............................................. 96 Marco Antônio Florenzano Mollinetti, Filipe Bittencourt Souza das Neves, Rodrigo Lisbôa Pereira, Otávio Noura Teixeira 5 Mapa do Crime de Belém do Pará: uma proposta para facilitar o acesso da população aos dados criminais em Belém do Pará .............................................. 107 Fernanda L. C. Santos, Marcell A. A. Mesquita, Nivio I. C. Imbiriba, Alessandra N. A. Barreiros Mecanismos de Sincronização em Banco de dados Utilizando Sync Framework Aplicado às Redes DTN ....................................................................................... 113 Paulo Vitor Nascimento Lobato, Mauro Margalho Coutinho O Lúdico no Ensino de Lógica na Educação Básica ............................................ 127 Lílian Lúcia B. Monteiro, Marco Antônio M. das Chagas, Odete da C. Ferreira, Marialda M. de Melo, Fabiano Leandro C. de Melo, Mário Rômulo C. Costa, Decíola F. de Sousa Parque Zoobotânico Virtual, Um espaço de educação ambiental e cultural do Museu Paraense Emílio Goeldi através de Realidade Virtual ......................................... 136 Hardy J. S. Miranda, Lucas A. Andrade, Marcos Paulo Souza Proposta de Implantação do Processo de GCO para a CDP fundamentado no MPS.BR ....................................................................................................................... 146 Soraia S. F. Pantoja, Rodrigo Lisbôa Pereira TIC’s para Inclusão: Uma experiência de iniciação à docência com alunos de Licenciatura em Computação - UFRA ................................................................ 158 Aline C. Ferreira, Alix R. Silva, Kelly Cristina Silva. Braga, Hilda R. Freitas, Larissa S. Elisiário TVD-EDUC 3.0: Aplicação Educacional Interativa para Inclusão Digital/Social Através do Ambiente de TV Digital .................................................................... 167 Jhenifer da S. Santos, Fabrício W. da S. Garcia, Flávia P. Monteiro, Marcos C. da R. Seruffo, Carlos N. da Silva, Carlos R. L. Francês Uma Nova Visão para a Ontologia de Domínio da Biodiversidade ...................... 179 Janaína M. P. Nascimento, Delano Campos de Oliveira, Andréa Corrêa Flôres Albuquerque, Marcos Paulo Alves de Sousa, José Laurindo Campos dos Santos Uso de Criptografia para Manter a Consistência dos Dados em Redes DTN via Algoritmo MD5 ................................................................................................... 190 José Afonso Ribeiro Serrão, Mauro Margalho Coutinho Uso de redes DTN para coleta automatizada de dados oriundos de radares de trânsito da Região Metropolitana de Belém ........................................................ 207 Jessica Santos, Heverson Silva, Mauro Margalho 6 A Interação dos Alunos de uma Escola Pública Estadual do Pará com a Cultura Digital Dentro e Fora do Ambiente Escolar Tiago Lobato de Souza1, Gleise Batista dos Reis1, Larissa Sato Elisiário1 Instituto Ciberespacial (ICIBE) – Universidade Federal Rural da Amazônia (UFRA) Cep. 66077-901 - Belém – PA – Brasil 1 [email protected], [email protected], [email protected] Abstract: The use of Information and Communication Technologies (ICT’s), besides the increase between human’s interaction with virtual environments, may impact changes in different society’s settings, mainly in the urban one. And the school is one of few institutions which has hardly to control and use those changes in its favor. In this way, arises the importance of analyzing the digital culture´s presence into children and youth's lives from public schools so it can be inserted in an appropriated way into the educational projects. Resumo: A utilização das Tecnologias de Informação e Comunicação (TIC’s) e o crescimento da interação do homem com os meios virtuais causam mudanças em diferentes ambientes da sociedade, mas principalmente no meio urbano. E a escola é umas das instituições que mais possui dificuldade em controlar e usar essas mudanças ao seu favor. Assim, surge a necessidade de analisar a presença da cultura digital na vida de crianças e adolescentes de instituições públicas de ensino para que esta possa ser inserida de forma mais adequada nos projetos pedagógicos. 1. Introdução Este estudo, realizado por dois acadêmicos bolsistas do Programa Institucional de Bolsa de Iniciação à Docência (PIBID), no período de outubro de 2012 a julho de 2013, abrange um universo de 306 alunos entre 10 e 17 anos de idade da escola pública Estadual de Ensino Fundamental XV de Outubro, em um bairro periférico da cidade de Belém. Tratase da pesquisa que foi realizada durante o período das ações do PIBID na escola. Um questionário – sem identificação e de autopreenchimento com perguntas subjetivas – foi distribuído em todas as turmas de 6º ano à 8ª série da escola, bem como foram coletados dados a partir da experiência dos autores deste artigo em com os alunos em sala ao ministrar aulas e palestras relacionadas à computação. 2. Iniciando a pesquisa Quando começamos a atuar na escola nos deparamos com a dificuldade de ensinar informática e realizar todos os projetos que planejamos sem um laboratório de informática, pois a escola ainda aguardava a implantação de um laboratório que não foi instalado até o término do período de realização do PIBID na instituição. Os alunos não possuíam acesso a nenhuma Tecnologia de Informação e Comunicação (TIC’s) na escola, exceto seus celulares de uso pessoal. Diante desse 7 desafio, foram ministradas aulas e palestras que envolviam a participação direta dos alunos para que pudéssemos conhecer melhor a interação deles com a presente cultura digital, em consonância com Fantin (2012, p. 70) quando diz que: Saber os repertórios que os estudantes trazem do cinema, da televisão, dos quadrinhos, da literatura, da mídia, das redes sociais, e da cultura digital é fundamental, não só como ponto de partida para ancorar os conhecimentos sistematizados, mas para ampliar esse capital cultural. Sobretudo para relacionar tais saberes com as competências multimídias construídas em contextos de uso das mídias e tecnologias, como internet, celular e outras ferramentas, que constroem experiências e discursos que compõem o currículo extraescolar na sociedade atual. Como não tivemos a oportunidade de integrar as TIC’s ao projeto pedagógico da instituição, sabendo que as mesmas “têm um papel importante na aprendizagem, pois podem auxiliar na prática pedagógica e auxiliar no desenvolvimento de habilidades motoras e cognitivas dos educandos” (OLIVEIRA, LUDWING E FINCO, 2011), e como os dados obtidos na observação, análise das respostas e comentários dos alunos durante as aulas e palestras foram poucos, sentimos a necessidade de traçar um perfil desses alunos dentro da cultura digital através de um questionário que, entre outras coisas, tratava da opinião dos alunos sobre a importância do computador, o que seria tecnologia para eles e para quais fins utilizavam os aparelhos digitais que tinham acesso. Desta forma, analisamos melhor o real contato dos estudantes com as TIC´s e o quanto essas tecnologias estão presentes no cotidiano deles. Também traçamos um perfil para os alunos da escola dentro e fora do ambiente escola e detalhamos os fatores que envolvem esses alunos na cultura digital. 3. A Cultura Digital no Cotidiano dos Estudantes Segundo Amadeu (apud FAGUNDES, 2013), cultura é a representação das manifestações humanas; aquilo que é aprendido e partilhado pelos indivíduos de um determinado grupo. Por sua vez, a cultura digital é a cultura de rede, a cibercultura, que sintetiza a relação entre a sociedade contemporânea e Tecnologias da Informação (TIs). Ao mesmo tempo em que abriga pequenas totalidades e seus significados, ela se mantém distanciada de um sentido global e único. Isso porque, representa a cultura da diversidade, da liberdade de fluxos, de conhecimentos e de criações, que dá corpo e identidade às organizações que delas se constituem. Assim, mesmo ao analisarmos o perfil geral desses alunos na cultura dos meios digitais pode haver divergências nos resultados, já que há um perfil específico para cada aluno perante alguns aspectos como: quais aparelhos digitais cada um utiliza, com que tipos de grupos virtuais eles interagem, quantas horas dedicam ao meio virtual no seu cotidiano, etc. Então, não entramos em detalhes específicos quanto à produção de conteúdo e à autonomia deles na web e buscamos informações quanto ao uso desses aparelhos digitais apenas como um recurso para variadas atividades e como futuramente elas podem se tornar parte de um projeto de ensino-aprendizagem para ser aplicado na escolar. Verificamos que 65% dos alunos declararam possuir um computador pessoal. 8 Figura 1. Representação da posse/acesso de algumas TIC’s pelos alunos Na Figura 1 69% dos alunos declararam ter acesso à internet, isso porque 14% declararam ter acesso à internet apenas pelo celular e 31% acessam pelo computador e pelo celular. Conforme Figura 2 49% dos alunos declararam usar o computador diariamente e a principal finalidade citada pelos alunos foi o acesso à internet. Figura 2. Uso do computador e suas finalidades Figura 2 e destes, 52 % acessam a web diariamente. A formulação de trabalhos escolares é a segunda atividade mais exercida pelos alunos no computador. Apenas 16% declararam utilizar o computador para ler livros digitais. As representações também são um aspecto interessante para entendermos a compreensão dos alunos em relação às mídias e TIC’s (FANTIN & RIVOLTELLA, 2012, p. 104). No questionário, pedimos aos alunos que escrevessem uma palavra para associar à representação do que é tecnologia para eles. Com o número aproximado de 60 palavras que os alunos escreveram, construímos uma tag cloud (Figura 3). Nela, as palavras que estão em tamanho maior são as que mais vezes aparecem nas respostas. As cinco palavras mais citadas, na respectiva ordem, foram: “tudo”, “Internet”, “importante”, “computador” e “futuro”. Ao analisar as palavras, verificamos a grande diversidade de opiniões dos alunos quanto à representação da tecnologia. Também vale ressaltar que ao serem questionados se consideravam o computador uma ferramenta importante, 93% responderam que sim. 9 Figura 3. Palavras mais citadas pelos alunos para definir tecnologia Mesmo que os dados apontem a grande presença de algumas das principais TIC’s no cotidiano de grande parte dos alunos e a maioria deles possua conhecimento para manusear alguns aparelhos digitais, não podemos simplesmente generalizar qualificandoos como incluídos digitais, pois, como afirma Fagundes (2013) “A inclusão digital não pode ser restrita a acesso: incluir é envolver, inserir e relacionar; é fazer parte, é causa e efeito; é possibilitar o acesso à informação bem como a produção de informação” e vai muito além da simples posse de um computador ou qualquer outra ferramenta tecnológica. 4. As Comunidades Virtuais e os Alunos Por compreender a importância da “troca coletiva de informação na internet de muitos para muitos” (TUBELLA, 2005, P.281) para a produção de conhecimento no meio virtual, buscamos conhecer as comunidades virtuais que os alunos da escolar visitam e tentar compreender onde e que tipo de informações eles compartilham, pois, como afirma Fantin (2012, p. 70): Muito de nossa cultura hoje é imaterial, ou seja, os conhecimentos são produzidos sobre questões mediadas pelos meios e pela representação, e grande parte daquilo que conhecemos, conhecemos mais pela experiência mediada do que pela experiência direta. Perguntamos, então, no questionário, em quais fóruns de discussão ou grupos na internet, que tratam de assuntos de seus interesses pessoais, os alunos costumam visitar. Grande parte (76%) declarou não acessar nenhuma comunidade virtual que realize discussões sobre algum conhecimento específico. Mesmo que a maioria não participe de fóruns de discussão, 88% declararam ter uma conta de acesso em alguma rede social ou blog, onde eles encontram a possibilidade de compartilhar experiências, ideias, opiniões e o u t r a s i nfor m a ç õe s c o n s i d e r a d a s individualmente relevantes. A red e s o c i a l m a i s acessada pelos alunos é o Facebook1, conforme a figura 4. 1 Uma das redes sociais encontradas na web que possibilita a comunicação através de postagem de textos, fotos, vídeos e uma grande variedade de recursos que o usuário pode utilizar para expressar seus pensamentos para seus amigos ou qualquer outra pessoa que acompanhe sua rotina pela internet. 10 Figura 4. Porcentagem de utilização das redes sociais ou blogs pelos alunos Quando 48 dos 70 alunos que declararam participar de fóruns de discussão comentaram fazer parte de um grupo chamado “Pânico no 15” (Tabela 1), que funciona no Facebook. Ele foi criado por dois alunos da escola e possui aproximadamente 545 integrantes2. Se forem contabilizados apenas os alunos, o número chega a 500, o que representa mais de 50% dos estudantes de toda a escola. Tentamos entrar em contato com os alunos fundadores do grupo para pedir mais detalhes sobre o propósito da sua criação, mas como a escola estava no período de férias e os alunos não responderam nossos e-mails, não conseguimos entrevistá-los. Tabela 1. As seis Comunidades virtuais mais acessadas pelos alunos Comunidades virtuais n % Pânico no 15 4 Bate-papo 2 69 % 3 TeamSpeak3 2 RP G Vagalume 1 Religiosos 1 1 % 3 % 1 % 1 % 1 % No grupo, os alunos postam os mais variados tipos de conteúdo. A maioria das postagens tem relação com o cotidiano escolar e com o dia a dia dos estudantes fora da escola. Geralmente, eles trocam datas de eventos, fotos que mostram suas atividades em casa, no clube ou em qualquer outro lugar, e trechos de textos dos quais eles se identificam. Também observamos que grande parte das postagens tem uma abordagem humorística. Nossa intenção não é analisar o grupo de forma aprofundada, o que certamente poderia ser o objeto de estudo para um próximo artigo com mais detalhes e uma descrição mais crítica. Porém, podemos ressaltar que o grupo não foi criado com nenhum objetivo pedagógico ou para comunicação sobre assuntos exclusivamente escolares. A comunicação no grupo é sempre de alunos para alunos; mesmo que no grupo estejam presentes professores e funcionários da escola, eles não trocam qualquer tipo de informação com os alunos. A escola possui um blog, mas ele não é atualizado há dois anos e não está mais sendo acessado pelo administrador. Comparado ao primeiro grupo mais citado, as outras comunidades virtuais tiveram uma porcentagem bastante baixa de acesso. Quase todos os grupos, exceto o 2 Entre eles estão professores, alunos e funcionários da instituição. 11 “Pânico no 15”, tiveram porcentagem de apenas 1%, ou seja, de um a dois alunos por grupo citado. 5. A Utilização do Celular na Escola Devido ao grande manuseio do celular nos meios urbanos e sua utilidade para variados fins, é mais do que perceptível sua presença nas escolas, principalmente nas mãos dos adolescentes que, com a ajuda do aparelho, ficam quase o dia todo conectados. Na escola pesquisada o cenário não é diferente. 83 % dos alunos declararam possuir celular, como já exposto na Figura 1, e mesmo com a proibição do aparelho na escola3, podemos observar que os alunos manuseiam o celular a todo o momento e em qualquer ambiente da escola, dentro ou fora das salas de aula. Durante o período que permanecemos na escola (cerca de 10 meses) não presenciamos nenhuma campanha ou qualquer tipo de esclarecimento por parte dos professores ou direção sobre a proibição do uso do aparelho para os alunos. Apenas constam cartazes colados nas paredes que deixam explícita a proibição, mas sem mais explicações. Em uma das reuniões realizadas pela escola, com os pais dos alunos, a informação sobre a não liberação do uso do aparelho foi repassada pela direção, mas sobre protestos dos pais que argumentaram precisar se comunicar com os filhos quando estão na escola. Mesmo levando em consideração que nossa pesquisa foi realizada em apenas uma escola pública estadual e que nossos dados têm uma representação limitada, podemos afirmar que a escola XV de Outubro é uma de outras inúmeras escolas estaduais que sofrem com essa situação complexa do uso das tecnologias digitais por falta de um planejamento do governo estadual em conjunto com a secretaria de educação do estado. Por enquanto, o que analisamos é que a medida tomada até o momento para amenizar possíveis problemas que os aparelhos digitais possam trazer para dentro da escola pode estar tirando a possibilidade desses alunos de aprenderem com eles. Porém, conhecemos as dificuldades e a complexidade de inserir essas tecnologias no currículo escolar, assim como aborda Baggio (2008, p.142): Não cabe esperar soluções imediatas e paliativas. A mudança só virá aos poucos, em doses moleculares, e desde que vinculada a um sistema educativo sólido e democrático e uma prática cultural diversificada e madura autônoma. Enquanto isso, podemos estimular uma maior quantidade possível de pessoas e nossos jovens a descobrir o fantástico potencial transformador da tecnologia de informação. Diante disso, verificamos a importância de conhecer a opinião dos alunos em relação à proibição do celular no ambiente escolar, e perguntamos se eles concordam ou não com essa medida. A maioria (64%) disse não concordar e as razões mais citadas se encontram na tabela 2. A mais comentada pelos alunos que não são a favor foi a necessidade do aparelho para se comunicar com os pais, como comenta uma aluna da 8ª 3 A lei estadual 7.269 que proíbe o uso do celular, MP4, MP3 e pamls em todas as escolas de rede pública estadual foi sancionada pela então governadora do estado do Pará, Ana Júlia Carepa, em maio de 2009 e foi aprovada 90 dias depois. Disponível em: <https://www2.mp.pa.gov.br/sistemas/gcsubsites/upload/14/Lei_7269_proibicao_de_uso_de_celular.pdf> Acesso em: 27 Julho 2013. 12 série: “porque é para manter contato com a família caso aconteça alguma coisa, mas não deve ser usado na hora da explicação do professor”. A segunda razão está muito ligada com a primeira, que é avisar os pais ou responsáveis em caso de alguma emergência. Tabela 2. Razões mais citadas pelos alunos que os levam a concordarem ou não com a proibição do celular na escola. Proibição do uso do celular na escola Não Concordam concorda Razões % Razões m os pais Comunicar-se com 13% Atrapalha a aula Realizar ligações em casos de urgência 13% Tira a atenção dos alunos Poderia contribuir para o aprendizado 4% Previne furtos Escutar música no intervalo 3% Outras Realizar pesquisas 2% Não responderam Outras 15% Não responderam 50% - % 34 % 10 % 9% 10 % 37 % - Quanto aos 36% que concordam com a proibição do celular citaram que o aparelho atrapalha as aulas, pois tiram a concentração deles quando o telefone toca ou quando algum dos alunos não para de enviar mensagens pelo celular. “Muitas vezes o celular prejudica o professor que quer explicar a matéria e os próprios alunos que muitas vezes são viciados em SMS”, comenta um aluno da 8ª série. Outro aspecto que leva parte dos alunos a concordarem com a proibição do uso do aparelho tem relação com a insegurança e violência aos arredores da instituição. 9% dos alunos declararam não levar seus aparelhos até a escola para prevenir possíveis assaltos. A escola se encontra em um bairro periférico da cidade que em 2008 era o bairro com maior incidência de criminalidade no município, segundo dados da SEGUP e da Prefeitura municipal de Belém (PMB) de 2012. 6. Aprendizagem e Tecnologia Digital Verificamos que diante de tantos recursos tecnológicos encontrados no cotidiano dos alunos, a escola deveria ser uma das principais instituições a incentivar a utilização desses aparelhos e meios digitais para solucionar possíveis problemas e dificuldades que esses alunos possam enfrentar no processo de ensino-aprendizagem. Porém, poucas escolas públicas reconfiguram seus projetos pedagógicos para trabalharem com as TIC’s, como afirma Rivoltella (2008), em entrevista dada ao site Planeta Sustentável. Uma das grandes preocupações de muitos educadores que trabalham com tecnologia digital é fazer com que esses aparelhos passem realmente a fazer parte do ambiente escolar contribuindo para o processo de ensino-aprendizagem. Promover a interatividade na sala de aula, também é um dos desafios encontrados por esses profissionais, já que esta pode mudar a posição do aluno-receptor e torná-lo também um autor. Silva (2012, p. 222) aponta que: A disponibilização consciente da interatividade vem, enfim, potenciar uma nova competência comunicacional em sala de aula. E o professor passa a ter um novo desafio: modificar a comunicação no sentido da participaçãointervenção, da bidirecionalidade-hibridação e da permutabilidadepotencialidade. Não mais a prevalência do falar-ditar, mas a resposta autônoma, criativa e não prevista dos alunos, o rompimento de barreiras 13 entre estes e o professor, e a disponibilidade de redes de conexões no tratamento dos conteúdos de aprendizagem. Como a pesquisa se passou em uma escola sem recursos digitais disponíveis a todos os alunos e como o estudo sempre demonstra a opinião dos alunos em relação à tecnologia digital, analisamos se os alunos da escola pesquisada utilizam tais meios para ajudarem seus processos de aprendizagem sem um incentivo direto da instituição e como eles relacionam aprendizado e cultura digital. Desta forma, alguns dados apresentaram resultados bem relevantes. 72% dos alunos declararam utilizar o computador para formular trabalhos, 80% declararam usar o computador para estudar e, ao serem questionados se o celular poderia sem usado em sala de aula para fins pedagógicos, 60% informaram acreditar que é possível. Muito pareceram bastante otimistas com essa possibilidade e justificaram o porquê de suas respostas com suas próprias opiniões de como esse aparelho poderia ser utilizado na aula. “Sim, por exemplo, nas aulas de língua Inglesa podemos entrar na internet para traduzir coisas”, comentou uma aluna da 7ª série. “As ferramentas que o celular possui podem ser úteis na sala de aula como, por exemplo: calculadora, dicionário, imagens, internet para buscar em sites escolares e etc.”, menciona um aluno da 8ª série. Também podemos analisar que em grande parte dos comentários os alunos falam sobre a possível facilidade que possuem em aprender usando tecnologia digital: “por que poderíamos aprender com um pouco mais de facilidade com a tecnologia”, diz outro aluno da 8ª série. Porém, podemos analisar que alguns alunos não acreditam que algumas tecnologias digitais possam ser usadas no processo de ensino-aprendizagem. 40% dos alunos acreditam que o celular não pode ser usado para aprender alguma disciplina porque o aparelho serve apenas para diversão e descontração e isso o torna inadequado em sala de aula. No questionário, alguns estudantes comentaram: “Não, porque geralmente usamos mais para se divertir”; “Não, porque não ajuda em nada e quando vários alunos estão estudando muitos estão no msn”; “Não, porque o celular é um instrumento mais para os horários livres, como horários de descontração”. Isso prova que muitos alunos acreditam que não podem aprender se divertindo e que meios que proporcionam momentos de descontração não podem ser usados como recursos de aprendizagem. Portanto, a grande preocupação dos educadores não deveria ser ensinar seus alunos a utilizar os meios e aparelhos digitais, pois muitos já os utilizam diariamente muitas vezes até melhor que seus próprios professores. Porém, a escola deve trazer pra si grande parte da responsabilidade de conscientizar e incentivar esses estudantes a usarem a tecnologia digital em prol de sua educação e aprendizado. A interdisciplinaridade e a interatividade entre aluno e professor em conjunto com essas tecnologias seriam cruciais para a construção de um currículo pedagógico que também forme para a cultura digital. 7. Considerações Finais Apesar da falta de recursos tecnológicos na instituição, os alunos apresentaram bastante interação com a cultura digital que os cerca e da qual fazem parte. Muitos mostraram ter acesso a esses recursos em casa e utilizam principalmente para entretenimento e auxiliar os estudos. A importância das TIC´s na vida desses estudantes foi o principal ponto 14 enfatizado por eles, principalmente quando a maioria conceituou tecnologia digital como “tudo” ou quando deixavam explícito suas apreciações pela multifuncionalidade dessas tecnologias. Porém, os alunos se mostraram muito como receptores dentro dessa cultura digital e poucos como produtores de informação e conhecimento. É neste ponto, então, que a escola serviria como um veículo de motivação da produção e compartilhamento de informação pelos estudantes dentro da cultura digital de forma que a tecnologia possa realmente reconfigurar o processo de ensino-aprendizagem e estimular os estudantes a serem verdadeiros produtores de conhecimento, ativos em seu processo de aprendizagem, e, mais ainda, a produzirem não de forma isolada, mas de forma compartilhada. Referências Baggio, R.(2012) “Real e Virtual: O Encontro”, In: Cultura digital e escola: Pesquisa e formação de professores, Fantin, M. and Rivoltella, P.C.(orgs). 1ª Ed. Papirus, São Paulo. Fagundes, L., Hffman, D.(2013) “Cultura digital e escola ou escola na cultura digital?”, http://www.futura.org.br/wpcontent/uploads/2011/09/Cultura_digital_na_esc ola_ou_escola_na_cultura_digital.pdf, Maio. Acesso em 09/09/2013. Fantin, M., Rivoltella, P.C. (orgs) (2012) “Cultura digital e escola: Pesquisa e formação de professores” (Coleção Papirus Educação) 1ª Ed., Papirus, São Paulo. Oliveira, A., Ludwig L., Finco M. (2011) “Proposta Pedagógica do Uso das TICs como Recurso Interdisciplinar”, In: WORKSHOP DE INFORMÁTICA NA ESCOLA, 17 (2011), Aracajú. Anais... Porto Alegre: UFRGS, p. 2. Rivoltella, P. (2008) “Falta cultura digital na sala de aula”, http://planetasustentavel.abril.com.br/noticia/educacao/conteudo_244926.shtml, Agosto. Acesso em 10/09/2013. Silva, M. “Sala de aula interativa” (2012), 6ª Ed., Edições Loyola, São Paulo. Tubella, I. (2005) “Televisão e Internet na Construção da Identidade”, In: Castells, M.; Cardoso, G. (orgs). A Sociedade em Rede: do Conhecimento a Ação Política. Portugal. Imprensa Nacional. 15 Aplicação de Redes Neurais Artificiais para Classificação dos Ciclos Hidrológicos de um Reservatório de Água na Amazônia Jean Freire1, Tarcísio Lobato1, Jefferson Morais1, Terezinha Oliveira1, Rachel Hauser-Davis2, Augusto Saraiva3 1 Faculdade de Computação e Faculdade de Estatística Universidade Federal do Pará (UFPA) Belém – PA – Brasil 2 Departamento de Química Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) Rio de Janeiro – RJ – Brasil 3 Centrais Elétricas do Norte do Brasil Belém – PA – Brasil {jmorais,tfo}@ufpa.br, {jeanarouche,rachel.hauser.davis}@gmail.com Abstract. This paper addresses the application of Artificial Neural Networks in the hydrological cycles classification problem that can infer the change in the physico-chemical parameters of water and metals of a water container on Amazon. The choice of neural network parameters was made from an automatic model selection. The results obtained with the neural network can be considered satisfactory, since there is a great variability of physico-chemical parameters and metals in the hydrological cycle and ecosystems in which they are different sampling stations. Resumo. Este trabalho trata da aplicação de Redes Neurais Artificiais na classificação dos ciclos hidrológicos que podem inferir na alteração dos parâmetros físico-químicos da água e metais de um reservatório de água na Amazônia. A escolha dos parâmetros da Rede Neural foi feita a partir de uma seleção automática de modelo. Os resultados obtidos com a Rede Neural podem ser considerados satisfatórios, uma vez que há uma grande variabilidade dos parâmetros físico-químicos e metais nos ciclos hidrológicos e nos ecossistemas diferentes onde se encontram as estações de amostragem. 1. Introdução Foram muitos os impactos provocados pela construção de hidrelétricas na Amazônia. Grande parte desses impactos decorreram principalmente do efeito da decomposição da vegetação terrestre inundada, da deterioração da qualidade da água e da perda de serviços dos ecossistemas terrestres e aquáticos, incluindo a biodiversidade e alteração dos processos [Tundisi 2007]. Para amenizar ou até mesmo evitar esses impactos, e fundamental que se faça uma gestão integrada dos reservatórios e que haja um monitoramento eficaz da qualidade da água. Este monitoramento é de suma importância para administração dos recursos hídricos que diretamente influenciam a preservação e o equilíbrio dos ecossistemas, conservando seus padrões de qualidade que são definidos por legislação [do Carmo Gastaldini et al. 2002]. Tais padrões de qualidade podem ser verificados através da análise 16 de parâmetros físico-químicos e metais nesses corpos de água [Tundisi and Tundisi 2008]. Inúmeros estudos foram desenvolvidos com o intuito de identificar e fazer as variações sazonais dos parâmetros físico-químicos das concentrações dos metais em ambientes aquáticos [Kazi et al. 2009, Coletti et al. 2010, Sharma et al. 2012]. Dentre as técnicas utilizadas para esse objetivo se destacam as contribuições oriundas da inteligência computacional [Wang et al. 2009, Liu and Chen 2012, Cavalcante et al. 2013]. Com base nesse contexto, o objetivo deste trabalho consiste em classificar de forma automática os ciclos hidrológicos no período de 2009 a 2012 que podem inferir na alteração dos parâmetros físico-químico e metais de um reservatório de água na Amazônia. Para isso foi adotada uma das técnicas de inteligência computacional mais utilizadas pela comunidade cientifica na tarefa de classificação de dados: as Redes Neurais Artificiais [Haykin 1999]. Este trabalho está organizado da seguinte maneira. Na Seção 2 é descrita a área de estudo. Na Seção 3 e apresentado alguns conceitos relativos a aplicação de Redes Neurais Artificiais para o problema de classificação de dados. Na Seção 4 mostra-se os resultados obtidos e a Seção 5 apresenta as conclusões e trabalhos futuros. 2. Área de Estudo A Usina Hidrelétrica (UHE) de Tucuruí está localizada no Rio Tocantins, no estado do Pará. Fica cerca de 7 km da cidade de Tucuruí e a 300 km em linha reta da cidade de Belém. O rio Tocantins com seu principal afluente, o Araguaia, constitui uma bacia própria, ora denominada Bacia do Tocantins, ora Bacia do Tocantins Araguaia (Figura 1). Nascido no planalto central brasileiro, este rio percorre grandes extensões recobertas por cerrados antes de penetrar em áreas de floresta amazônica densa [EletrobrásEletronorte 2008], já no Estado do Pará. As características principais da área de estudo são apresentadas na Tabela 1. Tabela 1. Características gerais da área estudada. Fonte [Eletrobrás-Eletronorte 2008] Característica País Latitude Longitude Vegetação Rio Data do Fechamento Área de Inundação (Km2) Área de Bacia de Drenagem Comprimento Total Volume Total Profundidade Máxima Descrição Brasil-PA o 03 43’ - 05’ 15’ S 49o 12’ - 50’ 00’ W Floresta úmida Tocantins Set/84 2875 Km2 758.000 Km2 170 Km 50,29 Km3 77 m 17 A Figura 1 mostra os sítios à montante utilizados nas coletas: Caraipe 1 (C1), Caraipe 2 (C2), Breu Branco (MBB), Ipixuna (MIP), Jacundá Velho (JV), Lontra (ML), Tucuruí (MP), Montante 3 (M3) e Belauto (BE). Figura 1. Distribuição das estações de coleta à montante do reservatório de agua da UHE de Tucuruí As amostras de agua foram coletadas no reservatório da UHE de Tucuruí utilizando a garrafa de Van Dorn de 2,5 litros de capacidade, em no máximo quatro profundidades definidas pelo disco de Secchi (superfície, Secchi e dobro do Secchi). Os parâmetros físico-químicos e metais analisados nas aguas do reservatório com suas unidades de medidas foram: Secchi (m), Temperatura (oC), pH, OD (mg O2L), Condutividade (µs cm−1), Ferro (mg L−1), Ca (mg L−1), Mg (mg L−1), K (mg L−1), Na (mg L−1), NH4 (µg L−1), NO3(mg L−1), totalPO4 (mg L−1), PO4 (mg L−1), STS (mg −1), Turbidez (NTU), Clorofila-a (mg L−1). A classificação foi realizada em base de dados fornecida pelas Centrais Elétricas do Norte do Brasil S/A contendo um total de 423 registros de análise de agua de nove sítios amostrais à montante do reservatório da UHE de Tucuruí. Foram considerados 17 variáveis de entrada para os classificadores mapeados a partir dos parâmetros físicoquímicos e metais objetivando a classificação do ciclo hidrológico (HC), que afetam o nível de agua: seco, enchendo, cheio e vazante. 3. Classificação por Redes Neurais Artificiais As Redes Neurais Artificiais (RNA’s) são sistemas paralelamente distribuídos compostos por unidades simples de processamento denominados de neurônios artificiais que calculam uma certa função matemática (usualmente não-linear). Tais unidades são dispostas em uma ou mais camadas e interligadas pelos chamados pesos sinápticos. O comportamento inteligente de uma rede neural artificial vem das interações entre as unidades de processamento da rede [Haykin 1999]. A Figura 2 exibe a estrutura de um neurônio artificial. Dentre os paradigmas neurais disponíveis, as RNA’s multicamada direta com o algoritmo de treinamento supervisionado backpropagation, são uma das mais utilizadas 18 Figura 2. Estrutura de um neurônio artificial na pratica e, pelas características do problema abordado neste estudo, foi o paradigma adotado. A Figura 3 apresenta a arquitetura adotada no processo de classificação dos ciclos hidrológicos utilizando RNA’s levando em consideração os valores de entrada dos parâmetros físico-químicos e metais da agua utilizados no estudo e o ciclo hidrológico (CH): 0- seco, 1-enchendo, 2-cheio e 3- vazante. Figura 3. Arquitetura da Rede Neural adotada no processo de classificação dos ciclos hidrológicos Neste trabalho foi adotada a implementação da RNA disponível no pacote de mineração de dados WEKA 1 denominada de MultilayerPerceptron. WEKA e reconhecido pela comunidade cientıfica como um sistema de referência em aprendizado de máquina e mineração de dados que comtempla uma serie de algoritmos de preparação de dados, de aprendizado de máquina e validação de resultados [Witten and Frank 2005, Hall et al. 2009]. Os principais parâmetros da classe MultiLayerPercptron são: • -L: Corresponde à taxa de aprendizado utilizada pelo algoritmo backpropagation. Este valor deve ser entre 0 e 1 (Padrão e 0.3). • -M: Taxa de momento para o algoritmo backpropagation. Este valor deve ser entre 0 e 1 (Padrão e 0.2). • -N: Este parâmetro corresponde ao número de épocas para treinamento da rede. O Padrão e 500. • -H: Corresponde à quantidade de camadas ocultas que podem ser criadas na rede. Por exemplo -H 3, 2 cria duas camadas intermediarias com 3 e 2 neurônios respectivamente. Outra forma de representar pode ser através do uso de letras: a 1 Software de domínio público desenvolvido na Universidade de Waikato na Nova Zelândia. Disponível em http://www.cs.waikato.ac.nz/ml/weka/ 19 opção a corresponde a (números de parâmetros + número de classes)/2; as outras opções são: i (número de parâmetros), o (número de classes) e, t (números de parâmetros + número de classes). 4. Resultados e Discussão Deve-se notar que o desempenho de classificadores como no caso das RNA’s e tipicamente avaliado usando um conjunto de dados de teste, a fim de calcular o erro de classificação. Este resultado deve ser uma estimativa robusta do grau de generalização do classificador, porem existem muitos aspectos que podem levar a uma falha nesta estimativa. Portanto, a avaliação deve seguir uma metodologia rígida. Um dos aspectos mais importantes e a forma como os parâmetros dos classificadores são ajustados. Frequentemente, o melhor desempenho de um algoritmo de aprendizado em relação a uma base de dados especifica só pode ser alcançada ajustando-se exaustivamente os parâmetros do algoritmo. Esta tarefa e chamada de seleção de modelo (model selection) e corresponde, por exemplo, a escolher os parâmetros tais como o número de neurônios na camada escondida de uma rede neural. Uma estratégia popular para seleção de modelo e que foi adotada neste trabalho e a validação-cruzada (crossvalidation) considerando 10-folds [Witten and Frank 2005]. A seleção de modelo para Rede Neural incluiu dois passos distintos: a escolha da arquitetura e busca de parâmetro. Inicialmente foram testadas diferentes configurações com uma ou duas camadas escondidas de neurônios e um número variável de neurônios em cada uma dessas camadas. Após a seleção do modelo a arquitetura mais robusta foi com apenas uma camada escondida. Assim o número de neurônios na camada escondida H, a taxa de aprendizado L e o momentum M variaram de acordo com o grid apresentado na Tabela 2 sendo que o número de épocas foi fixado em 2000. Tabela 2. Melhores parâmetros obtidos para a Rede Neural e a taxa global de classificação correta Tg Parâmetros -H -L -M Valores do grid 11, 43, 75, 107, 139 e 171 0.1, 0.3, 0.5, 0.7 e 0.9 0.2, 0.4 e 0.8 Melhor valor 43 0.3 0.2 Tg ( % ) 84.9 Com o intuito de analisar resultados gerados sobre as predições empregadas pela Rede Neural foram utilizadas as seguintes métricas: taxa de erro global Tg, a taxa de sensibilidade (evocação) Ts, a Taxa de especificidade (precisão) Te e a medida F (Fmeasure) [Hall et al. 2009]. A taxa de acerto global Tg e definida como a razão entre o número de casos da amostra em estudo que foram classificados corretamente e o número total de casos da amostra em estudo. Na Tabela 2 e apresentada a taxa global de classificação correta e os melhores parâmetros obtidos para Rede Neural. A taxa de sensibilidade Ts e a proporção de verdadeiro-positivos corretamente identificados e a taxa de especificidade Te e a quantidade de verdadeiros negativos corretamente identificados. Já a medida F (F-measure) e definida na equação 1. (1) 20 As taxas de sensibilidade e especificidade e a medida F são geralmente utilizadas em problemas de classificação binaria, porem podem ser generalizadas para problemas com mais de duas classes. Neste caso, assume-se que cada classe e positiva e as demais negativas. Assim, a Tabela 3 apresenta as taxas de sensibilidade e especificidade e a medida F obtidas pela Rede Neural considerando cada um dos quatro ciclos hidrológicos. Tabela 3. Taxas de sensibilidade Ts e especificidade Te e a medida F obtidas pela Rede Neural considerando cada uma das quatro classes Ciclos hidrológicos Seco Enchendo Cheio Secando Ts (%) 84.9 87 85.2 82.5 Te (%) 86.8 87.9 82.9 82.5 F (%) 85.8 87.4 84 82.5 De acordo com os resultados apresentados nas Tabelas 2 e 3, observa-se que a RNA apresentou boas taxas de acerto, sensibilidade e especificidade, ou seja, ela consegue classificar de forma satisfatória os ciclos hidrológicos. Contudo, os resultados obtidos não são ideais, isto e, com taxas próximas à 100%. Isto e compreensível, pois a variação da sazonalidade climática pode levar a uma classificação anual variante dos ciclos hidrólogos que podem inferir na alteração dos parâmetros físico-químico e metais da agua de um reservatório. Por exemplo, a Figura 4 mostra o nível de agua à montante operacionalizado do reservatório da UHE de Tucuruí que e consequência do clima da Região. Pode-se observar que o período de cheia e maior no ano de 2012, trazendo assim uma melhor ótica sobre o impacto climático que alteram os ciclos hidrológicos em anos distintos o que dificulta a aplicação de algoritmos de aprendizado de máquina. Figura 4. Nível à montante da barragem em metros nos meses dos anos de estudo 5. Conclusões Este trabalho utilizou uma metodologia baseada em Redes Neurais Artificiais auxiliada por mecanismos de seleção automática de modelo na classificação dos ciclos hidrológicos que podem inferir na alteração dos parâmetros físico-químico da agua. A taxas de acerto, sensibilidade, especificidade e medida F foram utilizadas para se verificar que a Rede Neural Artificial teve um bom desempenho (84.9% de acerto) na classificação dos ciclos hidrológicos em relação alteração dos parâmetros físico-químicos da agua. Isto decorre do fato da grande variabilidade dos parâmetros físico-químicos e metais nos ciclos hidrológicos e nas estações de amostragem, que são ecossistemas diferentes. 21 Portanto, a aplicação de algoritmos de aprendizado de máquina para abstrair situações do mundo real leva a um novo horizonte computacional no que se refere a predições construtivas de ciclos hidrológicos. Desta forma, vislumbra-se como trabalhos futuros avaliar o desempenho preditivo de outros algoritmos além de RNA’s, para trabalhar com variações sazonais que refletem na qualidade da agua, auxiliando de forma mais objetiva e eficiente possível a administração dos recursos hídricos em um reservatório de agua como no caso da UHE de Tucuruí. Agradecimentos Os autores agradecem à Centrais Elétricas do Norte do Brasil S/A por ter fornecidos as amostras de análise de agua dos sítios amostrais da Usina Hidrelétrica de Tucuruí que possibilitou a realização da pesquisa. Referências Cavalcante, Y., Hauser-Davis, R., Saraiva, A., Brandao, I., Oliveira, T., and Silveira, A. (2013). Metal and physico-chemical variations at a hydroelectric reservoir analyzed by multivariate analyses and artificial neural networks: Environmental management and policy/decision-making tools. Science of the Total Environment, 442:509–514. Coletti, C., Testezlaf, R., Ribeiro, T. A., Souza, R. T. d., and Pereira, D. d. A. (2010). Water quality index using multivariate factorial analysis. Revista Brasileira de Engenharia Agrıcola e Ambiental, 14(5):517–522. do Carmo Gastaldini, M., Sefrin, M. F., and Ferreira, G. F. (2002). Diagnostico atual e previsao futura da qualidade das aguas do rio ibicuı utilizando o modelo qual2e. Engenharia Sanitaria e Ambiental, 07:129 – 138. Elotrobras-Eletronorte (2008). Manual do Sistema de Gestao Ambiental - UHE Tucuruí. Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., and Witten, I. H. (2009). The weka data mining software: an update. SIGKDD Explor. Newsl., 11:10–18. Haykin, S. (1999). Neural Networks: A Comprehensive Foundation. Prentice Hall. Kazi, T., Arain, M., Jamali, M., Jalbani, N., Afridi, H., Sarfraz, R., Baig, J., and Shah, A. Q. (2009). Assessment of water quality of polluted lake using multivariate statistical techniques: A case study. Ecotoxicology and Environmental Safety, 72(2):301–309. Liu, W.-C. and Chen, W.-B. (2012). Prediction of water temperature in a subtropical subalpine lake using an artificial neural network and three-dimensional circulation models. Computers & Geosciences, 45:13–25. Sharma, A., Naidu, M., and Sargaonkar, A. (2012). Development of computer automated decision support system for surface water quality assessment. Computers & Geosciences. Tundisi, J. G. (2007). Explorac¸ao do potencial hidreletrico da amazonia. Estudos Avanc¸ados, 21:109 – 117. Tundisi, J. G. and Tundisi, T. M. (2008). Limnologia. Oficina de Textos, Sao Paulo. Wang, X.-L., Yin, Z.-J., Lv, Y.-B., and Li, S.-F. (2009). Operating rules classification system of water supply reservoir based on learning classifier system. Expert systems with applications, 36(3):5654–5659. 22 Witten, I. and Frank, E. (2005). Data mining: practical machine learning tools and techniques with java implementations. Morgan Kaufmann. 23 Aplicação do Artificial Bee Colony em Funções de Minimização Não Restritivas Marco Antônio Florenzano Mollinetti1, Otávio Noura Teixeira1 1 Laboratório de Computação Natural (LCN) – Centro Universitário do Estado do Pará (CESUPA) – Belém, PA – Brazil [email protected], [email protected] Abstract. The following article refers to the efficiency and quality of a biologically inspired algorithm, the Artificial Bee Colony. This algorithm was inspired by the exploitative feature that is observed in a bee hive. The algorithm is explained it is gauged its capacity of solving mathematical optimization functions that were made for means of measuring the quality of the algorithm. This paper presents four different benchmark functions which are solved by the algorithm, thus proving its ability of solving many complex problems. Resumo. O artigo a seguir aborda a eficiência e qualidade do algoritmo inspirado no caráter exploratório de uma colmeia de abelhas, o Artificial Bee Colony, explicitando-o e testando a sua eficiência ao resolver funções de otimização matemática que possuem como finalidade a medição da qualidade do algoritmo. Este artigo apresenta quatro diferentes funções de benchmark nas quais o algoritmo é sujeitado a testes, assim provando a sua capacidade de resolver problemas complexos. 1. Introdução Diferentes algoritmos com o objetivo de resolver problemas classificados como NP-Hard foram propostos por diferentes pesquisadores e cientistas ao decorrer do tempo. Este artigo aborda a proposta de algoritmo elaborado por Karaboga (2005), o Artificial Bee Colony Algorithm, que consiste em um algoritmo inspirado no caráter exploratório de abelhas produtoras de mel que procuram novas fontes de néctar a fim de garantir a sobrevivência da sua colônia. Vários trabalhos utilizando este algoritmo estão presentes foram publicados ao decorrer do tempo. Pode-se citar o trabalho de Karaboga e Ozturk (2009), que utilizaram o ABC para treinar uma rede neural; e também, outro trabalho feito por Karaboga e Bazturk (2007), que empregaram o ABC para resolver o cálculo de uma viga de aço. Na seção 2, é abordado o embasamento teórico do ABC, evidenciando a sua origem, comparando o algoritmo com o comportamento de abelhas encontradas na natureza, e citando outros algoritmos que também se inspiram em colônias de abelhas que possuem diferentes abordagens. A seção 3 detalha testes utilizados com funções de medição de eficiência utilizando o ABC; enquanto que a seção 4 contém os resultados de todos os testes realizados. Finalmente, a seção 5 conclui o trabalho e expõe trabalhos futuros para este algoritmo. 2. Embasamento Teórico De acordo com Karaboga (2005), o ABC seguiu o modelo mínimo do processo de forragem de abelhas que leva a emergência de uma inteligência coletiva: A presença de 24 fontes de alimento; a presença de abelhas empregadas e desempregadas; o comportamento destes dois tipos de abelha ao recrutar novas abelhas para uma fonte de néctar e o abandono de uma fonte. (Karaboga, 2005). Esse conceito possui base conceitual na tese exposta no trabalho de Tereshko e Loengarov (2005), que propõem através de um modelo matemático, todo o processo de forragem das abelhas. No entanto, para o ABC, nenhuma das funções cinéticas para os diferentes tipos de abelha foi utilizado, e nem se considera a presença de uma colmeia central de onde as abelhas realizam ciclos rotatórios. Em suma, a principal ideia retirada do trabalho de Tereshko e Loengarov (2005) que se utilizou no algoritmo fora a classificação e função de cada abelha, e a organização dos ciclos de cada tipo de abelha. 2.1. Comportamento de abelhas reais Para o modelo comportamental de abelhas encontradas na natureza, é encontrado os seguintes elementos: A presença de fontes de alimentos, onde Seeley (1995) determina que cada fonte é selecionada pelas abelhas de acordo com a sua qualidade, e este valor depende de vários fatores, como a proximidade da colmeia, o seu grau de concentração de néctar e a facilidade de extrair este mesmo néctar; A presença de abelhas empregadas, que é associada à fonte de néctar que está atualmente explorando, Seeley (1995) explica que estas abelhas possuem em sua memória a localização exata desta fonte e a distância desta fonte até a colmeia; Por fim, há a presença de abelhas desempregadas, na qual essas abelhas ainda estão procurando por uma fonte para ser explorada. De acordo com Seeley (1995), há dois tipos de abelhas desempregadas: as exploradoras, que estão explorando o ambiente ao redor da colmeia para achar novas fontes; e as abelhas espectadoras, que permanecem na colmeia e tentam estabelecer a posição de uma nova fonte de néctar através da informação trazida pelas abelhas empregadas. Tereshko e Loengarov (2005) e Karaboga (2005) dizem que o número de abelhas exploradoras deve ser de 5% a 10% do total de abelhas de uma colmeia. O motivo pelo qual abelhas conseguem encontrar várias fontes se deve ao fato de que elas se comunicam e trocam informações através de uma dança realizada em um espaço reservado da colmeia, aonde cada abelha empregada realiza-a para indicar a posição e a qualidade da fonte que achou (Karaboga, 2005). Através desta dança, informações de várias fontes são dispostas às abelhas espectadoras, assim possibilitandoas escolher uma fonte e empregar-se nesta (Seeley, 1995). Vale ressaltar que as abelhas exploradoras compartilham suas informações com uma probabilidade proporcional a viabilidade da fonte de alimento, então uma fonte que possui melhor qualidade será mostrada através de uma dança mais longa, culminando no fato de que a taxa de recrutamento de abelhas espectadoras é proporcional à viabilidade de dada fonte (Tereshko e Loengarov, 2005). 2.2. O ABC O Artificial Bee Colony, proposto por Karaboga (2005), é classificado como um algoritmo bioinspirado seguindo a classificação de Binitha e Sathya (2012), que classificaram algoritmos bioinspirados como uma heurística que imita a estratégia da natureza capaz de resolver problemas tanto entre os seres vivos, quanto problemas moleculares. Assim sendo, muitos processos biológicos podem ser fundamentados como processos de uma otimização com fronteiras, sendo este, o comportamento exploratório de abelhas produtoras de mel. 25 O algoritmo é separado em quatro grandes etapas, vale lembrar que excluindo a primeira etapa, as outras etapas serão repetidas até que se alcance uma condição de parada. As etapas são: a etapa de inicialização da população, em que cada fonte de néctar é inicializada de maneira aleatória e cada abelha é designada como exploradora, espectadora ou empregada; a etapa de envio das abelha empregadas, aonde cada abelha empregada irá explorar as redondezas da fonte de néctar onde foi designada e irá aplicar um processo guloso para poder encontrar uma melhor fonte de néctar, para em seguida calcular a probabilidade de escolha de cada fonte atualizada de néctar; o ciclo de envio das abelhas espectadoras, aonde essas abelhas irão selecionar uma fonte de néctar de acordo com a sua porcentagem de escolha e aplicar, assim como as abelhas exploradoras, um processo guloso para poder tentar encontrar fontes com maior qualidade na vizinhança da fonte escolhida; e finalmente, o ciclo de abelhas exploradoras, em que abelhas exploradoras serão enviadas para procurar novas fontes de néctar caso alguma fonte sofra estagnamento. O Artificial Bee Colony se comporta de acordo com o pseudocódigo encontrando na Figura 1: Passo1: Inicializar parâmetros. (a)Inicializar população. (b)Inicializar abelhas. Passo2: Enviar as abelhas empregadas as fontes de alimentos e determinar a qualidade de néctar. Passo3: Calcular o valor de probabilidade de cada fontes de alimento a ser escolhida pelas abelhas espectadoras. Passo4: Enviar as abelhar espectadoras para as fontes de alimento e determinar o valor de néctar de cada uma. Passo5: Parar o processo de exploração de fontes exauridas pelas abelhas. Passo6: Enviar as abelhas exploradoras para descobrir novas fontes de néctar aleatoriamente. Passo7: Memorizar a melhor fonte de néctar até o presente momento. Passo8: Repetir passos 2 a 7 até que se atinja a condição de parada. Figura 1. Pseudocódigo para o ABC 2.3. Etapa de Inicialização Para a Etapa de Inicialização, considera-se uma população P, de número SN soluções. Estas soluções são representadas por fontes de néctar, e cada solução, chamada de xi por Karaboga e Akay (2009) é composta de um arranjo D-dimensional de variáveis que se deseja otimizar. Cada fonte de néctar pode ser inicializada pela função mostrada por Karaboga (2009): 𝑥𝑚𝑖 = 𝑙𝑖 + 𝑟𝑎𝑛𝑑(0, 1) ∗ (𝑢𝑖 −𝑙𝑖 ) 26 (1) Em que ui é o limite superior da dimensão 𝑖, e li é o limite inferior da dimensão 𝑖. Ressalva-se que as fontes de néctar também podem utilizar qualquer outro tipo de função de inicialização, como por exemplo, uma variável uniformemente distribuída dentro do intervalo [ui , li]. 2.4. Etapa de Abelhas Empregadas Abelhas empregadas irão procurar na vizinhança da fonte 𝑥𝑚 armazenadas em sua memoria, uma nova fonte de néctar 𝑣𝑚𝑖 através de sua percepção visual, assim dito por Karaboga (2009), este evento se caracteriza pela função 2. 𝑣𝑚𝑖 = 𝑥𝑚𝑖 + 𝜑𝑚𝑖 (𝑥𝑚𝑖 − 𝑥𝑘𝑖 ) (2) Aonde xk é uma fonte de néctar aleatoriamente selecionada, i é um indice de parâmetro randomicamente selecionado, e ϕ é um número aleatório no intervalo [-, ]. Após isto, calcula-se a qualidade da solução vmi, e, se esta se prova melhor que a solução xmi, adota-se a solução vmi como nova fonte, senão continua-se com o valor de xmi. Karaboga(2011), classifica a equação 3, como alternativa ótima para aplicar na função de avaliação a fim de calcular problemas de minimizações: 𝑓𝑖𝑡𝑚 (𝑥 ⃗⃗⃗⃗⃗𝑚 ) = { 1 ⃗⃗⃗⃗⃗⃗ 1+ 𝑓𝑚 (𝑥 𝑚) 𝑠𝑒 𝑓𝑚 (𝑥 ⃗⃗⃗⃗⃗𝑚 ) ≥ 0 } (3) 1 + 𝑎𝑏𝑠(𝑓𝑚 (𝑥 ⃗⃗⃗⃗⃗𝑚 )) 𝑠𝑒 𝑓𝑚 (𝑥 ⃗⃗⃗⃗⃗𝑚 ) < 0 2.5. Etapa de Abelhas Espectadoras Abelhas empregadas irão compartilhar de seu conhecimento sobre a fonte armazenada em sua memorai através de uma dança agitada para que as abelhas espectadoras possam ser recrutadas para tentar melhorar a qualidade das fontes alvo (Ozturk e Karaboga, 2009). No algoritmo, isto é representado por (4), aonde se extrai a probabilidade da fonte ser escolhida. 𝑝𝑚 = ⃗⃗⃗⃗⃗⃗ 𝑓𝑖𝑡𝑚 (𝑥 𝑚) ∑𝑆𝑁 ⃗⃗⃗⃗⃗⃗ 𝑓𝑖𝑡 𝑚 (𝑥 𝑚) 𝑚=1 (4) Após a fonte 𝑥𝑚 for escolhida probabilisticamente, utiliza-se (2) para determinar uma nova fonte. A sua qualidade é calculada, e, se for melhor que o antigo valor, esta nova fonte passa a ser a fonte alvo de abelhas exploradoras. 2.6. Etapa de Abelhas Exploradoras Abelhas que procuram novas fontes de néctar aleatoriamente no espaço de busca são chamadas de abelhas exploradoras (Tereshko e Loengarov, 2005). As abelhas exploradoras só irão procurar por novas fontes de néctar quando uma fonte estagnar. Essa estagnação é caracterizada no algoritmo pela variável LIMITE. Esta variável consiste em um limite de quantos ciclos uma fonte de néctar pode passar sem melhorar o seu valor. Caso uma fonte extrapole a o valor limite, apenas uma abelha exploradora (Karaboga, 2005) é enviada para mudar o valor desta colônia improdutiva. Caso haja mais do que uma fonte de néctar que necessite ser mudada em um mesmo ciclo, será escolhido a fonte que possui menor valor como fonte a ser modificada (Karaboga, 2005). A função para procurar novas fontes aleatoriamente se dá por (1). 2.7. Condição de Parada 27 De acordo com Karaboga (2010), o algoritmo seguirá o seu ciclo até que atinja um dos dois critérios de parada: o algoritmo atinja o número limite MCN de ciclos; o algoritmo já tenha alcançado o seu aparente ótimo global e não apresenta mais nenhuma melhora por um número fixo de ciclos. 3. Testes A qualidade e eficácia de procedimentos de otimização são usualmente medidas por funções de avaliações que se apresentam comuns na literatura, vale lembrar que todas estas funções são continuas, de acordo com Jamil et al. (2013). Ademais, tais funções, como dito por Molga e Smutnicki (2005), podem se comportar de diferentes maneiras: unimodais, convexas e multidimensionais; multimodais, duas dimensões com um pequeno número de extremos locais; multimodais, duas dimensões com um grande número de extremos locais; multimodais, multidimensionais, com um grande número de extremos locais. Portanto, a fim de se medir a eficácia do algoritmo na resolução de problemas de otimização matemática em funções de minimização unimodais e multimodais que não possuam nenhuma restrição, aplicou-se seis funções de benchmark para este algoritmo. 4. Resultados Para realizar os testes utilizando as quatro funções de benchmark, testou-se cada função 30 vezes, e foram adotados como parâmetros, uma população de 20 fontes de néctar, com 20 abelhas empregadas, 10 abelhas espectadoras e 1 abelhas exploradora. Ressalva-se também que definiu-se 1000 ciclos de iteração, e o valor adotado para a variável LIMITE foi do dobro da quantidade de abelhas espectadoras. De acordo com a Tabela 1, considerou-se o melhor valor do melhor resultado, como Melhor; o melhor valor do pior resultado é denominado Pior; Média é tratada como a média de todos os melhores valores, e o desvio padrão estatístico dos melhores valores, como Desvio Padrão. É importante frisar que qualquer valor menor que 10−6 foi arredondado para zero a fim de facilitar a interpretação de dados. Tabela 1. Resultados estatísticos obtidos pelo ABC. Função 𝑛 Ótimo Intervalo Melhor Pior Média Desvio Padrão De Jong 30 0 [-5,12, 5,12] 0 0 0 0 Hiper Elipsóide 30 0 [-5,12, 5,12] 0 0.000014 6.5e-06 4.67262e-06 Goldstein-Price 2 3 [-2 , 2] 3 3 3 3 Rastrigin 2 0 [-5,12, 5,12] 0 0 0 0 5. Conclusão De acordo com os resultados apresentados pode-se constatar que o algoritmo possui a capacidade para resolver problemas de otimização tanto unimodais quanto multimodais, 28 sendo estes problemas sem restrições. Observa-se também que o algoritmo é capaz de encontrar soluções ótimas em um número pequeno de iterações. Posteriormente, pretende-se realizar testes com o algoritmo para funções restritivas, como por exemplo, funções de engenharia como o cálculo da largura de uma viga de aço, ou o valor da pressão em um vaso de pressão. Tais funções irão servir como um melhor critério de testes para o ABC. Referências Goldstein, A. A; Price, J. F. (1971) “On Descent from Local Minima,” Mathematics and Computation, vol.25, no.115, pp. 569-574. Jamil, M.; Yang, X. (2013) “A Literature Survey of Benchmark Functions For Global Optimization Problems”, Int. Journal of Mathematical Modelling and Numerical Optimisation, Vol. 4, No.2, pp.150-194 Karaboga, D, (2005). An idea based on honey bee swarm for numerical optimization. Technical Report TR06, Erciyes University, Engineering Faculty, Computer Engineering Department, 2005. Karaboga D., Basturk B. (2007), Artificial bee colony (ABC) optimization algorithm for solving constrained optimization problems, Advances in Soft Computing: Foundations of Fuzzy Logic and Soft Computing, volume 4529/2007 of LNCS: 789-798, Springer, Berlin. Karaboga, D., Basturk, B., Ozturk, C. (2007), Artificial bee colony (ABC) optimization algorithm for training feed-forward neural networks, Modeling Decisions for Artificial Intelligence, volume 4617/2007 of LNCS: 318-319, Springer, Berlin. Karaboga, D., Akay,B. (2009), A Comparative Study of Artificial Bee Colony Algorithm, Applied Mathematics and Computation, 214, 108-132, Elsevier, Netherlands. Karaboga, D., Ozturk, C. (2009), Neural Networks Training by Artificial Bee Colony Algorithm on Pattern Classification, Neural Network World, 19 (3), 279-292, Institute of Computer Science AS CR, v. v. i., Czech Republic. Tereshko, V., Loengarov, A. (2005), Collective decision-making in honey bee foraging dynamics, Computing and Information Systems, 9 (3): 1-7, University of the West of Scotland, UK. Molga, M.; Smutnicki, C. (2005) “Test Function for Optimization needs” disponível em “http://www.zsd.ict.pwr.wroc.pl/files/docs/functions.pdf”. Acesso em 15 de Setembro de 2013. Seeley, T. D. (1995) “The Wisdom of the Hive” Harvard University Press, Cambridge, MA, 29 Aprendizagem de Lógica e Algoritmos: Uma experiência do PIBID com alunos do Ensino Fundamental Raimunda Denize da S. Vieira1, Joel da C. Lobato Junior1, Tayana Cristine A. Simões1, Decíola F. Sousa1 1 Instituto Ciberespacial– Universidade Federal Rural da Amazônia (UFRA) Caixa Postal 917 – 66.077-530 – Belém – Pará – Brasil {denizesv, joelcustode, tay_flowers}@yahoo.com.br, [email protected] Abstract. This paper describes an experience from a course offered to high school students of a public school of the city of Belém, through a project PIBID (Institutional Scholarship Program Initiation to Teaching) to evaluate how the inclusion of learning logic and algorithms can improve the understanding of disciplines such as mathematics. We sought to develop strategies to encourage logical thinking of students as well as an active participation in class, working with problem solving through interpretation. We used resources such as Learning Objects to streamline and Portuguese classes structured for building algorithms. Resumo. Este trabalho descreve uma experiência obtida através de um curso, ofertado para alunos do ensino fundamental de uma escola pública estadual do município de Belém, através de um projeto do PIBID (Programa Institucional de Bolsa de Iniciação à Docência), visando analisar como a inserção da aprendizagem de lógica e algoritmos pode melhorar a compreensão de disciplinas como a matemática. Buscou-se estratégias para estimular o desenvolvimento do raciocínio lógico nos alunos bem como a participação de forma ativa nas aulas, trabalhando com resolução de problemas através de interpretação. Utilizou-se recursos como Objetos de Aprendizagem para dinamizar as aulas e o português estruturado para a construção de algoritmos. 1. Introdução Os instrumentos tecnológicos se desenvolvem e se diversificam rapidamente, e vem se impondo cada vez mais na vida cotidiana das pessoas, seja num simples acesso à internet para realizar uma pesquisa, seja em transação bancária, etc. No âmbito educacional, ensinar e aprender utilizando tecnologias computacionais torna-se importante tanto para alunos como para os profissionais da educação. Neste sentido, a tecnologia deve ser um instrumento enriquecedor para o ambiente educacional, incentivando a construção do conhecimento ao sujeito de forma crítica e criativa por parte dos sujeitos (BETTEGA, 2004). A computação pode possibilitar a criação de outros métodos de ensino aprendizagem e o aperfeiçoamento dos já existentes. Nessa perspectiva, a inserção do ensino de lógica e algoritmos no ensino básico se justifica por utilizar as Tecnologias da Informação e Comunicação como recursos pedagógicos no fortalecimento do processo ensino-aprendizagem e também, para permitir a inclusão digital e social dos alunos da Escola Pública. 30 Dessa forma, o computador é utilizado neste trabalho, não como uma “máquina de ensinar”, mas como uma ferramenta na qual o aluno poderá interagir e produzir conhecimento. Para Valente (1993, p. 13) “o computador não é mais o instrumento que ensina o aprendiz, mas a ferramenta com a qual o aluno desenvolve algo, e, portanto, o aprendizado ocorre pelo fato de estar executando uma tarefa por intermédio do computador”. Neste sentido, o contato do aluno com o computador é para a produção de algoritmos através de uma pseudolinguagem de programação, exercitando o raciocínio lógico, através da resolução de problemas. As dificuldades advindas da educação básica muitas vezes refletem no ensino superior, ao passo que muitos alunos acabam enfrentando problemas na compreensão de algumas disciplinas dos cursos de computação e áreas afins. Tal problema pode ser observado principalmente nas disciplinas de programação e algoritmos, pois requer do aluno o raciocínio lógico para a resolução de problemas. Dessa forma, Said (2007, p. 10) destaca que: Quando elaboramos um programa de computador, queremos ensinar a máquina a resolver um problema, e a eletrônica permite que a máquina chegue a uma resposta de maneira mais rápida e mais precisa do que nós. No entanto, como um programador poderá escrever um programa se ele mesmo não conhece a solução? Assim, a resolução de problema é uma etapa que antecede a programação em si. O autor reforça a ideia de o sujeito saber pensar e usar o raciocínio lógico antes de tentar solucionar qualquer problema, principalmente quando se trata do computador, pois este é uma máquina que segue comandos e requer instruções exatas para obter o funcionamento correto de um programa. Devido ao alto índice de dificuldades que alguns alunos dos cursos superiores encontram para compreender as disciplinas voltadas à programação de computadores, ofertou-se aos alunos do ensino fundamental de uma escola pública estadual do município de Belém, um curso de lógica e introdução de algoritmos de programação, trabalhando com Objetos de Aprendizagem e o português estruturado no decorrer das aulas. O curso é parte do PIBID1 e tem como órgão de fomento a CAPES2 em parceria com Universidade Federal Rural da Amazônia (UFRA). Segundo Brasil (2007), o PIBID foi criado pela CAPES em 2007, sendo este um programa de incentivo para iniciação à docência. O programa PIBID é voltado para estudantes de instituições públicas de ensino superior, visando o aperfeiçoamento e a valorização da formação de professores para a educação básica. A escola é o local ideal para a implantação de projetos educacionais na área da computação, pois proporciona a formação e a informação aos indivíduos, desenvolvendo capacidades que propiciam não somente a compreensão da realidade e do contexto social que os cercam, mas também, a própria intervenção nessa realidade. Neste sentido, o computador deve ser uma ferramenta que visa auxiliar professores e alunos na construção de novos conhecimentos. 1 Programa Institucional de Bolsa de Iniciação à Docência 2 Coordenação de Aperfeiçoamento de Pessoal de Nível Superior 31 Papert (2008, p. 9) afirma que “o computador é importante para dar autonomia intelectual ao aprendiz a partir dos primeiros anos de escolarização e, assim, tornar a criança menos dependente de adultos como provedores de informação”. Se o indivíduo apender a ser independente desde sua infância, este terá a capacidade de assimilar novas habilidades com mais facilidade. O Objetivo principal deste trabalho é analisar de forma comparativa os resultados obtidos no decorrer do curso ofertado para alunos do ensino fundamental de uma escola pública estadual do município de Belém, através de um projeto do PIBID (Programa Institucional de Bolsa de Iniciação à Docência), relacionando de que forma a inserção do ensino de lógica e algoritmo de programação pode estimular os alunos em disciplinas como a matemática, descrevendo o projeto promovido com alunos do ensino fundamental (9º ano) que trata do raciocínio lógico e do desenvolvimento de algoritmos através da utilização do computador. Durante as pesquisas realizadas, alguns artigos relacionados ao tema da lógica de programação na educação básica chamaram a atenção dos bolsistas, pois os mesmos destacam as dificuldades de se aprender algoritmo e programação quando se adentra o ensino superior, bem como apresentam propostas de intervenção com oficinas ou cursos ministrados para alunos. Marques, Costa, Silva e Rebouças (2011) relatam sobre o alto índice de evasão nos cursos superiores de computação, além das reprovações em disciplinas que envolvem programação. Para atrair alunos do ensino médio para a área de computação foi proposta uma oficina para ensinar programação tendo como motivação o desenvolvimento de jogos com a linguagem Python, com duração de dezesseis horas. Essa oficina ofertou vinte e cinco vagas, porém apenas dezesseis participantes concluíam. Dos alunos que concluíram, nove demonstraram interesse em tentar vestibular para uma das áreas da computação. Pereira Junior, Rapkiewicz, Delgado e Xexeo (2005) destacam que entre as competências mais difíceis de serem desenvolvidas estão o desenvolvimento de algoritmos e programas, sendo esta uma forte motivação para incluir essa temática no ensino médio, e talvez, dessa forma, os futuros alunos dos cursos de computação podem apresentar menor dificuldade nessa área. Neste contexto, foi desenvolvida uma “Oficina de Lógica de Programação” realizada em uma escola do Rio de Janeiro com alunos do segundo ano do ensino médio, com carga horária de trinta e seis horas e dezesseis vagas ofertadas. O curso apresentou uma proposta interessante, pois antes de ensinar programação o autor apresentou problemáticas de raciocínio lógico para os alunos tentarem solucionar, bem como utilizou jogos de raciocínio lógico para tornar a aprendizagem mais lúdica, estimulando os alunos no desenvolvimento das tarefas e desenvolvendo o raciocínio lógico. Posteriormente, o curso abordou a parte conceitual e construção de algoritmos utilizando a linguagem Pascal. Apesar de a oficina apresentar uma boa proposta, apenas cinco alunos concluíram e apresentaram interesse em ingressar no ensino superior nas áreas da computação (PEREIRA JUNIOR, RAPKIEWICZ, DELGADO e XEXEO, 2005). O trabalho proposto pela equipe do PIBID na escola inspirou-se nas ideias dos trabalhos apresentados acima, mas com foco no raciocínio lógico. No primeiro momento com a utilização de Objetos de Aprendizagem e no segundo momento adaptado para a 32 utilização do Portugol, por ser uma pseudolinguagem que apresenta facilidade na utilização. 1.1. Desenvolvimento do raciocínio lógico O construtivismo de Jean Piaget (1896-1980), dentre as diversas teorias de aprendizagem existentes na contemporaneidade, vem se difundindo e sendo aplicado cada vez mais, em especial nos processos metodológicos e em alguns ambientes de aprendizagem auxiliados pelo computador. O estágio das operações formais dentre as fases de desenvolvimento de Piaget é o que melhor se encaixa neste trabalho, pois é a partir desse período que os adolescentes desenvolvem na prática o raciocínio lógico-matemático. Neste estágio o adolescente consegue diferenciar relações concretas e abstratas, conseguindo testar hipóteses. Conforme destaca Goulart (2011, p. 26) “a característica essencial desse estágio é a capacidade de distinguir entre o real e o possível”. Nesta fase de desenvolvimento, o adolescente é capaz de prever e analisar várias relações que podem ser válidas para a solução de um problema. Entretanto, Papert (2008), destaca que não é usando uma regra que se soluciona um problema, mas pensando sobre o problema é que se promove a aprendizagem. Neste contexto, não se deve supervalorizar o abstrato, mas buscar metodologias que possibilitem fazer analogias com situações concretas sobre o problema. Quando se pensa em trabalhar com o contexto escolar, principalmente na educação básica, dificilmente apenas um tipo de teoria de aprendizagem pode ser preconizada, pois isso depende do ambiente em que se está inserido e do tipo de conteúdo que se pretende trabalhar. Neste sentido, outra metodologia foi adotada no decorrer do trabalho, a Aprendizagem Baseada em Problemas (ABP), pois é uma metodologia de ensino e aprendizagem que motiva os alunos a buscarem soluções de problemas através da utilização de pesquisa, bem como desenvolver o raciocínio lógico do estudante. Sousa (2011, p. 8), “considera que o conhecimento não é absoluto, mas construído a partir do conhecimento prévio e da visão do mundo de cada indivíduo”, considerando que o aluno pode relacionar o que está aprendendo com algo que já faz parte de seu conhecimento, tornando-se relevante dessa forma para a formulação e teste de hipóteses na resolução de problemas. Antunes (2012, p. 16), ressalta que é importante desenvolver nos alunos o raciocínio lógico, a capacidade de compreensão, o pensamento dedutivo e intuitivo e a memória, bem como “motivá-los a desenvolver sua vontade de aprender e querer saber mais e melhor”. Dessa forma, deve-se estimular no aluno a capacidade de pesquisar e buscar pelo conhecimento. Quando se utiliza a programação, uma das maiores exigências é que a pessoa consiga trabalhar o raciocínio lógico, pois na construção de um programa, independente da linguagem de programação utilizada, o raciocínio atua de maneira direta. Do ponto de vista de Said (2007) e Forbellone e Eberspacher (2005), a lógica de programação seria a utilização correta do pensamento nos processos de raciocínio e simbolização formal da programação de computadores, como os algoritmos. O Português estruturado é uma maneira de facilitar a compreensão de algoritmos, tornando a construção mais simples para os alunos. Segundo Carboni (2003), o Português 33 estruturado é uma forma de representação de algoritmos considerada uma pseudolinguagem e pode ser conhecido também como pseudocódigo como, o Portugol, por exemplo, representando a lógica na solução de problemas. O Portugol é uma peseudolinguagem simples, isso faz com que um sujeito que está em fase inicial de aprendizagem de lógica de programação compreenda com mais facilidade, análogo a uma linguagem mais rica em detalhes como “C”, por exemplo. Contudo, para se criar um algoritmo, algo importante que se deve ter em mente é a informação, sendo essa a matéria-prima indispensável. 2. Métodos O método aplicado a este trabalho é baseado em pesquisa bibliográfica e pesquisa de campo, com a utilização de testes avaliativos de rendimento , com o objetivo de se obter informações para a comprovação ou não da hipótese a respeito das possíveis melhorias que o curso “Desenvolvendo o Raciocínio Lógico - Introdução à Lógica e Algoritmos de Programação”, ofertado pelo Programa PIBID em uma escola estadual localizada no município de Belém, poderia suscitar nos alunos que fizeram parte desta experiência de ensino. A pesquisa realizada foi do tipo exploratória com características quantitativas, onde a análise dos dados obtidos através de testes de desempenho dos alunos durante o curso foram utilizadas para o teste de hipótese. Os testes de desempenho foram utilizados para comparar as possíveis melhorias na disciplina de matemática e na resolução de problemas lógicos que necessitam de reflexão por parte dos alunos. A execução do projeto foi realizada integralmente no laboratório de informática da escola, o curso foi planejado para quarenta horas, ofertado de segunda à sexta feira, com duração de quatro horas aula ao dia no horário das aulas regulares. Foram disponibilizadas quarenta vagas para o curso, na qual uma turma de trinta e três alunos do nono ano (antiga oitava série) do ensino fundamental se inscreveu. A idade média dos alunos foi de quatorze anos, sendo a menor idade treze e a maior registrada foi de dezesseis anos. Nas aulas, buscou-se incentivar o aluno a pensar em soluções para as problemáticas sugeridas, dando a liberdade de trabalhar individualmente ou em grupo. Nessa perspectiva os bolsistas agiam como facilitadores, oportunizando ao aluno a autonomia no processo de aprendizagem, mas sem deixar de mediar quando houve necessidade. Utilizou-se Datashow, computador, materiais impressos e buscou-se dinamizar o andamento das aulas utilizando recursos como Objetos de Aprendizagem (OA) do tipo “jogo” de maneira lúdica e divertida, não deixando de lado os objetivos propostos. Além do software Portugol, que trabalha algoritmo de programação em português estruturado. Para motivar a participação dos alunos nas aulas os bolsistas os desafiavam a solucionar problemas individualmente ou em grupo e socializar posteriormente com a turma como o problema foi solucionado, que caminhos foram seguidos e as dificuldades encontradas. 34 Os bolsistas utilizaram listas de exercícios impressos, porém observou-se que era necessário tornar as aulas mais dinâmicas com atividades lúdicas. Para isso, foram selecionados alguns OA para atividades utilizando o computador e a internet. Os OA O Lobo, a Ovelha e a Couve (Figura 1), Torre de Hanói (Figura 2), Missionários versus Canibais (Figura 3) e o Jogo do rio (Figura 4), foram alguns dos OA trabalhados no decorrer do curso para estimular o raciocínio lógico dos alunos na resolução de problemas. Figura 1. Interface do OA "O Lobo, a Ovelha e a Couve". Fonte: http://rachacuca.com.br/jogos/o-lobo-e-a-ovelha/ Figura 2. Interface do OA Torre de Hanói. Fonte: http://www.somatematica.com.br/jogos/hanoi Figura 3. Interface do OA Missionários versus Canibais. Fonte: http://www.plastelina.net Figura 4. Recorte da interface do Jogo do Rio. Fonte: http://www.njogos.pt/travessia.html 35 Para potencializar e dinamizar a aprendizagem, tornando-a lúdica, os OA foram propostos nesta intervenção para demostrar aos alunos que os conteúdos abordados no curso se aplicam a uma multiplicidade de problemas, sejam estes matemáticos, lógicos ou mesmo ao seu cotidiano, pois o uso da lógica é um tema transversal. O conteúdo de algoritmo contemplou comandos básicos de entrada, saída e atribuição, conceito de bloco de comandos, estruturas de controle e estruturas condicionais. Os desafios propostos aos alunos no decorrer das aulas de algoritmos implicavam não apenas nas construções, mas como isso acontecia, pois as questões deveriam ser pensadas e analisadas, após isso eram criados os algoritmos no papel e posteriormente eram digitados e testados no Portugol. Uma das atividades era para construir um algoritmo para ler três notas, calcular a média aritmética e mostrar o resultado. No início, os alunos apresentaram algumas dificuldades relacionadas à abstração de informações e como organizá-las formalmente para construir o algoritmo, contudo, depois que compreendiam a lógica que permeava a questão, ficava mais fácil a resolução. Segundo Antunes (2012), uma forma inteligente para a aprendizagem do aluno é quando este cria soluções que exigem uma visão sistêmica dos fatos, utilizando saberes prévios, bem como análise de hipóteses em diversas atividades de reflexão. 3. Resultados Dos trinta e três alunos que efetuaram a inscrição no curso, contabilizaram-se vinte e nove concluintes, ou seja, estudantes que obtiveram frequência maior ou igual a 75% no curso, desses, apenas vinte alunos participaram do primeiro e segundo teste de matemática, o que equivale a 69% dos alunos frequentes no curso e dezenove participaram das atividades que serviram de base para comparação de rendimento nos testes de lógica e algoritmo, ou seja, 66% dos alunos. Apenas um aluno que participou dos testes de matemática não realizou as avaliações de rendimento de lógica e algoritmo. As avaliações de rendimento referentes aos conhecimentos básicos de matemática foram elaboradas pela professora coordenadora da IES participante do PIBID e corrigidas pelos bolsistas, a partir dos gabaritos disponibilizados previamente. Os dados apresentados a seguir refletem apenas os resultados obtidos pelos vinte alunos que participaram integralmente das atividades de avaliação de matemática, e os dezenove alunos que participaram das atividades de raciocínio lógico e algoritmo. Para as análises, com o objetivo de preservar a identidade do aluno quando utilizar-se um objeto da amostra, este será mencionado com uma referência, que irá de A1 a A20. Foram aplicados dois testes de Matemática, contendo vinte questões em cada, onde dez abordavam o tema de operações fundamentais, cinco sobre frações e cinco relacionadas a expressões aritméticas. A Figura 5 apresenta o resultado da comparação do total de acertos nos dois testes aplicados com os alunos. 36 Figura 5. Comparativo do total de acertos de todos os alunos nos testes de Matemática Analisando o número total de acertos na Figura 5, pode-se observar que onze alunos obtiveram melhorias em seu desempenho matemático, variando de um a cinco pontos de diferença entre o primeiro e o segundo teste, dois obtiveram o mesmo número de acertos e sete alunos apresentaram decréscimo em relação ao primeiro teste, esse decréscimo variou ente um a quatro pontos. Observando os alunos que não obtiveram resultados negativos no segundo momento do teste matemático, temos um percentual de 65% com desempenho considerado positivo, isso indica que houve melhoria dos alunos quando se compara momentos distintos do curso (antes e depois). As avaliações do desempenho no raciocínio lógico baseadas em questões lógicodiscursivas que trabalharam a capacidade de síntese, leitura de dados, análise, inferência e atenção, tiveram como objetivo analisar a capacidade de interpretação e o potencial de resolução de problemas envolvendo o raciocínio lógico do aluno. O total foi de cinco questões em cada teste selecionadas pelos bolsistas do PIBID, consideradas por estes de níveis fácil, intermediário e difícil. A Figura 6 ilustra as diferenças das notas em comparação ao total de questões de raciocínio lógico. Figura 6. Comparação do número de acertos do primeiro e o segundo teste de desempenho do raciocínio lógico por aluno 37 Nos testes de raciocínio lógico os alunos apresentaram uma média de acertos igual a três. Observa-se que no primeiro teste os alunos A6 e A11 apresentam as menores notas em relação aos demais, contudo, no segundo teste ambos obtiveram melhor rendimento. Entretanto, se comparar os resultados do primeiro e do segundo teste, nota-se que houve decréscimo na pontuação de dez alunos, o que equivale 53% de decréscimo no segundo teste, o que não quer dizer que o primeiro teste seja considerado inferior ao segundo. Ressalta-se que as questões do segundo teste exigiram uma interpretação mais detalhada, pois o teste foi aplicado ao final do curso. Não houve repetição de questões em ambos os testes. Pode-se citar algumas perguntas utilizadas nos testes como: “Ao longo de uma estrada há quatro aldeias seguidas: os vermelhos vivem ao lado dos verdes, mas não dos cinzas; os azuis não vivem ao lados dos cinzas. Que são os vizinhos dos cinzas?”, “De quatro corredores de atletismo sabe-se que Célio chegou imediatamente atrás de Beto, e Davi chegou no meio de Arnaldo e Célio. Qual a ordem de chegada?”, “Se Clara fala mais baixo que Ana, e Rosa fala mais alto Ana, Clara fala mais alto ou mais baixo que Rosa”. Apesar da melhoria em relação ao desenvolvimento matemático, é necessário analisar de forma crítica, para não engrandecer os resultados e com isso, criar falsas expectativas em relação à inserção da lógica no ensino fundamental, pois o espaço amostral é reduzido, aumentando a chance de erros. Os conhecimentos e atribuições que a temática do curso trouxe para os alunos focaram em especial a atenção e a interpretação de problemas, pois se o aluno não entender o problema, torna-se difícil a tomada de decisões corretas para solucioná-lo. Aplicando esses conhecimentos na construção de algoritmos de programação, obteve-se, através de questões práticas de programação, uma medida utilizada para comprovar a assimilação destes conhecimentos pelos participantes do curso. Para Valente (1993), quando o aluno apresenta a resolução de um problema através de um programa de computador, ele tem uma descrição formal e precisa desta resolução. Com base nisso, o aluno pode verificar suas ideias e conceitos, bem como se existe algo errado e analisar o programa identificando a origem do erro. Contudo, tanto a representação da solução do problema como a sua depuração são difíceis de serem conseguidas através dos meios tradicionais de ensino. Os testes de algoritmos foram realizados no terceiro e no último dia de aula, onde constavam três questões de Estrutura Sequencial no primeiro teste e no segundo acrescentou-se uma questão de Estrutura de seleção e duas de Estrutura Sequencial. O objetivo foi avaliar a aprendizagem, e comparar o desempenho dos alunos nos dois momentos distintos do curso. Neste contexto, os alunos solucionaram primeiramente as questões no papel e posteriormente realizaram o teste no Portugol de acordo com a problemática apresentada. Como demostrado na Figura 7, o resultado foi que 74% dos alunos conseguiram resolver pelo menos duas ou mais questões em ambos os testes. 38 Figura 7. Distribuição do número de acertos nas questões referentes ao domínio de algoritmo Embora a ocorrência de zero tenha acontecido com os alunos A11 no segundo teste e A13 em ambos os testes, o desempenho de 63% dos demais participantes mantevese igual ou com melhora de um ponto. As dificuldades apresentadas pelos alunos durante o curso não ficaram distantes das apontadas nas literaturas e frequentemente presentes no ensino superior. Podendo-se destacar a dificuldade na descrição formal das condições lógicas em uma estrutura sequencial ou de seleção. Foi observado inicialmente pelos bolsistas a dificuldade dos alunos desenvolverem programas que envolviam conteúdos de matemática e a abstração dos conteúdos introdutórios sobre linguagem de programação. Observando a soma do número de acertos dos testes de lógica e matemática e comparando-os, destaca-se que 58% dos alunos participantes dos testes, apresentaram melhoras de desempenho, mesmo que mínimas ou mantiveram o mesmo desempenho na soma dos dois testes como visualizado na Figura 8, com exceção do aluno A20, que participou apenas dos testes de matemática. Figura 8. Soma dos primeiros testes de matemática e lógica comparada com as somas dos testes finais Conforme ilustra a Figura 8, a soma dos testes de lógica e matemática nos dois momentos do curso demonstra que maior parte dos alunos conseguiu obter melhor 39 desempenho na soma do segundo teste, apesar de oito alunos, ou seja, 42% da turma apresentar decréscimo entre um e seis pontos na soma dos testes no último momento do curso. 4. Considerações Finais O artigo apresentou uma análise de forma comparativa dos resultados obtidos no decorrer do curso de lógica e introdução de algoritmos de programação, trabalhando com Objetos de Aprendizagem (AO) e o português estruturado no decorrer das aulas, ofertado para alunos do 9º ano do ensino fundamental de uma escola pública estadual do município de Belém, através de um projeto do PIBID (Programa Institucional de Bolsa de Iniciação à Docência). Com os resultados obtidos na pesquisa e o embasamento teórico apresentado, pôde-se inferir que as possibilidades de melhoria de desempenho devido a inserção de estudos relacionados ao raciocínio lógico e algoritmo são reais. As potencialidades do uso do computador e dos OA devem preconizar a aprendizagem de maneira lúdica e transversal, visando incentivar o uso das tecnologias para a aprendizagem autônoma mediada pelo professor. De acordo com Valente (1993, p.25) “uma razão mais óbvia advém dos diferentes tipos de abordagens de ensino que podem ser realizados através do computador, devido aos inúmeros programas desenvolvidos para auxiliar o processo ensino-aprendizagem”. Dessa forma, o diferencial do projeto do PIBID foi a possibilidade de trabalhar com a computação de maneiras distintas. Com base na experiência vivenciada observou-se que a comparação dos dados obtidos através de testes de desempenho envolvendo as competências matemáticas e de raciocínio lógico, bem como de algoritmo mostrou melhorias de rendimentos de boa parte dos alunos, como demonstra a análise dos resultados. Somando o teste matemático com o de raciocínio lógico do primeiro momento do curso e comparado com a soma do segundo momento dos testes, observou-se que mais da metade dos alunos apresentaram aumento de desempenho que variam de um a seis pontos a mais de acertos. Os dados apontam para a comprovação da hipótese a respeito das possíveis melhorias que o curso “Desenvolvendo o Raciocínio Lógico - Introdução à Lógica e Algoritmos de Programação”, ofertado pelo Programa PIBID pode provocar nos alunos, porém, é necessário que, ao mesmo tempo em que se avalia positivamente o que os números apontam, deve-se manter a criticidade com estes mesmos dados, haja vista que a amostra obtida na pesquisa foi reduzida, aumentando assim a possibilidade de que os resultados obtidos não reflitam de forma fidedigna ás inferências a eles atribuídas. Apesar da melhoria apresentada pelos sujeitos da pesquisa, deve-se levar em consideração que se tratando de pesquisa educacional, não se pode ter controle sobre todas as variáveis que de alguma forma podem influenciar nos resultados obtidos. Agradecimentos O presente trabalho foi realizado com apoio do Programa Institucional de Bolsa de Iniciação à Docência – PIBID, da CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil. Referências 40 ANTUNES, C. (2012). A prática dos quatro pilares da Educação na sala de aula. 2. ed. Petrópolis: Vozes. BETTEGA, M. H. S. (2004). A Educação Continuada na Era Digital. São Paulo: Cortez. BRASIL. Portaria Normativa nº 38, de 12 de dezembro de 2007 (2007). Dispõe sobre o Programa Institucional de Bolsa de Iniciação à Docência – PIBID. Diário Oficial da União, n. 239, seção 1, p. 39. CARBONI, I. de F. (2003). Lógica de Programação. São Paulo: Thomson. FORBELLONE, A. L. V.; EBERSPACHER, H. F. (2005). Lógica de programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson Prentice Hall. GOULART, I. B. (2011). Piaget: experiências básicas para a utilização do professor. 27. ed. Petrópolis: Vozes, 2011. MARQUES, D. L. et al. (2007). Atraindo Alunos do Ensino Médio para a Computação: Uma Experiência Prática de Introdução a Programação utilizando Jogos e Python. In: Simpósio Brasileiro de Informática na Educação - XVII WIE. Anais... Aracajú. p. 1138-1147. PAPERT, Seymour (2008). A máquina das crianças: repensando a escola na era da informática. Trad. Sandra Costa – Ed. rev. Porto Alegre: Artmed. PEREIRA JÚNIOR, J. C. R. et al. (2005). Ensino de Algoritmos e Programação: Uma Experiência no Nível Médio. In: XXV Congresso da Sociedade Brasileira de Computação - XIII WEI. Anais... São Leopoldo. SAID, Ricardo (2007). Curso de Lógica de Programação. São Paulo: Digerati Books. SOUSA, S. de O. (2011). Aprendizagem Baseada em Problemas (PBL – Problem-Based Learning): estratégia para o ensino e aprendizagem de algoritmos e conteúdos computacionais. 2011. 270 f. Dissertação (Mestrado em Educação). Faculdade de Ciências e Tecnologia. Universidade Estadual Paulista. Presidente Prudente. VALENTE, J. A (1993). Diferentes usos do computador na educação. In: Valente, J.A. (org.) Computadores e Conhecimento: Repensando a Educação. Campinas: Gráfica da UNICAMP. 41 Canal online Whua! Mix: proposta de levar informação sobre cultura japonesa, música e tecnologia, usando a internet como meio de comunicação Fernanda L. C. Santos1, Alisson R. Comerlatto1, Nivio I. C. Imbiriba1, Alessandra N. A. Barreiros1 1 Departamento de Ciência da Computação – Centro Universitário do Estado do Para (CESUPA) Caixa Postal 66060-230 – Belém – PA – Brasil {fernandac.santos93,comerlattoalisson,alessandra.natasha}@gmail.com [email protected], Abstract. This article will explain about the implementation of a communication channel called Whua online! Mix that is focused on sharing information about technology, culture of Para, plus music rhythms such as electronic music, pop, rock, k-music, j-music and songs of Para regional information will be shared at the project site, which host the online radio Whua! Mix. The main focus of the project is to keep the population constantly updated on the topics covered, the differential of this channel is that it was made to spread culture and content for the public geek (English term, to determine people who are addicted to technology). Resumo. Este artigo ira explanar sobre a implantação de um canal de comunicação online chamado Whua! Mix que está focado em compartilhar informações sobre tecnologia, cultura paraense, além de ritmos musicais como: música eletrônica, pop, rock, k-music, j-music e músicas regionais do Para. As informações serão compartilhadas no site do projeto, o qual hospedara a rádio online Whua! Mix. O foco principal do projeto e manter a população sempre atualizada sobre os temas abordados, o diferencial deste canal e que ele foi feito para disseminar cultura e conteúdo para o público geek (termo em inglês, para determinar pessoas que são aficionadas por tecnologia). 1. Introdução A definição de canal e “todo suporte material que veicula uma mensagem de um emissor a um receptor, através do espaço e do tempo” [1]. Já o conceito de meio de transmissão ou comunicação e o “canal ou cadeia de canais que liga a fonte ao receptor”, ou “sistema (constituído por elementos físicos) onde ocorre a transmissão de mensagens” [2]. Conforme os autores explanaram a definição de canal apresenta limitações por se associar com o fenômeno físico, sendo usualmente utilizado em três sentidos: relacionado aos meios de expressão da informação representados pelos sentidos humanos e capacidades sensoriais, aos processos usados para a transmissão da informação equivalido pelos fenômenos físicos tais como ondas luminosas e sonoras e por fim aos meios que servem de base para os fenômenos físicos evoluírem [1]. Segundo os autores, existem dois tipos de canais distintos os naturais ou sensoriais, que são aqueles em que o homem e o receptor direto da mensagem, e os canais artificiais ou técnicos, que são fragmentados em dois tipos, os canais espaciais que transportam os dados de um lugar para outro e os canais temporais os quais passam uma 42 informação de uma época para outra a exemplo de fotos, filmes e fitas de áudio, ou seja, são canais que retém as informações criadas em uma geração e levando a outras [1]. Por meio destas afirmativas, pode ser definido que Whua! Mix e um canal artificial espacial, pois veıcula informações de um lugar a outro e ao mesmo tempo e um meio de comunicação pois possui um site (elemento físico) o qual transmite mensagens, assim sendo Whua! Mix e um canal de comunicação, que almeja transmitir informações e proporcionar entretenimento aos internautas que utilizam o site. 2. Trabalhos Relacionados A inspiração para o canal online surgiu da radio online http://www.TechnoBase.fm/ que foca nos estilos Techno, dance, trance e house, e dos canais http://www.TecMundo.com.br/ e http://www.TechTudo.com.br/. O diferencial do canal Whua! Mix e que une as informações musicais tecnológicas com a rádio nativa do site. 3. Sobre o canal Whua Mix! O projeto está sendo desenvolvido por alunos de Bacharelado em Ciência da Computação, da instituição de ensino superior CESUPA (Centro Universitário do Para). Teve início no mês de marco de 2013, o meio de comunicação tem sua versão beta disponível por meio do site (http://radio.whuamix.com/). Projetado com o intuito de levar informações sobre tecnologia, música e cultura paraense para os internautas que o acessam, o canal Whua! Mix tem como objetivo levar entretenimento e informações para seu público alvo, mantendo-se constantemente atualizado. Possui uma página na rede social face book, na qual são disponibilizadas notícias sobre a programação da semana, esse meio e também utilizado para uma aproximação maior com o público, que por meio de postagens podem interagir com a equipe do canal. 3.1. A rádio online Em 1993 o norte americano Carl Malamud foi o pioneiro em usar a internet para transmitir programas de rádio, a partir desse ano as transmissões de rádio via web se propagaram e hoje existem rádios online por todo o planeta, além de existir web rádios que não possuem transmissões FM (Frequência Modulada) ou/e AM (Amplitude Modulada), usando apenas o site hospedeiro para propagar suas informações [3]. O site do canal Whua! Mix hospeda uma rádio com o mesmo nome que inclui em sua programação entrevistas e mesas redondas com profissionais da área musical e tecnológica da região, levando assim a rica cultura amazônica para o mundo, os dados gerados a partir das programações com esses convidados ficam armazenados em forma de podcasts que são arquivos de áudio, cujo download pode ser feito pelo próprio site do canal [4]. Uma das vantagens de escolher uma rádio online para disseminar informações e que não há limite geográfico, ou seja, a programação da Whua! Mix pode ser ouvida em qualquer lugar do planeta com alta qualidade de áudio, além dos ouvintes poderem interagir ao vivo com os membros da equipe por meio de um chat (serviço de troca de mensagens). 43 A programação musical da Whua! Mix funciona nas, sextas-feiras, sábados e domingos a partir das 18:30 até as 03:00 e possui três programas, nas sextas o “Hoje e Dia De Rock”, aos sábados o “Sábado de Nostalgia” e aos domingos o “Dance Mix”. 3.2. O Aplicativo Baseada no sistema operacional Linux, a plataforma Android e perfeita para dispositivos moveis como smartphones e tablets [5]. Tendo vista que o sistema Android domina 80 % do mercado de smartphones, segundo um levantamento realizado pela IDC [6] foi desenvolvido um aplicativo para esse sistema, o qual usa a vantagem da portabilidade dos dispositivos moveis, para levar a rádio Whua! Mix até os seus ouvintes de forma mais pratica. O aplicativo oferece uma interface simples, mas que ao mesmo tempo proporciona ao usuário informações como o tıtulo da música que está sendo tocada e o tempo que a mesma já foi reproduzida, além de permitir que a pessoa pause ou pare a rádio no seu celular, como e mostrado na (Figura 1). Figura 1. Aplicativo da Radio Whua! Mix 3.3. Interface do Usuário A interface foi desenvolvida com o intuito de proporcionar um simples entendimento para o usuário e ao mesmo tempo fornecer diversas informações. Por meio dela e possível saber se a rádio está online, que música está tocando no momento, além de possuir um atributo que possibilita o internauta aumentar e diminuir o volume do áudio. Com interface dinâmica e intuitiva, seu template foi escolhido para melhor se adequar ao público, com cores vibrantes e design visualmente limpo, o site proporciona comodidade, o leitor não precisa procurar muito para achar o tema ou informação que deseja visualizar. A página principal ou Home apresenta as informações gerais contendo as postagens mais recentes de cada tema abordado, além de uma seção para comentários dos clientes do canal e um utilitário de calendário no fim da página. Ainda na página inicial encontra-se as abas que direcionam o usuário para o tópico de sua preferência, as abas são: Tecnologia, Favoritos, Galeria, Novidades, +Mais coma as sub-abas Cultura 44 Paraense e Mangas (literatura japonesa similar aos gibis) e por fim a aba Musica com as sub-abas Eletronic, Pop, Rock, J-music, K-music, conforme (Figura 2). Figura 2. Site da Radio Whua! Mix 4. O sistema O sistema e dividido em duas partes, o canal e a rádio. O projeto será uma aplicação web desenvolvido com base em um CMS (Content Management System) e no presente momento se encontra na versão beta que apresenta ao usuário uma interface intuitiva e dinâmica. 4.1. Tecnologias Utilizadas A ferramenta Shoutcast foi utilizada para a hospedagem do servidor irá fazer a streaming, que e a tecnologia que permite o envio de informação multimídia através de pacotes, utilizando redes de computadores, sobretudo a Internet [7] Para o gerenciamento da radio web foi utilizado o CentovaCast que e especializado em rádios online, esse mecanismo e um gerenciador online para clientes de servidores como o Shoutcast. Com ele e possível configurar a transmissão da radio, possui suporte a` tecnologia auto Dj, que possibilita a criação de listas de músicas e a própria ferramenta as reproduz sem necessitar de supervisiona mento humano, além de fornecer estatísticas e relatórios como “informações sobre as tendências do ouvinte e da demografia, transferência de dados, performances de pista e popularidade.” [8]. Para a criação e o gerenciamento do site da Whua! Mix foi utilizada a ferramenta Wordpress. Nele você pode customizar a interface do site do jeito que você desejar. Wordpress foi construído em Php que e uma linguagem de programação para web e MySql que e um banco de dados utilizado junto com o PHP [9]. Por fim para o streaming de áudio e utilizado o programa Sam Broadcaster que e especıfico para web rádios, baseado no servidor SQL firebird, suporta arquivos nos formatos: mp3, wma, wav [10]. 4.2. Características 45 O canal Whua! Mix e inovador pois foi criado na Amazônia e mistura informações que são de utilidade pública. Além de contar com a participação de profissionais qualificados dos temas abordados, assegurando assim a integridade das informações transmitidas. Possui o apoio do Centro Universitário do Estado do Para, que dispõe a infraestrutura de rádio para o uso da equipe, assim levando a existência do canal ao conhecimento da academia. 5. Conclusão e trabalhos futuros Na atualidade informações são disponibilizadas por diversos meios que utilizam a tecnologia da informação, porem para abranger maior público e consequentemente obter mais lucro, seja por acessos aos meios, quanto por publicidade, essas fontes acabam perdendo a identidade e não fixam um público alvo. O canal Whua! Mix surgiu com um foco definido e permanecera nesta linha enquanto existir, o projeto tende a evoluir bastantes nos próximos meses, ele será uma das atrações culturais da feira Computação Amostra, a qual se encontra na sua nona edição, o evento acontecera nos dias vinte e nove, trinta e trinta e um de outubro de 2013, na instituição de ensino superior CESUPA. Além de ter seu site reformulado para a versão final, a equipe está trabalhando em novos programas fixos para a rádio e em uma versão para iOS (sistema operacional dos iPhones, iPods touch e iPads) do aplicativo. Referências C. A. A. Araújo. Problematizando o conceito de “meio” de comunicação. Acessado em 5 de outubro de 2013. Disponível em: http://www.revistas.univerciencia.org/index.php/e-com/article/viewFile/5574/5061 C. A. Rabaça & G. G. Barbosa (2002). Dicionário de comunicação. Rio de Janeiro: Campus, 2002. Portal Rádios (2013). Radio Online - Como Funciona?. Disponível http://www.portalradios.org/2013/03/criando-uma-radio-online.html em: Bethel Podcast (2013). O que e http://podcasts.ibethel.org/pt/sermon-of-the-week em: Podcast? Disponível The Code Bakers (2013). Lição 1: Desenvolvimento para Android. Disponível em: http://www.thecodebakers.org/p/licao-1-desenvolvimento-para-android.html Under Linux (2013). IDC: Android Domina 80% do Mercado de Smartphones. Disponível em: https://under-linux.org/content.php?r=7357-IDC-Android-Domina80do-Mercado-de-Smartphones Shoutcast (2013). Free Internet Radio. Disponível em: http://www.shoutcast.com/ Drupal (2013). Centavocast. Disponível em: https://drupal.org/project/centovacast WordPress (2013). Disponível em: http://wordpress.org/about/ WineHQ(2013). SAM Broadcaster. Disponível http://appdb.winehq.org/objectManager.php?sClass=application&iId=1590 46 em: Classificação automática de informações ambientais usando Redes Neurais Artificiais: O caso da Malária na usina hidrelétrica de Belo Monte, Pará, Brasil. Alcinês da Silva Sousa Júnior¹, Alcione Ferreira Pinheiro¹, Larrysa de Cássia Tork da Silva², Nelson Fernando de Lisboa Soffiatti², Luís Henrique Rocha Guimarães², Nelson Veiga Gonçalves¹ ¹Instituto Ciberespacial (ICIBE) – Universidade Federal Rural da Amazônia (UFRA) Montese, Belém, Pará, Brasil ²Laboratório de Geoprocessamento (LABGEO) – Instituto Evandro Chagas (IEC) Levilândia, Ananindeua, Pará, Brasil {alcinesjunior,nelsoncg2009}@gmail.com Abstract. This study presents a model of integration between Artificial Neural Networks (ANN), and emerging geotechnologies applied in ecoepidemiological studies of malaria in the localities contained in the area of influence of the future Belo Monte Dam (UHBM), located at Pará state. The model implementation, based in artificial intelligence techniques, aimed the generation of environmental information through the classification of digital satellite images. Next, a Geographic Information System (GIS) was used to manipulate and analyze the data, which served to support the construction of scenarios of the disease, according to the relative importance of environmental and epidemiological variables of the studies area. The accuracy of the information generated and expressed on digital maps, consolidated the use of geotechnologies to analyse the probability of the disease risk factors stablishment. Resumo. Este estudo apresenta um modelo de integração entre Redes Neurais Artificiais (RNA), e Geotecnologias emergentes aplicadas em estudos ecoepidemiológicos de malária em localidades contidas na área de influência da futura Usina Hidrelétrica de Belo Monte (UHBM), localizada no estado do Pará. A implementação do modelo, baseado em uma técnica de Inteligência Artificial, objetivou a obtenção de informações ambientais, através da classificação de imagens digitais de satélite. Na sequência, um Sistema de Informação Geográfica (SIG) manipulou e analisou os dados, que serviram para auxiliar a construção de cenários do agravo, segundo a importância relativa das variáveis ambientais e epidemiológicas nas áreas de estudo. A precisão das informações geradas, expressas nos mapas digitais, consolidou o uso das geotecnologias na análise do estabelecimento de prováveis fatores de risco da doença. 1. Introdução A Inteligência Artificial (IA) é a área da ciência da computação que se ocupa em pesquisar métodos ou dispositivos computacionais que possam abstrair a capacidade racional do ser humano de resolver problemas cognitivos. A IA também pode ser definida como o ramo da Ciência da Computação que procura simular o comportamento 47 inteligente [LUGER, 2004] que teve início após a Segunda Guerra Mundial. Atualmente a IA abrangem uma enorme variedade de subcampos, desde áreas de uso geral, como aprendizado e percepção, até tarefas específicas como jogos de xadrez, demonstração de teoremas matemáticos e diagnóstico de doenças, porém é potencialmente relevante na Classificação Automática de Imagens de Satélites (CAIS) gerados por técnicas de Sensoriamento Remoto (SR), através da aplicação da técnica conhecida como Redes Neurais Artificiais (RNA), que possui muitas vantagens, porque se baseiam na estrutura do sistema nervoso humano, tendo a capacidade de aprender através da entrada dos dados que por sua vez informa qual a saída, possibilitando assim a obtenção da discriminação de classes informacionais como, por exemplo, tipos de vegetação que existem em determinada área geográfica [RUSSEL, 2004]. Os dados de SR têm sido muito utilizados pelo o Instituto Brasileiro do Meio Ambiente e dos Recursos Naturais Renováveis [IBAMA], que tem por objetivos, entre outros, monitorar as transformações do meio ambiente e dos recursos naturais e manter a integridade das áreas de preservação permanente e das reservas legais (BRAZIL, 2012), que são acometidos na Amazônia por seus grandes projetos desenvolvimentistas entre eles as hidrelétricas, que por sua vez promovem o estabelecimento de fatores de risco de doenças infecciosas, dentre estas a malária. Este fato pode ser observado em vários lugares da Amazônia devido à grande correlação entre desmatamento e o aumento da densidade dos mosquitos na área em uma determinada região. 2. Objetivos 2.1. Geral Desenvolver um modelo de classificação automática de informações ambientais, contidas em imagens de satélite, usando Redes Neurais Artificiais para realização de analises espaço-temporal da malária, na área influência da Usina Hidrelétrica de Belo Monte, no período de 2010 a 2011. 2.2. Específicos Gerar bancos de dados georreferenciados da distribuição espacial de localidades onde foram notificados casos de malária, na região; Identificar fatores e áreas de risco de transmissão da malária; Produzir mapas temáticos com a caracterização do nível de desmatamento na região; Analisar o desempenho da RNA, no processo de classificação automática. 3. Materiais e Métodos Para a região de estudo, a metodologia para o desenvolvimento do trabalho foi dividida três etapas principais: na primeira foi feito a aquisição dos dados, como, Imagens de satélites disponibilizadas pelo Instituto Nacional de Pesquisas Espaciais – [INPE], Bases Cartográficas fornecida pelo Instituto Brasileiro de Geografia e Estatística – IBGE e dados de malária obtida através Sistema de Informações de Vigilância Epidemiológica da malária – SIVEP-MALÁRIA e da Secretaria de Saúde do Estado do Pará – [SESPA], sendo todos esses dados georreferenciados em campo; na segunda etapa foi realizado o 48 processamento dos dados, como, pré-processamento, treinamento e classificação da imagem pela RNA e validação dos resultados, isso para a imagem classificada. Já para o mapa que media intensidade dos casos foi feito a tabulação dos dados, a indexação das coordenadas geográficas das localidades georreferenciadas em campo, na tabela já tabulada e posteriormente o estimador de Kernel, após a obtenção desses resultados vem a terceira e ultima etapa, que é o inter-relacionamento dos dados (imagem classificada, bases cartográficas e o estimador de Kernel dos casos positivos). Para o processamento e análise digital dos dados multiespectrais foi utilizado um microcomputador tipo PC, processador AMD Phenom 3,25 GB de memória RAM contendo o sistema operacional Windows XP Service Pack 3, dois receptor Sistema de Posicionamento Global (GPS), um Garmin 76CSx e um Garmin Colorado. No desenvolvimento desse trabalho foram utilizados os seguintes aplicativos: Software TabWin, para tabular os banco de dados, Software de geoprocessamento TerraView 3.1.3, para o gerar o estimador kernel, TrackMaker 11.8, para posicionamento dos dados em campo, Erdas 8.3, Envi 4.8 e Spring 5.2.1, para o pré-processamento dos dados (registro e classificação da imagem, criação de buffers e máscaras) e pós-processamento (validação das classificações), um classificador neural de imagens de satélite para o processo de treinamento e classificação dos dados através de Redes Neurais Artificiais, ArcGis 9.3, para o inter-relacionamento dos bancos de dados e imagens de satélites e geração de mapas. 4. Resultados Inicialmente foi gerado um banco de dados epidemiológico, com informações sobre os casos notificados de malária na área e período de estudo. Este banco foi produzido com informações obtidas junto a órgãos federais, estaduais e municiais de saúde, para que os dados pudessem ser validados. Posteriormente as informações sobre os casos notificados foram agrupados em relação ao seu local de notificação, para que se pudessem considerar as localidades como a unidade espacial de análise, da incidência da doença no período. Na figura 1 abaixo, pode ser observado os bancos de dados epidemiológicos gerados. Figura 1. Bancos de Dados georreferenciados da distribuição espacial de localidades com malária Na sequência as informações epidemiológicas relacionadas as localidades foram georreferenciadas, para que fosse possível observar a sua distribuição espacial em relação a área de influência direta da futura UHBM e suas características ambientais, relacionadas 49 a tipos de cobertura vegetal, presentes nas áreas de estudo e em cada ano de estudo. Na figura 2 abaixo pode ser observado a distribuição espacial das localidades onde foram notificados casos com malária. Figura 2. Distribuição espacial das localidades com malária, no ano de 2010 e/ou 2011 Após a análise do banco de dados foi observado que no período de 2010 e 2011, foram notificados 160 e 165 casos novos de malária respectivamente, nas localidades contidas na área de estudo. Nas figuras 3 e 4, apresentadas na sequência, pode ser observada a utilização do “Kernel” para identificar a densidade de casos de malária, para o ano de 2010 e 2011, respectivamente. Figura 3. Estimador de Kernel para a Densidade de Casos de Malária, no ano de 2010 50 Figura 4. Estimador de Kernel para a Densidade de Casos de Malária, o ano de 2011 Para que fosse possível analisar a relação entre o processo de degradação ambiental, em termos do desmatamento na região de estudo, foi realizado um processo de classificação de imagens digitais de satélites da região de estudo, baseada na utilização de RNA. Este processo ocorreu em quatro fases. Na primeira fase, que foi denominada de treinamento da RNA foram executados uma série de pré-processamento sobre a imagem que foi classificada (composição de bandas, mosaico e recorte da área de estudo). Esta fase foi importante devido a necessidade de corrigir ou alterar algumas características da imagem original, visando uma melhor classificação. Na segunda fase, denominada de teste, foram escolhidas as configurações ideais do esforço computacional da RNA determinando o tamanho da matriz, o número de neurônios, o número de interações e a taxa de aprendizado. Na terceira fase foram inseridas informações, que não são obrigatórias, mas de muita importância, como, escala da imagem, tamanho de pixel e número de classes. Finalmente, na quarta fase foram obtidas as imagens com as classificações geradas pelo esforço computacional da rede, que agrupou os diferentes gradientes de cores associados as informações de vegetação, enquanto classes desejadas. Este processo pode ser visto nas figuras 5, 6, 7 e 8. A imagem produzida na fase 1, que se caracterizou pela série de préprocessamento executado sobre a imagem de satélite, escolhida para a classificação pode ser observada na figura 5 abaixo. 51 Figura 5. Fase 1 do processo de classificação automática por RNA, da imagem de satélite utilizada A figura 6 abaixo apresenta a segunda fase, onde depois de vários testes foi escolhida a seguinte combinação para o treinamento da RNA, tamanho da matriz 5x5, números de neurônios 40, número de interações 100 e taxa de aprendizagem 0.9. Esta combinação foi escolhida devido apresentar os melhores resultados para este estudo. Figura 6. Fase 2 do processo de classificação automática utilizando RNA A figura 7 abaixo mostra algumas especificações da imagem como, a escala que foi trabalhada, de valor 1:250.000; o tamanho do pixel, que foi 30x30 m (900 m²) e o número de classes que desejado, que para este estudo foram definidas 4 (floreste, várzea, desmatamento e outros). 52 Figura 7. Fase 3 do processo de classificação automática utilizando RNA A figura 8 abaixo, mostra os resultados da fase 4, onde foram produzidos os resultado, que se constituíram do cálculo da área abrangida pela classe de informação temática, escolhida na imagem classificada, que neste estudo foi o desmatamento. Figura 8. Fase 4 do processo de classificação automática utilizando RNA A figura 9 abaixo mostra a imagem de satélite classificada com diferentes tipos de cobertura vegetal e desmatamento, com a distribuição espacial das localidades onde foram notificados casos de malária no ano de 2010, na área de estudo. 53 Figura 9. Mapas temáticos com a caracterização do nível de desmatamento na região, no ano de 2010 A figura 10 abaixo mostra a imagem de satélite classificada com diferentes tipos de cobertura vegetal e desmatamento, com a distribuição espacial das localidades onde foram notificados casos de malária no ano de 2011, na área de estudo. Figura 10. Mapas temáticos com a caracterização do nível de desmatamento na região, no ano de 2011 5. Discussão dos resultados Ao longo do trabalho foi realizado um processo de inter-relacionamento de Bancos de Dados Epidemiológicos Georreferenciados em relação a sua notificação em localidades contidas na área de influência da futura UHBM, com imagens digitais de satélite, classificadas por uma RNA. Após este processo foi possível observar que devido aos seus valores diferenciados de intensidade de brilho de pixels, associados à primitiva gráfica cor, que serviram de base para viabilizar a classificação realizada pela RNA, baseado em RNA [FeedForward], conforme descritos em trabalhos realizados anteriormente por [Chagas at. all 2009] e [Veiga at all. 2008]. 54 O modelo de classificação neural desenvolvido a partir dos dados gerados, expressos visualmente nos mapas temáticos digitais georreferenciados, gerados pelo processo de classificação possibilitou a observação da influência que as variáveis ambientais exerceram sobre a epidemiologia da malária, desta forma, foi possível observar que a incidência deste agravo não ocorreu de forma homogênea, pois apresentou incidência diferenciada em vários locais do município, devido às características peculiares desta região, tais como: formas de ocupação humana desordenada, que podem estar relacionadas aos diferentes padrões de desflorestamento observados sobre a imagem classificada; características ambientais favoráveis a incidência da doença, pois devido ao desmatamento existe a possibilidade da dispersão dos vetores da doença. As observações destas situações diferenciadas de risco de transmissão de malária, em áreas de hidrelétricas, foram estudadas anteriormente por [Coneglian at. all. 2010]. A classificação neural desenvolvida possibilitou a observação da distribuição espacial de áreas onde de forma potencial deverá ocorrer o estabelecimento de prováveis ecótopos de vetores, com a formação de criadouros de formas anofélicas imaturas, estas observações são corroboradas por estudos realizados anteriormente por [Veiga, 2011]. Com relação ao esforço computacional realizado pela RNA foi possível observar que o mesmo é dependente da qualidade da resolução espectral dos alvos contidos nas imagens de satélites, além da escala geográfica de abrangência da mesma, pois estas questões podem influenciar a obtenção de informações da área de estudo. Foi observado também que em relação a futuros estudos, que poderão estar relacionados ao monitoramento sistematizado das transformações ambientais e de perfis de saúde, que deverão ocorrer na área, serão necessários conjuntos de imagens multiespectrais e multitemporais, cujo processamento pela RNA exigirá mais tempo de treinamento da rede e um número maior de testes, conforme [Silva 2012]. Desta forma, os resultados obtidos neste trabalho poderiam ser comparados a classificações temáticas de imagens relacionadas a transformações em áreas menores, como as áreas de influência direta ou indireta da futura UHBM, onde talvez as feições possam ser visualmente mais fáceis de serem definidas por classes. Assim, os resultados obtidos por ambas as classificações de RNA poderiam ser comparados, em relação aos seus resultados de erro de classificação por percentual semelhante (máximo de diferença de 0,03%). Os resultados obtidos sugerem que o comportamento da RNA, quanto a sua capacidade de classificação de imagens digitais de satélites baseada em cores, é semelhante ao de neurônios biológicos quanto à distinção de objetos de cores homogêneas em imagens com as mesmas características, conforme estudos realizados anteriormente por [Chagas at. all 2008]. Referências BRAZIL — The Space Program. country-data.com (April 1997). Acesso em: 2012 CHAGAS at alli. Aplicações de Redes Neurais Artificiais para Classificação de Vegetação, no Estado do Paraná. Revista Brasileira de Engenharia Agrícola e Ambiental. v.13, n.3, p.319–327, 2009. Campina Grande, PB. 2008 CONEGLIAN F. M. at all. Comparação entre Classificações com Rede Neural Artificial em Diferentes Áreas de Estudo no Paraná. III Simpósio Brasileiro de Ciências Geodésicas e Tecnologias da Geoinformação. Recife – PE. 2010. 55 IBGE (ed.). Pesquisa Nacional por Amostra de Domicílios - PNAD de 1995. Rio de Janeiro, Ministério do Planejamento e Orçamento. 106p. 1995. IBGE. Pesquisa Nacional Por Amostra de Domicílios - PNAD 1999, Notas Metodológicas. 1999, <http://www.ibge.gov.br/home/estatistica/populacao/trabalhoerendimento/pnad99/m etodologia99.shtm>. Acesso em: 2012. IBGE. Censo Demográfico 2000, Instituto Brasileiro de Geografia e Estatística, 2001. IBGE. Estimativas Populacionais do Brasil, Grandes Regiões, Unidades da Federação e Municípios. Metodologia. Rio de Janeiro, Instituto Brasileiro de Geografia e Estatística, 2002. 22 p. IBGE. Malha Municipal 2010. 2003a, Instituto Brasileiro de Geografia e Estatística, <http://www2.ibge.gov.br/pub/Organizacao_do_Territorio/Malha_Municipal_2010/> . Acesso em: 2012. IBGE. Estimativas das populações residentes, 2001 e 2002. 2003b, Instituto Brasileiro de Geografia e Estatística, <http://www2.ibge.gov.br/pub/Estimativas_Projecoes_Mortalidade_Populacao/->. Acesso em: 2013. KOFFER, N. F. Técnicas de sensoriamento remoto orbital aplicadas a o mapeamento da vegetação e uso da terra. Geografia. Volume 17, n.2, p. 14-17. 1992. LUGER, GEORGE, F. Inteligência Artificial: Estruturas e Estratégias para a Solução de Problemas Complexos. 4ª ed. Porto Alegre: Bookman, 2004. 774 p. p. 23. ISBN 85363-0396-4. RUSSEL, S; NORVIG, P. Inteligência Artificial. 2. Ed. Rio de Janeiro: Campos, 2004. SILVA, A. L. G. & FRANCISCO, C. N. 2002. Descrição dos Principais Sistemas Sensores Orbitais em Operação. 2002. Disponível em: <www.professores.uff.br/cristiane/Documentos/apostilasr.doc>. Acesso em: 13 ago. 2012. VEIGA et. Alii. A.; GOMES, B.; BARBOSA, F. Análise espaço-Temporal da Incidência da Malária nos Municípios de Bragança e Augusto Corrêa, no período de janeiro de 2001 a fevereiro de 2008. In: II Simpósio Brasileiro de Ciências Geodésicas e Tecnologia da Geoinformação, 2008, Recife - Pe. Anais do II Simpósio Brasileiro de Ciências Geodésicas e Tecnologia da Geoinformação. Recife - Pe: UFPe, 2008. VEIGA, N. G.; SOUSA JUNIOR, A. S. Análise da Distribuição Espacial da Malária nos Municípios da Área de Influência da UHBM, entre 2006 e 2009. In: XVI Seminário Interno do PIBIC/IEC, 2011, Ananindeua-Pa. Anais do XVI Seminário Interno do PIBIC/IEC. Belém-Pa: IEC, 2011. 56 Desenvolvimento de Ferramenta para Monitoramento Multimídia a partir de Redes Heterogêneas Wilson Farias1,2, Claudio Silva1, Rodrigo Costa1, Denis Rosário1, Eduardo Cerqueira1 1 2 Universidade Federal do Pará (UFPA) Belém – PA – Brasil Instituto de Estudos Superiores da Amazônia (IESAM) Belém – PA – Brasil [email protected], {claudio,rodrigomc,denis,cerqueira}@ufpa.br Abstract. This article proposes and develops a heterogeneous network architecture for applications in Internet of Things (IoT - Internet of Things) scenarios, such as smart cities, environmental monitoring, among others. The proposal includes the development of mechanisms that enable communication between hardware of IEEE 802.15.4 and 3G/GPRS standard. Furthermore, we built a testbed for collection of scalar data and event detection from a sensor network multimedia together with the Arduino platform, due to be open-source and provide a low cost. Thus, it is possible to create a low cost and extensible architecture using open source software and hardware. Resumo. Este artigo propõe e desenvolve uma arquitetura de rede heterogênea para aplicações em cenários de Internet das coisas (IoT - Internet Of Things), como cidades inteligentes, monitoramento ambiental, dentre outras. A proposta inclui o desenvolvimento de mecanismos que permitem a comunicação entre hardwares do padrão IEEE 802.15.4 e do padrão 3G/GPRS. Além disso, construiu-se um testebed para coleta de dados escalares e detecção de eventos a partir de uma rede de sensores multimídia em conjunto com a plataforma Arduino, devido ser open-source e apresentar um baixo custo. Assim sendo, é possível criar uma arquitetura de baixo custo e extensível utilizando softwares e hardwares de código aberto. 1. Introdução A crescente evolução tecnológica tem proporcionado a criação de sistemas inteligentes baseados em dispositivos eletrônicos de baixo custo, reduzida dimensão, apreciável poder de processamento e incluindo capacidade de comunicação sem fios. A utilização destes sistemas pode acontecer em diversos contextos, tais como, monitoramento ambiental, cidades inteligentes, entre outros. Dessa forma, a integração dessas tecnologias em espaços convencionais os converteu no que chamamos espaços inteligentes [Ferraz, D. (2013)]. As Redes de Sensores Sem Fio Multimídia (RSSFM) são de vital importância, pois aumentam o nível de informação coletada em relação a simples coleta escalar. Com isso, diversas aplicações utilizam serviços de áudio/vídeo, pois o conteúdo multimídia possibilita maior acurácia e credibilidade de informações. Dessa forma, o usuário final visualiza o impacto do evento, tornando mais eficiente o planejamento de ações e ajudando na detecção de objeto/invasores e análise de cenário [Lima, P. et al. (2012)]. 57 Com a chegada da terceira geração, 3G, além dos serviços básicos de telefonia prestados por sua antecessora, novos serviços passaram a ser disponibilizados, como: Internet, vídeo, chats, etc. A oferta de novos serviços, a propagação e a acessibilidade a novos recursos fez com que diversos ambientes adotassem o uso destes serviços. Esta portabilidade nos remete a necessidade de uma interoperabilidade entre diversas tecnologias [Sandy, J. et al. (2010)]. Nos cenários futuros de Cidades Inteligentes e IoT devem-se considerar a possibilidade de projetos e aplicações que se beneficiem de redes heterogêneas de forma transparente e escalável [Avelar, E. et al. (2012)]. Porém, a utilização de redes heterogêneas exige novas abordagens para apoiar a interoperabilidade entre diferentes tipos de comunicações considerando ainda a possibilidade de recursos limitados, que devem ser refletidas adequadamente em ambientes de experimentação da Internet das Coisas ou Cidades Inteligentes [Gluhak, A. et al. (2011)]. Nesse contexto, esse artigo apresenta uma ferramenta de baixo custo voltada a aplicações de IoT como monitoramento ambiental, cidades inteligentes, dentre outras. A arquitetura proposta pode ser integrada a ferramenta Sensor4Cities [Lima, P. et al. (2012)] aumentando a interação do usuário com o sistema e melhorando a qualidade dos dados multimídia coletados. A utilização de hardwares distintos nessa solução permite o uso de diferentes tecnologias de comunicação como o IEEE 802.15.4 e 3G possibilitando a adequação do testbed no cenário de redes heterogêneas. Este trabalho está organizado da seguinte maneira: na Seção 2 são apresentados os trabalhos relacionados. Na seção 3 é descrita a possibilidade de integração do protótipo construído com a ferramenta Sensor4Cities, a arquitetura da proposta e os dados técnicos dos hardwares utilizados. Na seção 4 são exibidos os resultados experimentais da solução proposta e, por fim, na Seção 5 são feitas as considerações finais do presente artigo. 2. Trabalhos Relacionados Existem diversos trabalhos utilizando aplicações de RSSFM em contextos de IoT, Cidades Inteligentes, monitoramento ambiental, e afins. Contudo, grande parte dos trabalhos existentes adotam soluções com a utilização de ferramentas não amigáveis, alto custo e não extensíveis. O projeto SOFIA [Filipponi, L. et al. (2010)] consiste em um arquitetura para IoT e o testbed da solução foi implantado em um cenário de metrô. A arquitetura possui uma detecção de eventos anormais que simplifica o trabalho dos operadores e a comunicação entre os passageiros. A solução proposta é composta por um módulo central, que gerencia o sistema e um módulo de base de dados responsável por tratar as notificações e consultar a base de dados [Avelar, E. et al. (2012)]. O projeto CitySense [Bers, J. et al. (2010)] consiste em vários sensores que monitoram o tempo e a poluição do ar [Avelar, E. et al. (2012)]. É formado por aproximadamente 100 nós que são instalados em postes de luz e edifícios públicos e privados. Os nós são compostos por um PC integrado com grande capacidade de processamento, interfaces 802.11a/b/g, e vários sensores para monitoramento das condições meteorológicas e do nível de poluição do ar. O fato de apresentar uma instalação outdoor dentro do ambiente urbano e a realização do controle e plano de gestão baseado exclusivamente em ligações sem fios dá ao projeto certo destaque com relação aos demais. 58 O Projeto Oulu Smart City [Ojala, T. (2010)] constitui-se de uma grande rede espalhada pela metrópole de forma a criar a interação entre espaços urbanos, o usuário e a tecnologia da informação. Os usuários conseguem coletar dados através de seus smartphones utilizando a tecnologia Wi-Fi. Projetos como o Motelab [Werner-Allen, G. et al. (2005)], SensLAB [Des Rosiers, C. et al. (2011)], VineLab [VineLab] dentre outros, também utilizam uma larga redes de sensores para aplicações em cenários de IoT, entre outros. Porém, as propostas relacionadas são constituídas por infraestruturas de certa complexidade e equipamentos de custo elevado. Em contrapartida, a solução proposta nesse artigo utiliza dispositivos de baixo custo, ferramentas open-source e uma arquitetura heterogênea que possibilita a comunicação tanto pelo padrão IEEE 802.15.4 quanto pelo 3G, tornando assim o sistema escalável, simples e de baixo custo. 3. Proposta 3.1. Sensor4Cities O Sensor4Cities é uma ferramenta que utiliza rede social e página web para facilitar a disseminação de dados coletados por RSSFMs de forma transparente e de fácil utilização. Esta ferramenta foi desenvolvida com o objetivo de prover acesso simplificado aos dados de uma RSSFM através de uma página web e/ou rede social. Assim, usuários sem conhecimento técnico podem ter acesso aos dados coletados pelos nós, necessitando apenas de uma conexão com a Internet. Devido à popularidade dos smartphones, a página web também possui uma versão mobile, mais leve, possibilitando que o usuário acesse facilmente os dados coletados. [Lima, P. et al. (2012)] Na ferramenta Sensor4Cities, o usuário, através de uma conexão com a Internet, interage com o sistema de forma fácil, prática e transparente, podendo checar dados relativos à temperatura e luminosidade ou coletar imagens. Contudo, em casos ou regiões onde a conectividade é um fator limitador, o usuário fica restrito a uma conexão de boa qualidade. A arquitetura proposta neste artigo pode ser integrada a ferramenta Sensor4Cities provendo uma ampliação da interação entre o usuário e o sistema, e um ganho de qualidade dos dados multimídia coletados. O protótipo desenvolvido permite que o usuário consiga receber informações sobre a área monitorada através de serviços de rede 3G/GPRS, não ficando, assim, limitado ao acesso a página web da aplicação. Outro fator de destaque é o ganho na qualidade da imagem obtida pelo protótipo e a possibilidade da mesma poder ser enviada através de duas formas diferentes, pela rede de sensores ou para um servidor de e-mail, permitindo assim, uma escolha da melhor forma do usuário visualizar a imagem obtida de acordo com a aplicação do protótipo. 3.2. Arquitetura A Figura 1 ilustra a arquitetura proposta nesse artigo, na qual o usuário pode comunicase com a rede de nós sensores através de requisições feitas à BS ou programa-la de forma a receber a informações da rede, que podem ser de dados escalares e/ou multimídia, através da tecnologia 3G provida pelo nó multimídia. Utilizamos o nó sensor TelosB, o qual é equipado com um radio no padrão IEEE 802.15.4 para realizar a comunicação sem fio. O padrão IEEE 802.15.4 define dois diferentes modos de endereçamento, endereços 59 de 16-bit e 64-bit [Akribopoulos, O. et al. (2011)], dessa forma, através do ambiente de desenvolvimento ContikiOS [ContikiOS] atribuiu-se a cada nó um endereço de 16 bit. Figura 1. Arquitetura da proposta Apesar do padrão IEEE 802.15.4 definir as métricas para comunicação sem fio, os dispositivos implementam apenas parte deste padrão, portanto a comunicação entre diferentes dispositivos de diferentes fabricantes se torna algo de difícil implementação [Akribopoulos, O. et al. (2011)]. Dessa forma, para agregar o Arduino a rede de sensores, conectou-se um mote TelosB a entrada USB do Shield USB Host, deste modo, tornou-se possível a comunicação do Arduino com o demais dispositivos na rede através do mote e a agregação de um endereço 16-bit para o mesmo. A comunicação entre o Arduino e os shields ocorre de forma alternada, porém, sem problemas de compatibilidade. O Shield USB Host utiliza o protocolo Serial Peripheral Interface (SPI) para se comunicar com o Arduino, já o Shield 3G utiliza o Universal Asynchronous Receiver/Transmitter (UART), à vista disso, a alternância de comunicação entre os shields deve-se ao fato de que o envio de comandos para o Shield 3G ocorre através de comandos AT, ocasionando um certo atraso entre as requisições e suas respectivas respostas. A seguir são descritos detalhadamente cada dispositivo utilizado neste trabalho. 3.2.1. Mote TelosB O Mote TelosB [TelosB] desenvolvido pela Crossbow Inc. possui um microcontrolador TI-MSP430 de 16 bits e opera na frequência de 8MHz, utiliza um tipo especial de antena denominada F invertido construída em cima do padrão IEEE 802.15.4, que especifica as camadas de enlace e física para pequenos dispositivos de Rede de Área Pessoal (Personal Area Network – PAN), operando na faixa de 2.4GHz [Akribopoulos, O. et al. (2011)]. Possui também um módulo de memória flash que comporta um total de 1024 Kbyte além de sensores de temperatura, luminosidade e umidade. A Figura 2 ilustra o Mote Telosb. Figura 2. Mote TelosB. Fonte: http://openwsn.berkeley.ed 3.2.2. Arduino 60 O Arduino [Arduino] é uma plataforma de desenvolvimento open-source que provê solução de hardware e software de baixo custo para computação física tendo como modelo mais usual o Arduino Uno (Figura 3). A boa aceitação desta plataforma está fundamentada em sua simplicidade quanto a programação e possibilidade de adição de funcionalidades por meio de placas de expansão denominadas de shields. Figura 3. Plataforma Arduino. Fonte: http://arduino.cc 3.2.3. Shield USB Host O Sheild USB Host (Figura 4) [Cooking Hacks] foi desenvolvido inicialmente a partir da construção de um código para a plataforma Arduino que provesse suporte à comunicação com periféricos USB, como teclados, joysticks e câmeras [Cooking Hacks]. O Shield é composto por um controlador USB Host Maxim MAX3421E que se comunica com a plataforma através do protocolo SPI. O esquema de pinos da placa segue o mesmo modelo do Arduino, porém possui também pinos de propósito gerais (GPIN/GPOUT), possibilitando a expansão do número de dispositivos que podem ser controlados. Figura 4. Shield USB Host. Fonte: www.sparkfun.com 3.2.4. Shield 3G O Shield 3G (Figura 5) [Circuit at Home] fornece ao Arduino uma interface 3G utilizando o módulo SIM5218 da SIMCOM, cujo mecanismo trabalha nas quatro bandas GSM/GPRS/EDGE e UMTS. O módulo também possui um GPS interno que possibilita a localização do dispositivo indoor e outdoor, combinando os padrões definidos pelo National Marine Electronics Association (NMEA) com triangulação de celular móvel, utilizando os modos assisted-mobile (A-GPS) and mobile-based (S-GPS). Há também a possibilidade da captura de dados multimídia como áudio e vídeo por meio de acessórios acoplados ao Shield 3G. Além disso, o modulo foi projetado especialmente para trabalhar com servidores de Internet implementando internamente protocolos da camada de aplicação tornando mais fácil enviar informações à Internet. Entre os protocolos presentes estão HTTP, HTTPS, FTP, FTPS, SMTP e POP3. 61 Figura 5. Shield 3G/GPS – Fonte: http://www.cooking-hacks.com 4. Protótipo A fim de validar a arquitetura e avaliar o desempenho da proposta, foi efetuada uma implementação de um protótipo em um cenário de detecção de eventos (Figura 6), o qual pode ser facilmente integrado ao sensor4cities. Foram realizadas coletas de dados escalares através dos sensores presentes no mote TelosB, e coleta de dados multimídia através do protótipo criado a partir da plataforma Arduino, o qual também provê os serviços de rede 3G e de e-mail. Figura 6. Cenário de detecção de evento Na detecção de algum evento dentro do ambiente monitorado, como súbito aumento da temperatura e diminuição da humidade, pode indicar um incêndio, ou podese utilizar outros sensores para detectar outros eventos. Para tais aplicações é fundamental ter o auxílio de informação visual da área monitorada. Com base nessas informações é possível que o usuário final identifique o real impacto de um evento, ficando ciente do que está acontecendo no ambiente, tomar alguma ação, ajudando na detecção de objetos/intrusos ou analisar o cenário [Rosário, D. et al. (2012)]. No protótipo proposto, a BS envia uma requisição para o nó multimídia, o TelosB conectado ao Shield USB Host repassa a informação ao Arduino e este identificando a requisição, envia o comando AT de acionamento para o Shield 3G. Depois de ativado, o Shield recebe os comandos para ativação da câmera acoplada ao mesmo, os parâmetros de resolução da imagem, captura a imagem, a salva e desliga a câmera. Em seguida, envia uma mensagem para o celular do usuário avisando da ocorrência do evento, e envia a imagem capturada para o e-mail do usuário previamente configurado na aplicação. 62 Para evitar o envio de dados multimídia repetitivos em curtos espaços de tempo, a requisição de outra imagem só pode ser feita após certo período de tempo. Na Figura 7a é apresentada a estrutura do protótipo construído para o nó multimídia e na Figura 7b a imagem obtida pelo mesmo. Figura 7. (a) Protótipo construído; (b) imagem capturada do Shield 3G 5. Conclusão Este artigo apresentou uma ferramenta de baixo custo capaz de integrar redes heterogêneas para aplicações de IoT como monitoramento ambiental, cidades inteligentes, video surveillance, dentre outras. A integração da arquitetura proposta com a ferramenta Sensor4Cities possibilitou o aumento da qualidade dos dados multimídia coletados e uma interação do usuário com o sistema de forma mais rápida e dinâmica. Foi criado um protótipo para experimentação utilizando hardwares distintos e tecnologias de comunicação como IEEE 802.15.4 e 3G, de forma a estudar a viabilidade da proposta e sua apresentação real. A proposta apresenta alto potencial de ubiquidade ao agregar os recursos de redes sociais do Sensor4Cities aos serviços de telefonia 3G, interagindo com o usuário de forma transparente e com baixo grau de complexidade. As perspectivas futuras visam avaliar a proposta quanto à eficiência energética, garantia de entrega de dados, dentre outras métricas. Além disso, pretende-se ampliar sua heterogeneidade a fim de adequá-la a outros cenários. Referências Ferraz, D. (2013). "Monitorização Vital e Ambiental com recurso a Redes de Sensores sem Fios" (Doctoral dissertation, Dissertação (Mestrado em Engenharia Informática). Universidade Fernando Pessoa, Porto, Portugal). Kehua, S. et al. (2011). “Smart City and the Applications”, In:Internacional Conference on Eletronics, Communications and Controls (ICECC). Tan, L. and Wang, N. (2010) "Future Internet: The Internet of Things", 3rd International Conference on Advanced Computer Theory and Engineering (ICACTE), vol.5, pp.V5376-V5-380, 20-22. Avelar, E. et al. (2012) “Arquitetura de Comunicação para Cidades Inteligentes: Uma proposta heterogênea, extensível e de baixo custo”, In: XXXIX Seminário Integrado de Software e Hardware, Curitiba. 63 Lima, P. et al. (2012). “Sensor4Cities - Uma Ferramenta Baseada em redes de Sensores, Redes Sociais e Aplicação Web para Cidades Inteligentes”, Escola Regional de Informática Norte 2 (XII ERN), Belém, Brazil, Nov 21- 23. Gluhak, A. et al. (2011). “A survey on facilities for experimental Internet of things research”, Communications Magazine, IEEE, 49(11), 58-67. Akribopoulos, O. et al. (2011). “Deployment and Evaluation of a 802.15. 4 Heterogeneous Network”, arXiv preprint arXiv:1102.0058. Gubbi, J. et al. (2013). “Internet of Things (IoT): A vision, architectural elements, and future directions”, Future Generation Computer Systems. Alkandari, A. et al. (2012). “Smart cities: survey”, Journal of Advanced Computer Science and Technology Research, 2(2). Filipponi, L. et al. (2010). "Smart City: An Event Driven Architecture for Monitoring Public Spaces with Heterogeneous Sensors" Fourth International Conference on Sensor Technologies and Applications (SENSORCOMM), pp.281-286, 18-25. UC Berkeley (2010). “WSN Testbeds at http://www.millennium.berkeley.edu/sensornets/, February. UC Berkeley” Beutel, J. et al. (2009). “The Flocklab Testbed Architecture” SenSys, pp. 415–16. Bers, J. et al. (2010) “Citysense: The Design and Performance of an Urban Wireless Sensor Network Testbed”. Arduino. Disponível em: http://www.arduino.cc/ - Acessado em ago. de 2013 Cooking Hacks. Disponível em: http://www.cookinghacks.com/index.php/documentation/tutorials/arduino-3g-gprs-gsm-gps Acessado em set. de 2013 Circuit at Home. Disponível em: http://www.circuitsathome.com/arduino_usb_host_shield_projects - Acessado em set. de 2013 Lima, P. et al. (2012). “Monitoramento Ambiental Através de Redes de Sensores Sem Fio e Redes Sociais”, In: Salão de Ferramentas do XXX Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos 2012, Ouro Preto. Waspomote. Disponível em: http://www.libelium.com/ - Acessado em set de 2013. Cabrini, F. (2006). “Caracterização e análise de desempenho de uma rede de sensores sem fio” (Doctoral dissertation, Dissertação (Mestrado em Engenharia Elétrica). Universidade de São Paulo, São Paulo). Delicato, F. et al. (2004). “Middleware orientado a serviços para redes de sensores sem fio”, In Anais do 22o Simpósio Brasileiro de Redes de Computadores. TelosB. Disponível em: http://www.willow.co.uk/TelosB_Datasheet.pdf - Acessado em set de 2013 ContikiOS. Disponível em: http://www.contiki-os.org/. Acessado em set. de 2013. Sandy, J. et al. (2010). “Segurança em Redes Sem Fio Heterogêneas Baseada em Grupos de Confiança”. 64 Rosário, D. et al. (2012). “A smart multi-hop hierarchical routing protocol for efficient video communication over wireless multimedia sensor network”, In 2nd IEEE International Workshop on Smart Communication Protocols and Algorithms (ICC’12 WS - SCPA), Ottawa, Canada. Ojala, T. (2010). “Open urban testbed for ubiquitous computing”, In Communications and Mobile Computing (CMC), 2010 International Conference on (Vol. 1, pp. 442447). IEEE. Des Rosiers, C. et al. (2011). “Very Large Scale Open Wireless Sensor Network Testbed”, In Proc. 7th International ICST Conference on Testbeds and Research Infrastructures for the Development of Networks and Communities (TridentCOM) (2011). VineLab. Disponível em: http://www.cs.virginia.edu/_whitehouse/research/testbed/ Acessado em set. de 2013. Werner-Allen, G. et al. (2005). “Motelab: A wireless sensor network testbed”, In Proceedings of the 4th international symposium on Information processing in sensor networks (p. 68). IEEE Press. 65 Desenvolvimento de uma Interface Gráfica para o simulador CODPON-SIM Patrick A. Bungama¹, Yuri A. Planzo¹, Mauro M. Coutinho¹ ¹Centro de Ciências Exatas e Tecnologia (CCET) – Ciência da Computação Universidade da Amazônia (UNAMA) – Belém – PA – Brasil [email protected], [email protected], [email protected] Abstract. This paper describes a software aimed at setting simulation scenarios with a performance evaluation module for the simulator CODPON- SIM. This simulator works with the new proposed computer wireless networks CODPON (Continuous Displacement Plan Oriented Network), inspired in delay tolerant networks and disconnections (DTN). The configurator implemented provides a graphical environment that allows users, besides configure different scenarios with appropriate simulation parameters, to understand the working principle of the networks CODPON. Resumo. Este artigo descreve um software voltado à configuração de cenários de simulação junto com um módulo de avaliação de desempenho para o simulador CODPON-SIM. Este simulador trabalha com a nova proposta de rede de computadores sem fio (Wireless), redes CODPON (Continuous Displacement Plan Oriented Network), inspiradas em redes tolerantes a atrasos e desconexões (DTN). O configurador implementado proporciona um ambiente gráfico que permite aos usuários, além de configurar diferentes cenários com os devidos parâmetros de simulação, de entender o princípio de funcionamento das redes CODPON. 1. Introdução Redes DTN (Delay-Tolerant Networks) são redes móveis sem fio usadas na maioria das vezes em locais onde não há rotas de comunicação fim-a-fim (end-to-end) de um determinado dispositivo emissor até um receptor final [Sammou e Abdali 2011] e [Franck e Gil-Castineira 2007]. Esse tipo de redes pode ser usado para conectar equipamentos móveis sem fio em áreas sem infraestrutura para suportar conectividade contínua [Acharya, Shah e Venkataraman 2009] e [Goncharov 2010]. Há alguns anos, foi elaborado o protocolo CODPON (Continuous Displacement Plan Oriented Network) [Mauro, Thierry, Erick, Alon e Thienne 2011] com intuito de ser usado para reduzir o isolamento da população ribeirinha da região do Marajó, no norte do Brasil, onde há uma ausência de infraestrutura de comunicação. O protocolo usa os barcos como mulas de dados, pois constituem o único meio de transporte da região. Por meio da modelagem, foram identificados os diferentes componentes das redes CODPON e assim, foi concebido um modelo simplificado e a partir dele foi elaborado um simulador denominado CODPON-SIM [Mauro 2009]. Tipicamente existem duas formas de se modelar um sistema: a modelagem analítica e a modelagem via simulação [Issariyakul e Hossain 2009]. Tornou-se mais adequado usar a simulação para estudar o funcionamento das redes CODPON em 66 diferentes cenários de transmissão de dados, pois ela é uma das técnicas de modelagem mais difundida em computação devido à sua facilidade de aprendizado e de uso [Thienne e Mauro 2011]. Em prol de melhorar o CODPON-SIM, codificou-se um ambiente com interface gráfica amigável (Front end) permitindo a configuração e a parametrização de diferentes cenários de simulação e oferecendo aos usuários a possibilidade de entender o funcionamento das redes CODPON sem saber dos detalhes puramente técnicos. Este artigo é organizado da seguinte forma: na seção 2, apresenta-se o modelo de Rede CODPON; na seção 3, faz-se uma descrição completa do Software implementado, ressaltando os princípios de funcionamento e o módulo de avaliação de desempenho; na seção 4, destaca-se alguns dos conceitos usados durante o desenvolvimento do Software; a seção 5 apresenta o exemplo de criação de um cenário; já na seção 6, faz-se as conclusões e por fim a seção 7 apresenta as referências usadas para a elaboração do presente trabalho. 2. Rede CODPON Redes CODPON (Continuous Displacement Plan Oriented Network) são apresentadas em [Mauro, Thierry, Erick, Alon e Thienne 2011] como um tipo de rede que tem como principal inspiração o sistema de controle aéreo, com a diferença que o plano de “vôo” é chamado de plano de deslocamento (DP) e as torres de controle são as Peer Base Station. Esse tipo de rede foi concebido para ser usado na região de Marajó, situada no norte do Brasil, onde os barcos constituem a única alternativa de transporte. Em uma rede CODPON distingue-se basicamente três tipos de nós: os barcos, as Peer Base Station (PBS) e hot spots. Os barcos atuam como mulas, transportando os dados espalhados ao longo do caminho. A figura 1 ilustra esse cenário com barcos encostandose a uma PBS. Os barcos usados em uma rede CODPON são principalmente mantidos pelos municípios. Eles operam diariamente com rotas pré-definidas, com dias e horários de partidas e chegadas. Essas informações definem o plano de deslocamento de cada barco. Cada comunidade tem pelo menos uma PBS, que é um ponto fixo (Portos) onde os barcos fazem paradas previamente programadas. Outro elemento de grande importância são os computadores, chamado de KED (Kit of Data Exchange), localizados no telhado de todos os barcos fazendo partes da rede. Sempre há uma estação de base chamado da MATRIX. Todos os outros nós têm uma tabela com a distância hidrográfica da PBS MATRIX. 67 Figura 1. Barcos levando dados para a PBS (Fonte: http://www.labpetala.com) O terceiro tipo de nó é chamado de Hot Spot. É um nó especial que só existe em áreas que têm ligação com a Internet. É um gateway entre redes CODPON e a Internet. Se um barco cruza com um Hotspot CODPON, uma cópia de todos os dados a bordo é enviada pela internet. Navios especiais, como aqueles mantidos pelo exército, podem ter nós Hot Spot, pois sempre mantêm conexão com a Internet [Mauro 2009]. Os Dados das aplicações usando as redes CODPON são divididos em unidades lógicas denominadas DACT (Data Application in Transit). Cada DACT representa uma unidade mínima de transmissão de um nó a outro. O protótipo das redes CODPON foi projetado em 2011 no laboratório Pétala (Pesquisas em Tecnologias Alternativas Ligadas a Amazônia) da Universidade da Amazônia (UNAMA). Todo o protocolo de comunicação é escrito em C++ para sistemas Linux, usando soquetes e multithreading. A comunicação é baseada em Redes Ad Hoc Veiculares (VANETs). Testes foram feitos em [Filho, Abdelnor, Pimentel, Jacob Jr, Margalho 2011] e o sistema foi capaz de enviar vídeos, imagens e arquivos de gravação auditiva de um nó (PBS em território de Marajó) a outro (PBS da capital Belém) simulando um diagnóstico de um médico em um paciente. 3. Descrição do Software 3.1. Princípios de funcionamento 3.1.1. Configuração das informações básicas A interface principal do software, como apresentada na figura 2, oferece as primeiras informações a respeito do cenário a ser configurado para a simulação. São elas: Dimensões do cenário: é a proporção da superfície do cenário. Para facilitar, a dimensão é baseada em uma escala (1:1, 3:4 e 5:9) e um fator que definirá a área da superfície. Duração da simulação: baseado em um pulso de 1 segundo (SimClock), define o tempo total da simulação. 68 Velocidade média dos barcos: que é a quantidade de pontos do Flatgrid que percorre a cada pulso (padrão é 1 metro por segundo). Distância entre os pontos do Flatgrid: define a escala do Flatgrid (padrão é de 1 metro). Área podendo ser coberta por um barco: define o alcance máximo da comunicação entre dois barcos (BOATS). A consideração de camada de proximidade. Figura 2. Interface principal Essas informações (menos as DACTs) devem ser especificadas logo no início da configuração, pois elas irão ser usadas nos próximos passos. 3.1.2. Configuração dos PBS, BOATs, ROUTEs e STEPs Em uma segunda etapa do processo de criação de um cenário, especificam-se os elementos chave da simulação: os Portos ou PBS, os barcos (BOATs) usados como MULAS para transportar os dados e as rotas (ROUTES). Para passar nesta etapa, abre-se o Assistente de configuração dos PBS, ROUTE e BOAT. Na abertura da janela do Assistente, tem-se a possibilidade de escolher um dos mapas propostos (no nosso caso utilizou-se imagens da região do Marajó) para o background da tela (figura 3). Isso torna a configuração mais simples e a aproxima do cenário real, pois no mapa tem-se uma noção realista das verdadeiras localizações dos municípios. 69 Figura 3. Assistente de Configuração dos PBS, ROUTE e BOAT Por meio de um clique direito em cima do campo: de PBS ou também no próprio mapa, oferece-se a possibilidade de configurar os portos. Cada PBS terá o seu nome composto por três caracteres (exemplo: BEL para Belém, MEL para Melgaço, BRE para Breves), o tipo de cobertura encontrado no porto (Celular, Fixo ou Navio para municípios onde o barco é o único meio de comunicação) e a sua localização (recuperada automaticamente pelo programa). de BOAT, abre-se a janela para especificar o nome do barco. de ROUTE, pode-se configurar uma rota. A rota terá um PBS origem e outro como destino. Vale ressaltar que cada rota existe um conjunto de plano de deslocamento que aqui serão referenciados como passos (STEPs). Os STEPs são especificados durante a criação de uma rota, bastando dar um clique direito no campo caminho. Como exemplo, pode-se criar uma rota RO0 com origem Belém e destino São Sebastião de Boa vista com os STEPS Belém-Ponta de Pedras, Ponta de Pedra-Muaná, Muaná-São Sebastião de Boa vista. A figura 4 ilustra as telas de configuração dos PBS, BOAT, ROUTE e STEPs. Figura 4. As janelas de configuração dos PBS, BOATs, ROUTEs e STEPs 70 3.1.3. Associação das rotas com os respectivos barcos Esta etapa consiste em correlacionar os barcos com as rotas. Todos os BOATs devem ter rotas interligando os PBS. A janela de associação dos BOATs com os ROUTEs encontra-se no sub-menu Configurar Associations do menu Avançado no Assistente de Configuração dos PBS,ROUTE e BOAT como mostrado na figura 5. Figura 5. Janela de Configuração das associações dos barcos com as rotas 3.1.4. Configuração do campo DACTs Esta configuração, como ilustrada na figura 6, é o penúltimo passo do processo de montagem de um cenário. As DACTs são unidades lógicas que compõem dados que se encontram em trânsito entre um porto origem e um porto destino [Mauro, Thierry, Erick, Alon e Thienne 2011]. Figura 6. Configuração das DACTs 3.2. Avaliação de desempenho Na interface inicial, pode-se executar o módulo de avaliação de desempenho clicando o botão “Processar Gráficos”. Implementou-se este módulo para poder analisar o 71 desempenho do simulador depois das transmissões de dados, isto é, depois de alguma simulação ser finalizada no CODPON-SIM. 3.2.1. Atraso Depois de cada simulação, os instantes de saída e de chegada de cada sequência de DACT são gravados em um arquivo de texto de mesmo que o atraso ocorrido na transmissão. O gráfico de atraso é gerado a partir desses dados (figura 7). Figura 7. Gráfico de atraso 3.2.2. Utilização Segundo [Johnson e Margalho 2011], a utilização é a fração do tempo em que algum recurso permanece ocupado. É uma métrica representada em percentagem (%). No Software, visualiza-se a taxa de utilização de cada nó PBS fazendo parte da simulação. A figura 8 apresenta o gráfico de utilização dos nós. Figura 8. Gráfico de utilização 3.2.3. Vazão A vazão é a taxa na qual os pedidos são atendidos por um determinado sistema computacional [Di Nicolo e Giaccone 2008]. Usou-se essa métrica para calcular o total das DACTs recebidas por cada nó durante o tempo total da simulação (figura 9). 72 Figura 9. Gráfico da Vazão 4. Metodologia de Desenvolvimento 4.1. Os conceitos aplicados O CODPON-Simulador é um software open-source escrito em Java Netbeans. Em exceção ao Jfreechart, biblioteca externa usada para gerar os gráficos de desempenho, fez-se uso dos recursos internos do Java Netbeans e do Log4J para depurar a execução do código. Para facilitar que outros desenvolvedores deem continuidade ao seu código, aplicam-se algumas características das seguintes boas práticas de programação (Design Patterns) [Helm 1994]: Mediator: define um objeto que gerencia as colaborações entre um grupo de objetos. Como no CODPON-Simulador, o Singleton é formada pela série de heranças, é nele que são encapsuladas as entidades e disponibilizados os métodos que gerenciarão seus atributos. Há um Mediator para cada entidade principal. Singleton: Uma única classe encapsulada é usada para controlar os objetos que devem ser universalmente acessados. No CODPON-Simulador o Singleton foge um pouco desse conceito, pois não é uma instância e sim um objeto estático publicamente acessado; e não é uma classe única, mas sim a raiz de uma sucessão de heranças entre Mediators. MVC (Model-View-Controller): As entidades, logicas de negócio e formulários são muito bem definidos. Tanto os pacotes como a lógica de programação deixam as camadas bem definidas e com personalidade própria. A estrutura hierárquica do código-fonte está exposta na figura 10. 73 Figura 10. Estrutura física do projeto Composite: Certas entidades, em alguns casos, são subconjuntos de outras. Para evitar repetição e retro alimentação, essas entidades são composições ou agregações de outras. Pode-se tomar como exemplo a entidade ROUTE, que é uma lista de objetos STEP, que por sua vez é formado por um PBS. Iterator: É usado dentro do Mediator para acessar instâncias específicas dentro das listas de instâncias apenas com a passagem da identidade do objeto como parâmetro. Observer: Cada JComponent usado para exibir valores em formulários é uma instância do pacote “model.j*”. É usado em todos Iterator, para sincronizar os JComponent nos formulários. 5. Criando um cenário O estudo de caso consiste na criação de um cenário com cinco PBS que são: BEL (Belém), MUA (Muaná), CUR (Curralinho), BRE (Breves) e MEL (Melgaço). A ligação entre esses municípios é feita por dois barcos (BO1 com rota BEL-MEL e BO2 com rota desservindo BRE-MUA). O cenário tem duas rotas que são: BEL-MEL (RO0), com quatro STEPS (BELMUA, MUA-CUR, CUR-BRE, BRE-MEL) e BRE-MUA (RO1) que tem apenas dois STEPS (BRE-CUR, CUR-MUA). A figura 11 ilustra a interface do Assistente de Configuração com os PBS e as rotas. Como se pode perceber, a configuração do cenário é feita usando um mapa da região de Marajó em background, isso oferece ao usuário uma noção geográfica podendo ajudá-lo a montar o cenário como se fosse real. 74 Figura 11. Estudo de caso 6. Conclusão Nesse artigo, apresentou-se um Software projetado para fazer configurações de cenários de simulação de forma simples e eficiente e que irão ser utilizados no simulador CODPON-SIM. O Software foi implementado priorizando a simplicidade nas configurações dos cenários e a facilidade do entendimento dos conceitos de funcionamento das redes CODPON. Em comparação ao modo antigo de configuração de cenários feita diretamente no arquivo texto, o uso do Software oferece aos usuários grande agilidade e transparência. Dentre dos futuros trabalhos relacionados ao configurador apresentado, pretendese fazer um parser para gerar scripts de configuração de cenários que sejam executados no Network-Simulator 2 (NS2) e também eliminar a dependência do uso do CODPONSIM para executar as simulações. Referências Filho, A. De S. O., Abdelnor, F. A. M., Pimentel, L. M., Jacob Jr., A. F. L., Margalho, M. (2011) “Aplicação de Telemedicina para Segunda Opinião Médica entre Comunidades Remotas e Grandes Centros Urbanos Utilizando uma Estrutura de Redes Orientadas a Plano de Deslocamento Contínuo”, I Escola Regional de Informática - Norte 3 - Rio Branco / AC. Gamma, E., Helm, R., Johnson, R. (1994) “Design Patterns: Elementos of Reusable Object-Oriented Software”, Addison Wesley, ISBN 13: 9780201633610. Sammou, El M., Abdali, A. (2011) “Routing in Delay Tolerant Networks (DTN), Improved Routing with MaxProp and the Model of Transfer by Delegation (Custody Transfer)”, International Journal of Communications, Network and System Sciences. Bloch, J. (2002) “Effective Java: Programming Language Guide”. Addison Wesley, (ISBN 13:9780201310054). 75 Franck, L., Gil-Castineira, F. (2007) “Using Delay Tolerant Networks for Car2Car Communications”, IEEE International Symposium on Industrial Electronics (ISIE 2007), Vigo – Spain, Page(s): 2573 - 2578. Loy, M., Eckstein, R., Wood, M., Elliott, J., Cole, B. (2002) “Java Swing”, O’Reilly Media, 2nd Edition. Margalho, M., Mendes dos Santos, I., Matos, M. (2009) “Desenvolvimento de um Simulador para Redes Orientadas a Plano de Deslocamento Contínuo (CODPONSIM)”, Traços (UNAMA), v. 11, p. 83-92. Margalho, M., Moreira, T., Silva, E., Efrat, A., Johnson, T. (2011) “Work in Progress: A new proposal of data mule network focused on Amazon riverine population”, ExtremeCom, Manaus - Brasil. Margalho, M. (2009) “Uso de redes codpon em aplicações de governo eletrônico”. XXIX Congresso da Sociedade Brasileira de Computação. Bento Gonçalves, RS Brasil. Issariyakul, T., Hossain, E. (2009) “Introduction to Network Simulator NS2”, Springer. ISSN: 9780387717593. Johnson, T., Margalho, M. (2011) “Avaliação de Desempenho de sistemas Computacionais”, GEN/LTC. Goncharov, V. (2010) “Delay-Tolerant Networking”, Albert-Ludwigs- Universität Freiburg. Acharya, H.B., Shah H.N., Venkataraman V. (2009) “Delay Tolerant Networking: A Retrospective”, Third International Conference on Next Generation Mobile Applications, Services and Technologies (NGMAST '09), Cardiff - Wales, Page(s): 309 – 314. Di Nicolo, A. ; Giaccone, P. (2008) “Performance limits of real delay tolerant networks”, Fifth Annual Conference on Wireless on Demand Network Systems and Services (WONS), Garmisch-Partenkirchen- Germany. 76 Especificação e Desenvolvimento de um Sistema Domótico de Baixo Custo Utilizando Arduino Luiz Felipe de Sousa1, Msc. Cassio David Borralho1, Celson Pantoja Lima1 1Universidade Federal do Oeste do Pará – UFOPA - R. Vera Paz, s/n – Salé Santarém, Pará, Brasil – CEP 68035-110 {luizfelipe.mz,cdbpinheiro,celson.ufopa}@gmail.com Resumo. Este trabalho demonstra o processo de especificação e desenvolvimento de um sistema domótico de baixo custo, que compreenda um conjunto de sensores e atuadores afim de controlar dispositivos da residência onde será instalado às necessidades de seu usuário. O sistema deve executar desde simples ações como acender a luz até realizar um cálculo para saber qual dispositivo consome mais energia podendo assim obter dados sobre eficiência energética. O projeto pretende ser um ponto de partida para aplicações de escopo mais amplo e de funções mais complexas. O sistema desenvolvido utiliza de uma placa microcontroladora Arduino para realizar as tarefas de automação da residência, e recebe os comando pela porta serial USB ligada a um computador, no qual estará instalado um servidor WEB com o módulo cliente servidor da aplicação. O usuário poderá interagir com o sistema através de um dispositivo móvel. 1. Introdução Nos últimos anos, com a evolução da eletrônica e o surgimento da microeletrônica várias áreas do conhecimento ganharam em desenvolvimento e velocidade de novas descobertas. A informática é uma destas áreas. Computadores cada vez menores e mais rápidos a cada geração elevam o poder de processamento e capacidade de armazenamento de informações, trazendo à realidade conceitos antes apenas explorados em livro e filmes de ficção científica (TEZA, 2002). As pessoas passaram de utilizadores ativos da tecnologia para a categoria de utilizadores passivos, onde a tecnologia passa a interagir com o ser humano sem que este explicite uma determinada ação (BOLZANI, 2007). Com isto, a tecnologia se aproxima das pessoas para servir também como meio de entretenimento, lazer e cultura, todos querem equipamentos de fácil utilização, com funções facilmente identificáveis e que proporcionem conforto. Neste contexto entra a automação residencial, pois através do agrupamento de diversas tecnologias é possível proporcionar ao usuário um ambiente de conforto, segurança e economia de energia. Devido a intensa integração entre tecnologias e áreas dentro da automação residencial surgiu uma nova vertente de estudos denominada Domótica, esta tem por característica ser de caráter multidisciplinar, ela agrega vários conceitos de outras ciências como Arquitetura, Engenharia, Ciência da Computação, Medicina, Sociologia e Psicologia a fim de estudar todas as necessidades do usuário frente às possibilidades oferecidas pelo mundo digital e suas interações com a residência automatizada (BOLZANI, 2007). Domótica é um tema atual e bem explorado, no entanto fica a dever um pouco no quesito financeiro, ás vezes um sistema domótico pode ser bastante caro dependendo das suas funcionalidades, mesmos as mais básicas. A falta de referências na literatura nacional contribui com a não propagação do tema, com isso, percebe-se uma carência de 77 profissionais e a falsa impressão de que sistemas domóticos têm que ser caros. No Brasil tem-se poucos livros publicados sobre o tema: “Residências Inteligentes” de Caio Bolzani (2004) como o mais conhecido e “Automação Predial e Residencial - Uma Introdução” de Francesco Prudente (2011) o mais recente no tema. Neste artigo o objetivo geral é demonstrar a possibilidade de construção de um sistema domótico de baixo custo, mostrando também que sua interface possa estar acessível pela WEB. 2. Domótica A palavra domótica deriva das palavras Domus (casa) e Robótica (controle automatizado), dessa maneira, a domótica define-se como a possibilidade do controle de forma automática de habitações. Segundo Roque (2008), domótica é a utilização simultânea da eletricidade, da eletrônica e das tecnologias da informação no ambiente residencial, para assim realizar a sua gestão, podendo esta ser local ou remota, e oferecer uma gama de aplicações integradas baseadas em segurança, conforto, comunicação e gestão de energia. O desejo de automação em projetos de pequeno e médio porte com características comerciais ou residenciais começou a surgir na década de 80 quando companhias como a Leviton (http://www.leviton.com) começaram a desenvolver sistemas de automação predial alcançando 4 milhões de edifícios e casas já no ano de 1996. Com o grande número de aplicações e oportunidades geradas pelo computador pessoal, pelo surgimento da INTERNET e pela redução dos custos do hardware, criou-se uma nova cultura de acesso à informação digitalizada. Esses fatores permitiram elevar o projeto elétrico de seu nível convencional para um superior no qual todas as suas funções desenvolvidas estejam integradas e trabalhando em conjunto (Bolzani, 2004). A domótica compreende um conjunto de equipamentos microcontrolados de controle centralizado ou não, que interagem entre si através de meios de comunicação homogêneos ou heterogêneos, trocando informações e tomando decisões orientadas ao usuário para assegurar seu conforto, segurança e bem estar. (TERUEL, 2008, p.25) Basicamente a automação residencial é a atuação de dispositivos nas funções de elétrica, hidráulica e ar condicionado, permitindo o uso customizado de aparelhos elétricos e garantindo economia de energia elétrica e água (BOLZANI, 2004, p. 61). 3. Tecnologias utilizadas Diversas tecnologias foram integradas a fim de se obter um sistema domótico funcional, a escolha destas obedeceu os critérios de: material disponível na literatura, maturidade, segurança e tecnologia open source. Em uma visão macro o sistema divide-se em hardware de integração, servidor WEB, protocolo para troca de mensagens entre o sistema e o hardware de integração. Esta divisão será detalhada em níveis menores e suas especificações demonstradas. Na figura 1 é possível identificar a integração das tecnologias envolvidas no processo de desenvolvimento de maneira mais ampla. 3.1 Hardware de Integração – Arduino 78 O hardware de integração terá o papel de receber os comandos enviados pelo software e reproduzi-los no mundo real, bem como enviar de volta para o software status de sensores e respostas a comandos. O hardware escolhido tem a capacidade de interação com o meio físico através de sensores e atuadores, característica essencial para a correta implementação do sistema domótico, para isto, foi escolhida a plataforma Arduino. Arduino é uma plataforma open source de prototipação eletrônica, computação física, extremamente flexível e poderosa além de ter a capacidade de interação com o mundo real, através de sensores é possível captar eventos externos, tratá-los e responder a estes caso seja o caso de sua programação. A especificação do hardware é de código aberto, o que significa que um usuário pode de posse dos esquemas de ligações eletrônicas montar sua própria placa Arduino com um custo baixo, a mesma pode ainda ser adquirida por um preço bem baixo também (ARDUINO, 2012). 3.2 Servidor WEB Apache O servidor WEB será responsável por hospedar o sistema domótico e prover uma interface para o seu usuário. Através do servidor web o sistema poderá estar disponível em uma rede local ou na internet, dependendo da configuração ou necessidade do cenário a ser implementado, neste trabalho o servidor web funcionará no âmbito de uma rede local, para este serviço foi utilizado o servidor Apache que hospedará o código da interface de acesso ao sistema em PHP. 3.3 Desenvolvimento do código do Microcontrolador A linguagem de programação utilizada no hardware de integração Arduino, tem origem em Wiring e é essencialmente C/C++, com várias pequenas modificações antes de ser transformada em avr-gcc. 3.4 Criação da interface WEB para acesso ao sistema domótico O sistema domótico acessível via web necessita de uma interface que ofereça uma boa experiência de navegação a seus usuários, como a premissa do trabalho é a de que o sistema seja acessível por dispositivos móveis, é ideal a correta visualização da interface independentemente do modelo ou marca do dispositivo móvel requisitante. Para suprimir este problema foi utilizado Jquery e Jquery Mobile. jQuery Mobile é um framework para desenvolvimento web, otimizado para interação por toque e que se destina à criação de aplicações para smartphones e tablets. Seu desenvolvimento está voltado para fornecer mecanismos capazes de criar sistemas unificados de interface de usuário, baseados em HTML5 e CSS3 e capazes de ser funcionais em todas as plataformas móveis tendo como base de construção as bibliotecas jQuery e jQuery UI (Silva, 2012). 79 Figura 1. Integração das tecnologias envolvidas 4. Visão Geral do Protótipo O protótipo desenvolvido tem o nome de HAL, acrônimo de Habitação Automatizada Livre. O experimento está dividido em três partes: montagem do circuito eletrônico do hardware de integração; desenvolvimento do código embarcado no hardware de integração; desenvolvimento do código do sistema web. O HAL permite ao usuário ter o controle de diversos dispositivos presentes em sua residência e que estejam ligados à rede elétrica. Opções como ligar e desligar equipamentos via celular acessando uma página web formatada para dispositivos móveis, bem como poder checar o status dos dispositivos e seu consumo de energia estão presentes no sistema. Desta maneira o usuário ganha em conforto, segurança e ainda pode verificar o aparelho que mais consome energia, diminuindo assim seus gastos. O HAL é um sistema organizado por módulos, onde tem-se a parte de controle físico que é gerida por um microcontrolador Arduino, e a parte do controle lógico que compreende os códigos de controle do microcontrolador e da aplicação em PHP. Para a apresentação das funcionalidades, estrutura e funcionamento do sistema foi utilizada a linguagem UML1. O HAL tem por finalidade permitir que o seu utilizador tenha o controle através de seu celular, de certos dispositivos presentes em sua residência como por exemplo: lâmpadas, ar condicionados, televisores e outros equipamentos que estejam ligados à rede 1 Unified Modeling Language que é uma linguagem visual para especificação, construção e documentação de artefatos de software. 80 elétrica da residência. Para isso é necessário que o celular possua um navegador de INTERNET e se conecte na URL do sistema que estará hospedado em um servidor WEB local ou remoto no caso de um acesso via INTERNET. Ao acessar o sistema o servidor disparará as ações escolhidas para o microcontrolador Arduino através de uma conexão serial USB, caso haja retorno de informações ao fluxo de dados segue o caminho inverso (Figura 2). Figura 2. Descrição do HAL e seu fluxo de informações 4.1 Visão Funcional A visão funcional do sistema tem como ponto principal demonstrar as funcionalidades do sistema através de diagramas de caso de uso. O diagrama de caso de uso do sistema HAL possui 3 atores, Usuário, Sensores e Atuadores (Figura 3). O ator Usuário é o humano que irá interagir com o sistema, os atores Sensores e Atuadores são dispositivos externos mas que também irão interagir com o HAL. Para o ator Usuário, o HAL provê as seguintes funcionalidades para o usuário: ● Efetuar Login; ● Verificar status da residência; ● Ver temperatura; ● Ver status dos dispositivos; ● Alterar dispositivos; ● Alterar lâmpadas. 81 Figura 3. Caso de uso geral do HAL 4.2 Diagrama de Implantação Na figura 4 é apresentado o diagrama de implantação do HAL, neste caso é ilustrado o módulo Cliente-Servidor responsável pela interface e a aplicação WEB. O nó dispositivo móvel representado pelo estereótipo <<device>> acessa o servidor WEB através de uma conexão 3G ou 802.11 wlan. O nó Servidor de Aplicação WEB tem o estereótipo <executionEnvironment>> pois representa o ambiente de execução da aplicação, é composto pelos principais componentes necessários à execução do sistema. Figura 4. Diagrama de Implantação A figura 5 representa o diagrama de implantação do módulo de interação física, onde tem-se o microcontrolador Arduino e seu sistema embarcado. O nó Arduino possui o estereótipo <<executionEnvironment>> que descreve a configuração exata do microcontrolador. O nó Arduino possui três dispositivos ligados a ele, Sensor Temperatura, Sensor Luminosidade e Relé. Cada um dos dispositivos está ligado ao nó 82 Arduino através de uma conexão específica, pino digital ou pino analógico, no diagrama é também mostrado a relação entre nó e dispositivo. Figura 5. Módulo de Interação Física 5. Protótipo do Circuito do Hardware de Integração Para uso neste trabalho foi montado um circuito que simulasse as condições de uma residência, obedecendo ao cenário proposto com controle de luminosidade, controle de temperatura e dispositivos eletrônicos presentes na residência. Para a montagem do circuito foi utilizado uma placa de prototipagem do tipo Breadboard, encontrada em lojas de eletrônica (Figura 6). 83 Figura 6. Circuito Principal O circuito principal foi montado visando a simulação de um ambiente residencial básico, onde é possível controlar a iluminação através de sensores LDR 2 , verificar a temperatura no ambiente através de sensores NTC3. Os LEDs presentes na montagem do circuito simulam as lâmpadas da residência e dispositivos eletrônicos ligados à rede elétrica. 6. Telas do Sistema Apresentação de algumas telas do sistema HAL desenvolvidas com o uso de jQuery Mobile, com isso tem-se uma unificação da interface dos usuários onde está se adapta ao dispositivo móvel onde a aplicação está sendo vista. Figura 7. Tela de inicial de acesso ao HAL Figura 8: Mapa da residência. 2 Light Dependent Resistor, em português Resistor Dependente de Luz 3 Sensor que altera a resistência em seus terminais segundo a temperatura a que é submetido. 84 Figura 8. Mapa da residência Figura 9. Opções disponíveis nos cômodos 7. Considerações Finais O objetivo do artigo é documentar e demonstrar a possibilidade de construção de um sistema domótico de baixo custo, mostrando também que sua interface possa estar acessível pela web. Para o cumprimento deste foi utilizado hardware e software opensource o que reduziu bastante o preço final do sistema em comparação aos preços praticados no mercado. O objetivo do sistema HAL é suportar os conceitos de domótica oferecendo ao seu usuário uma interface interativa, de fácil utilização, e que permita o controle sobre sua residência. Para suportar este objetivo, o HAL dispõe das seguintes funcionalidades: ● Acessar o sistema em qualquer dispositivo móvel. ● Efetuar o login no sistema para ter acesso ás suas opções. ● Permite ao usuário, verificar quais os dispositivos eletrônicos ligados na sua residência. ● Permite ao usuário, alterar o estado das lâmpadas e dispositivos eletrônicos de sua residência. ● Permite ao usuário, verificar a temperatura de sua residência. 85 Os resultados obtidos foram satisfatórios, o HAL mostrou-se efetivo além de poder ser adaptado para o emprego em cenários mais amplos e complexos. Os conceitos da domótica são facilmente identificados no sistema. Durante o processo de desenvolvimento do projeto, várias ideias surgiram de maneira a agregar à ideia inicial. É possível o desenvolvimento de um banco de dados mais robusto que possa contemplar opções de agendamento de tarefas e modos automáticos de perfis para a residência. A integração do Arduino com um shield com tecnologia GSM possibilitaria o sistema informar por SMS o usuário caso alguma mudança ocorra no ambiente, ganharia assim funcionalidades de segurança. Foi pensado em um sistema para travamento e destravamento das portas utilizando a tecnologia bluetooth onde seria dispensável o uso das atuais chaves. O atual estado do projeto bem como sua documentação auxiliam no processo de se continuar o desenvolvimento de novas funcionalidades e mudanças de tecnologias. Referências ARDUINO, Disponível em http://www.arduino.cc/. Acessado em 20/05/2012 APACHE, Disponível em http://apache.org/. Acessado em 20/05/2012 TERUEL, E. C. Uma proposta de framework para sistemas de automação residencial com interface para WEB. 2008. 158 f. Dissertação (Mestrado em Tecnologia: Gestão, Desenvolvimento e Formação) – Centro Estadual de Educação Tecnológica Paula Souza, São Paulo, 2008. BOLZANI, Caio A. M. Residências Inteligentes: um curso de Domótica. 1.ed. São Paulo: Editora Livraria da Física, 2004. 332 p. TEZA, Vanderlei Rabelo. ALGUNS ASPECTOS SOBRE A AUTOMAÇÃO RESIDENCIAL - DOMÓTICA. 2002. 108 f. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Santa Catarina, Santa Catarina, 2002 Dias, César Luiz de Azevedo, “DOMÓTICA Aplicabilidade e Sistemas de Automação Residencial”. Artigo - CEFET. CAMPOS DOS GOYTACAZES. RJ, 2009 Silva, Maurício - Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jQuery e jQuery UI, 2012 ROQUE, Eng António. Introdução a domótica. Publicado na Revista O Electricista, nº1 Jul, Agos e Set de 2002. Disponível em: http://www.antonioroque.com/textos.asp? idCat=11&idArtigo=12. Acesso em 18/05/2012 BOLZANI, Caio A. M. Residências Inteligentes: um curso de Domótica. 1.ed. São Paulo: Editora Livraria da Física, 2004. 332 p. 86 Estudo das Técnicas de Monitoramento para Avaliação do Desempenho em Cluster de Servidores Web Diego B. Lopes¹, Patrick A. Bungama¹, Taison A. de Nadal¹, Ananias P. Neto¹ ¹Centro de Ciências Exatas e Tecnologia, Universidade da Amazônia - UNAMA. 66060-902 - Belém – PA – Brasil [email protected], {patrick.bungama,taison.nadal}@gmail.com, [email protected] Abstract. This paper presents a comparative study of the monitoring techniques, such as HTTP/GET, PING and TCP implemented on a cluster of web servers to ensure high availability of the HTTP service. The study is based on metrics of QoS (Quality of Service), flow rate, packet loss and jitter, in addition relates Speed Up to the time and sequence processing time of parallel processing. Results show that the technique HTTP / GET is a good alternative for monitoring the high availability cluster, compared to other techniques. Resumo. Este artigo apresenta um estudo comparativo das técnicas de monitoramento, tais como, HTTP/GET, PING e TCP aplicadas em um cluster de servidores web, para garantir alta disponibilidade do serviço HTTP. O estudo é baseado nas métricas de QoS (Quality of Service), vazão, perda de pacotes e jitter, além do Speed Up que relaciona o tempo de processamento sequencial e o tempo de processamento paralelo. Resultados obtidos mostram que a técnica HTTP/GET é uma boa alternativa para o monitoramento do cluster de alta disponibilidade, comparadas às demais técnicas. 1. Introdução A popularização de diversas aplicações usadas em áreas como economia, biologia, meteorologia, entretenimento, entre outros, tem obrigado os profissionais de computação a recorrer a computadores cada vez mais potentes e com mais capacidade de armazenamento para poder processar enormes quantidades de dados disponíveis [Hilário, 2012]. Neste contexto, desenvolveram os clusters de alta disponibilidade necessários para manter os serviços sempre ativos e tolerantes a falhas. Em [Dantas, 2005], esse tipo de computação é chamado de computação de alto desempenho, pois faz uso de recursos computacionais superiores aos recursos normalmente disponíveis, como desktops ou estações de trabalho. Uma das soluções para atender a essa grande demanda de poder computacional foi à introdução do uso de supercomputadores, porém essa solução não tem sido muito viável por questão econômica. De fato, os supercomputadores, que são sistemas fortemente acoplados e de grande poder computacional, possuem um custo muito elevado que não é acessível a todas as organizações. A melhor alternativa aos supercomputadores foi a utilização dos clusters também conhecidos como sistemas fortemente acoplados. Como exemplo temos o SMP (Symmetric Multiprocessor) e o NUMA (Non-Uniform Memory Access). Neste artigo foi utilizado o cluster SMP, com arquitetura SIMD (Single Instruction Multiple Data). 87 Em [Hilário, 2012] um cluster é definido como um sistema distribuído de computadores independentes e interligados, cujo objetivo é suprir a necessidade de um grande poder computacional com um conjunto de computadores de forma transparente ao usuário. Em ambiente web faz-se muito o uso dos clusters para suprir as grandes requisições feitas aos servidores. O uso de clusters tem aumentado o desempenho de inúmeros sistemas web (carga ou tempo de execução de tarefas), porém a tendência é que aumente ainda mais visto a realidade atual. Para tornar esse aumento possível, usa-se a avaliação de desempenho de sistemas existentes. O objetivo desse trabalho é avaliar o desempenho de um cluster web virtualizado, no que se refere ao atendimento das requisições HTTP que acessam os servidores. Assim verificando a alta disponibilidade do cluster utilizando três técnicas de monitoramento conhecidas HTTP/GET, PING e TCP. A análise do QoS (Quality of Service) será feita a partir das métricas Vazão, Jitter e Perda de Pacotes, sendo que a métrica Speed Up será utilizada para análise do desempenho do sistema paralelo. Este artigo está organizado da seguinte forma: Na seção 2, apresentam-se os trabalhos relacionados. A seção 3 apresenta conceitos de computação de alto desempenho. Na seção 4 são apresentados conceitos relacionados a cluster Web. A seção 5 descreve as métricas de desempenho utilizadas neste trabalho. A seção 6 destaca o cenário do test bed realizado e os resultados obtidos a partir das métricas aplicadas e na seção 7 são abordas as conclusões e trabalhos futuros. 2. Trabalhos relacionados Esta seção descreve os trabalhos relacionados a este estudo. Os trabalhos citados foram de grande contribuição para a área de computação paralela. Vários trabalhos direcionados à avaliação de desempenho em ambiente de Computação de Alto Desempenho têm sido apresentados com objetivo de aumentar o desempenho dos sistemas usados nesse tipo de ambiente. Em [Hilário, 2012] aborda os principais componentes de um cluster de alto desempenho enfatizando os tipos de cluster de alto desempenho, suas arquiteturas, além de apresentar o conceito de desempenho em clusters, sem, porém fazer alguma avaliação de desempenho dos mesmos com técnicas de monitoramento. Em [Beserra et al, 2012] é feito um comparativo de desempenho entre clusters em ambiente real e virtualizado. Em ambos os ambientes, os clusters tinham condições equipotentes. Foram analisados a transmissão de dados e o processamento sustentado. Em [Beserra et al, 2012] faz um estudo comparativo de diferentes ferramentas de virtualização na construção de clusters para reaproveitar as aplicações de Computação de Alto Desempenho e infraestruturas subutilizadas. Os autores definiram como objetivos determinar qual virtualizador oferece ao cluster o melhor desempenho, melhor gerenciamento de recursos. A análise foi feita para o processamento sustentado, a vazão média, as operações de E/S. Na literatura, existem propostas de análises de desempenho de sistemas paralelos e cluster de alto desempenho. No entanto, nenhum dos trabalhos citados utilizam as três técnicas de monitoramento do cluster de servidores web, visando a melhor otimização 88 das aplicações. Neste artigo, foi realizada a avaliação de desempenho do cluster, monitorado pelas técnicas HTTP/GET, PING e TCP. 3. Computação de Alto Desempenho Em [Dantas, 2005], apresenta-se a Computação de Alto Desempenho como o tipo de computação que faz uso de recursos computacionais superiores aos recursos normalmente disponíveis, como desktops ou estações de trabalho. Essa técnica nasceu da necessidade crescente por aplicações que necessitam de grande poder computacional para fins de simulação, escalabilidade, computação científica, entre outros [Sousa et al, 2012]. Em ambiente de Computação de Alto Desempenho, os supercomputadores foram à primeira solução aos problemas ligados ao poder computacional, porém atualmente os Clusters têm sido uma melhor alternativa de uso por questões ligadas ao custo necessário para adquiri os supercomputadores. Um cluster é um sistema distribuído de computadores independentes e interligado, cujo objetivo é suprir a necessidade de um grande poder computacional com um conjunto de computadores de forma transparente ao usuário [Bacellar, 2012]. 4. Cluster de Servidores Web Um servidor web, por mais otimizado que seja, pode não conseguir preencher os requisitos de tolerância a falhas, escalabilidade e principalmente desempenho para grandes demandas. Uma alternativa efetiva e relativamente barata e que tem sido adotada atualmente para aumentar o poder computacional é o uso de uma estrutura baseada em múltiplos servidores. O termo clusters web refere-se a uma coleção de servidores web se apresentando como único sistema [Sousa et al, 2012]. Nesse artigo, usou-se uma arquitetura com um nó do cluster configurado como máquina mestre (também conhecido como o Front End), conforme ilustra a Figura 1, sendo que ela distribui as requisições dos clientes aos demais servidores do cluster. Figura 1. Cluster com nó controlador. Fonte: (Tanenbaum, 2007) A máquina mestre, segundo [Tanenbaum, 2007], estabelece uma conexão TCP com o servidor (camada de transporte), sempre que um cliente fizer uma requisição HTTP e oferece distribuição de requisição em função de conteúdo, em outras palavras, ela decide qual servidor deve repassar a requisição. Isso garante o balanceamento de carga ou load balancing. 89 5. Avaliação de Desempenho A preocupação com o aumento de desempenho de sistemas computacionais tem criado um grande interesse na área de avaliação de desempenho. Esse procedimento inclui tudo o que é possível mensurar não só quantitativamente, mas também qualitativamente [Johnson et al, 2011]. Em sistemas computacionais especificamente, a avaliação de desempenho é usada para saber se o sistema atende os usuários de forma eficiente e satisfatória. Em ambiente Web, a eficiência de um sistema inclui cálculos de inúmeras métricas como: o tempo de processamento de uma requisição HTTP, a carga de trabalho, a utilização, a vazão, etc. Nesse artigo, as métricas analisadas no cluster de servidores web são o Speed Up e as métricas de QoS (Vazão, Perda de pacotes e Jitter). Cada uma dessas métricas é abordada a seguir. 5.1. Speed Up Uma das principais métricas utilizadas neste trabalho para avaliação de desempenho é o Speed Up. Segundo [Amdahl, 1967], o Speed Up relativo à execução de certa tarefa sobre p processadores é definido como a razão entre o tempo gasto para sua execução em um único processador (tempo de processamento sequencial) e o tempo gasto para sua execução sobre p processadores (tempo de processamento paralelo). Se o tempo de execução de uma determinada tarefa sobre p processadores é T(p), pode-se expressar o fator de Speed Up, S(p), em termos matemáticos, como apresentado na expressão 1: (1) 5.2. Vazão (Pacotes/segundo) A vazão é a taxa na qual os pedidos recebidos são atendidos por um sistema. Por taxa entende-se o número de requisições atendidas por unidade de tempo [Johnson, 2011]. Throughput (Vazão) é a métrica definida como o número de requisições executadas por unidade de tempo [Comer, 2007]. A unidade utilizada depende do tipo da requisição que está sendo enviada ao servidor. Para servidores Web, uma medida utilizada pode ser a quantidade de requisições HTTP servida por segundo. A vazão é o parâmetro mais básico de QoS e é necessário para a operação adequada de qualquer aplicação. Em termos práticos as aplicações geram vazões que devem ser atendidas pela rede [Recomendation ITU, 2010]. É uma das métricas mais usadas para avaliar quantitativamente sistemas computacionais existentes (redes de computadores, sistemas de banco de dados, entre outros). 5.3. Jitter Considerando uma rede de computadores, pode-se entender o jitter como sendo a variação no tempo e na sequência de entrega das informações [Recomendation ITU, 2010]. O jitter é caracterizado pela quebra da sequência no tráfego dos pacotes, pois os mesmo podem seguir caminhos distintos na rede e, em cada roteador, o pacote deve esperar sua vez para ser processado, fazendo com que alguns pacotes não chegam ao destino na ordem de envio. 90 Em redes de computadores, o jitter pode ser entendido como a variação no tempo e na sequência de entrega das informações devido à variação na latência da rede. Durante a transmissão de pacotes em uma rede, alguns fatores contribuem no atraso da entrega dos mesmos ao destino. Utilizando essa métrica temos como verificar o tempo que está se perdendo e analisar qual dos servidores está com seu processamento mais alto com relação aos demais. 5.4. Perda de pacotes Um pacote pode ser enviado e não ser recebido por um destinatário, quando isto ocorre diz-se que houve a perda do pacote. A quantidade de pacotes perdidos tende a aumentar conforme o aumento do tráfego na rede, sendo que a maioria das perdas ocorre em nós congestionados [Kurose, 2006]. Essa métrica analisa a quantidade de pacotes que foram enviados pelo emissor e que nunca foram recebidos em seu destino. Essa medida é geralmente expressa em porcentagem. A perda de pacotes é outro elemento crítico que influencia de forma direta na qualidade de serviço da rede. Os pacotes podem ser perdidos ou descartados por várias razões como erros, atraso excessivo e assinatura excessiva [Burgess, 2004]. 6. Test Bed e Resultados Esta seção descreve o cenário utilizado nesse artigo, assim como os resultados obtidos. Para isso foram aplicadas as técnicas de monitoramento, que utilizaram o cluster Web, havendo apenas variação no número de servidores, com o objetivo de avaliar em qual técnica o cluster tem melhor desempenho, menos perda e menos vazão. Os servidores possuem processadores Inter Core I5 com frequência de operação de 3.8Ghz, 4GB de memória principal e FBS 133Mhz. Sistema operacional Windows Server 64 Bits. Os clientes possuem processador Intel Core 2 Duo com frequência de operação 2.6 Ghz, 2GB de memória principal e FBS 668Mhz. Sistema operacional Windows Seven 32Bits. 6.1. Cenário No cenário, foi configurado um cluster Web virtualizado composto de quatro servidores web (também virtualizados), uma máquina coordenadora, responsável pelo balanceamento de carga dos servidores Web. Na máquina mestre foi configurado o serviço DNS, o Firewall (ISA). O desempenho do cluster foi avaliado fazendo as medições do Speed Up, Vazão, Perda de Pacotes e Jitter. 91 Figura 2. Cenário 6.2. Resultados Em um primeiro momento, registrou-se o tempo de processamento das requisições do cluster mudando a quantidade dos servidores de um até quatro. Utilizou-se o software Benchmark PUC [Benchmark PUC, 2013]. No cluster, configurou-se a técnica de monitoramento HTTP/GET. Com as medições obtidas, calculou-se os valores de Speed Up. Posteriormente, as medições do tempo de processamento (paralelo e sequencial) foram realizadas, também para as técnicas PING e TCP. Nota-se que houve um aumento do Speed Up, ao aumentar o número de servidores do cluster para as técnicas HTTP/GET e PING, conforme ilustra a Figura 3. Esse aumento aconteceu também para o TCP, porém houve uma diminuição do valor do Speed Up em relação ao cluster composto de dois servidores, isso devido ao grande controle de fluxo do protocolo. Figura 3. Gráfico de Speed Up A segunda métrica avaliada foi a vazão utilizando o software Wireshark [Wireshark, 2013]. O Wireshark é um programa que analisa o tráfego de rede e o organiza por protocolos, desta forma no experimento foi possível medir a quantidade de pacotes por unidade de tempo que trafegaram na rede. As medidas foram realizadas no cluster formado de um a quatro servidores. Com os resultados obtidos, na Figura 4, observou-se que houve o aumento dos valores da vazão para as três técnicas de monitoramento em cada adição de servidor. Esse aumento foi 92 muito considerável usando o TCP como técnica, por ser um protocolo confiável que trabalha com controle de fluxo, o que justifica o monitoramento lento comparado com as outras técnicas. Figura 4. Gráfico de Vazão. No último momento foi feita a análise de duas métricas do QoS. Foi usada a ferramenta Iperf [Iperf, 2013]. Recolheram-se os valores do jitter e da perda de pacotes do cluster variando a quantidade dos servidores de um à quatro, com as três técnicas de monitoramento HTTP/GET, PING e TCP. Para o jitter, percebeu-se que com a técnica HTTP/GET só teve uma quantidade considerável com número de servidores no máximo. Para o PING, o melhor desempenho foi com três servidores. O TCP obteve bom desempenho com três servidores. Assim concluímos que a quantidade de servidores fez influência com a técnica HTTP/GET, porém com PING e TCP o aumento de servidores diminuiu seu desempenho, como mostrado na Figura 5. Figura 5. Gráfico do jitter Em relação à perda de pacotes, nota-se na Figura 6 que todas as técnicas de monitoramento tiveram uma diminuição na sua porcentagem de perda de pacotes. Contudo a técnica HTTP/GET obteve melhor desempenho, com relação ao aumento de servidores. 93 Figura 6. Gráfico de perda de pacotes 7. Conclusões e Trabalhos Futuros Conclui-se que para os resultados do Speed Up todas as técnicas de monitoramento tiveram resultados próximos, porém a técnica HTTP/GET obteve melhor desempenho por ter uma vazão baixa comparado com PING e TCP que são mais onerosos. Para os resultados da vazão, a técnica TCP obteve o pior desempenho, visto que o monitoramento do tráfego de pacotes na rede é mais rigoroso para o protocolo TCP. O melhor caso obteve-se utilizando a técnica HTTP/GET, haja vista que para um ou quarto servidores a vazão foi a mais baixa. Nas medições do Jitter, observou-se que os valores obtidos foram insignificantes para o cluster de um e dois servidores. Entretanto, para quatro servidores a técnica HTTP/GET teve o pior desempenho. Considerando os testes realizados e os resultados obtidos, a técnica de monitoramento HTTP/GET destacou-se entre as demais por ter obtido melhor desempenho quanto ao Speed Up, vazão e perda de pacotes. Como trabalhos futuros propõem-se realizar novos testes com o aumento de servidores e análise de novas técnicas de monitoramento, bem como na aplicação de novos serviços. Referências Recommendation ITU-R M.1645. (2010) “Framework and overall objectives of the future development of IMT-2000 and systems beyond IMT-2000”, Electronic Publication, pp. 22–24, Geneva. Wireshark, Disponível em: http://pt.wikipedia.org/wiki/Wireshark. Acessado em 28 de Agosto de 2013. Iperf, Disponível em: http://www.iperfwindows.com. Acessado em 02 de Setembro de 2013. Amdahl, G. (1967), “Validity of the single processor approach to achieving large-scale Computing capabilities”, In: AFIPS Conference Proceedings, p. 483-485. Burgess, N. (2004), “Testing of Ethernet Services in Telecom Networks: RFC 2544. [S.I]: Agilent Technologies”. 94 Caio César S. Sousa, Val Ivo M.S. Filho, Ananias P. Neto (2011), “Análise de Técnica de Virtualização Completa Aplicado a Computação de Alto Desempenho”. I Escola Regional de Informática Norte 3. Dantas, M. (2005), “Computação distribuída de alto desempenho: redes, clusters e grids computacionais”, Rio de Janeiro: Axcel Books. Comer, E. D. (2007) “Redes de Computadores e Internet”, 4ª Edição. São Paulo: Editora Bookman. D. W. S. C Beserra, S. C. Romeiro A. Souto, M. J. Pimentel de Andrade, A. E. Pereira de Araújo (2011) “Comparativo de desempenho de um cluster virtualizado em relação a um cluster convencional sob condições equipotentes”, IX Workshop em Clouds, Grids e Aplicações. XXIX Simpósio Brasileiro de Redes de Computadores. D. Beserra, A. Borba, S. Solto, M. Andrade, A. Araújo (2012) “Desempenho de Ferramentas de Virtualização na Implementação de Clusters Beowulf Virtualizados em Hospedeiros Windows”, X Workshop em Clouds e Aplicações. XXX Simpósio Brasileiro de Redes de Computadores. Hilário Viana Bacellar (2010), “Cluster: Computação de Alto Desempenho”, Instituto de Computação, Universidade Estadual de Campinas, São Paulo. Tanenbaum, A. S. e Maarten, V. S. (2007) “Sistemas Distribuídos: Princípios e Paradigmas”, 2ª ed. São Paulo: Pearson Prentice Hall. T. Johnson, M.Margalho (2011), Computacionais”, GEN/LTC. “Avaliação de Desempenho de sistemas Kurose James F. (2006) “Redes de Computadores e a Internet”, Editora Pearson, São Paulo, 2006, p. 625. 95 Imperialist Competitive Algorithm: Um algoritmo baseado em Relações sociopolíticas feito na Linguagem de Programação C Marco Antônio Florenzano Mollinetti1, Filipe Bittencourt Souza das Neves1, Rodrigo Lisbôa Pereira1, Otávio Noura Teixeira1 1 Laboratório de Computação Natural (LCN) – Centro Universitário do Estado do Pará (CESUPA) – Belém, PA – Brasil [email protected], [email protected], [email protected], [email protected] Abstract. This article refers about the bioinspired algorithm that utilizes sociopolitical relationships, the Imperialist Competitive Algorithm, in a way that enumerates all the steps that should be taken. Then, it is proposed another version for this algorithm utilizing a different computer language. Tests were made for this new algorithm in order to prove its capacity for solving problems. The following analysis will provide basis for future work. Resumo. Este artigo refere-se sobre o algoritmo bioinspirado, que se utiliza de relações sociopolíticas,o Imperialist Competitive Algorithm, enumerando todos os passos que se deve tomar e, em seguida propõe-se uma nova versão para algoritmo foi escrita em outra linguagem de computação. Foram realizados teste neste algoritmo com o intuito de provar sua capacidade de resolver problemas complexos. O presente estudo servirá de base para trabalhos futuros. 1. Introdução Estudos envolvendo problemas de otimização recebem bastante atenção por parte de cientistas e pesquisadores, principalmente por aqueles imersos à área da Inteligência Artificial (IA). Dentre as várias abordagens existentes e que podem ser utilizadas para resolver esses tipos de problemas, destacam-se duas: os métodos matemáticos de otimização e as técnicas de otimização envolvendo metaheurísticas. Nos últimos anos, metaheurísticas foram largamente utilizadas para atingir resultados bons para vários problemas considerados NP-Hard, ou seja, problemas que não existe soluções definitivas. Como exemplos desses problemas, podem-se citar problemas envolvendo design de estruturas utilizadas na área de Engenharia, análise de padrões e, também, problemas de logística, como o cálculo de rota, ou mesmo, o cálculo da melhor forma de se armazenar produtos em um container. Entre os diversos métodos existentes e que podem ser usados na solução de problemas da engenharia, da matemática e da computação, que cultiva a Computação Bioinspirada, destaca-se o Algoritmo Genético (Genetic Algorithm - GA) (Holland, 1975), o Simulated Annealing, que se baseia no processo de cristalização de um metal que é resfriado após ser aquecido além do seu ponto de fusão (Aarts e Korst, 1989), o Particle Swarm Optimization (PSO) criado por Eberhart e Kennedy (1995) que se inspira no comportamento social de agrupamentos de animais, como por um exemplo uma 96 revoada de pássaros ou um cardume de peixes, e o Ant Colony Optimization (ACO) de Dorigo (1992) cujo simula o movimento de uma colônia de formigas e a sua trilha de feromônios deixada para se formar um caminho que alcança uma solução ideal. Além desses tipos de algoritmos Bioinspirado mencionados, existe também o Imperialist Competitive Algorithm (ICA), o qual será aplicado neste trabalho. Este algoritmo foi proposto por Lucas et al. (2007), e é fundamentado no comportamento dos seres humanos, que aborda as relações sociopolíticas entre os diversos territórios habitados por uma população com cultura comum, também denominados países. São diversos os trabalhos que resolvem problemas classificados como NP-hard utilizando o ICA. No trabalho de Kaveh e Talatahari (2010) são tratados os problemas de medição de elasticidade de mola e pressão de um vaso de pressão, já o de Lucas et al. (2010) aborda o design de um motor de indução linear ,e o artigo de Talatahari et al. (2012) resolve o problema de design de estruturas de truss – estruturas de fácil montagem composta de vigas de alumínio e aço. Também, Berneti e Shabazian (2011) fizeram um estudo que trata do problema da predição de fluxo do petróleo em um poço. No ano de 2009, Duan et al. publicou um estudo sobre os problemas da detecção de padrões. Em 2011, Nemati et al. publicou uma obra que diz respeito a um estudo envolvendo a menor rota através do problema do caixeiro viajante. Este trabalho demonstra a eficiência do uso do ICA para alcançar uma solução ótima, representado pelo menor valor possível encontrado para o problema de minimização de uma função matemática, por meio da implementação do algoritmo na linguagem C, corroborando sua aplicabilidade por meio desta plataforma, uma vez que, até então, esse algoritmo não fora antes escrito nesta linguagem, sendo somente aplicado utilizando paradigmas MATrix LABoratory (MATLAB) da MathWorks (2013) e Java da Oracle (2013), concebidos por Lucas et al. (2007) e por Roche (2010), respectivamente. A seção 2 aborda o embasamento teórico do ICA, evidenciando os principais aspectos da concepção de seu algoritmo. A seção 3 detalha a nova implementação para o ICA; enquanto que a seção 4 exibe todos os testes comparativos realizados. Por fim, a seção 5 conclui o trabalho e menciona trabalhos futuros para este algoritmo. 2. Embasamento Teórico Conforme Lucas et al. (2007), o algoritmo ICA é classificado como bioinspirado de acordo com a classificação de Binitha e Sathya (2012), que classificaram algoritmos bioinspirados como uma heurística que imita a estratégia da natureza capaz de resolver problemas tanto entre os seres vivos, quanto problemas moleculares. Assim sendo, muitos processos biológicos podem ser fundamentados como processos de uma otimização com fronteiras. Contudo, o ICA também é classificado como um algoritmo evolutivo que se utiliza de aspectos de relações sociopolíticas, assim dito por Atashpaz- Gargari e Lucas (2007), que definem o ICA como a “contraparte sociopolítica do GA”. O ICA consiste em uma simulação de uma corrida imperialista entre países, aonde primeiramente, considera-se o espaço de busca como toda a divisão geográfica de países do planeta, portanto, cada solução em potencial gerada aleatoriamente é representada através de países. Em seguida, é escolhida uma parcela dos melhores países (neste caso, os países com os menores custos) para tornarem-se impérios, enquanto o resto dos países 97 serão convertidos em colônias dos países imperialistas. A quantidade de colônias que cada país imperialista possui inicialmente é determinada pelo poder que cada um possui, aonde é inversamente proporcional ao custo do país imperialista. (Kaveh e Talatahari, 2010). Passada a primeira etapa de formação e consolidação da configuração mundial, inicia-se o ciclo de iterações que irá se findar somente quando uma condição de parada for alcançada. Nesta etapa, ocorre a assimilação cultural das colônias, dado pela convergência das colônias em direção ao seu respectivo país imperialista (Lucas, et al 2007). Em seguida, é medido o poder total de cada império, o poder total consiste na soma relativa do poder do império mais uma porcentagem da media do poder das colônias subordinadas ao império. Por fim, é realizada uma competição imperialista entre os impérios, em que a colônia mais fraca do império mais fraco é tomada pelo império que possui a maior tendência a conquista-lo. Vale ressaltar que nem sempre o império mais forte será o império que conquistará a colônia fraca, porém, inevitavelmente este mecanismo fará com que gradualmente os impérios mais fortes se fortaleçam e os mais fracos enfraqueçam (Kaveh e Talatahari, 2010). Isso ocorre até que, eventualmente, um império se verá sem nenhuma colônia, o que acarreta na sua eliminação, já que é evidente que um império que não possui mais colônias é um império que ruiu, e portanto não será mais capaz de participar da corrida imperialista. Dependendo da quantidade de gerações, pode ser que ocorra o evento de todos os impérios exceto um entrarem em colapso, no que resultará em uma convergência para o único império que sobrou, representando a solução ótima, fazendo com que as colônias possuam um custo igual ou muito aproximado ao império. (Kaveh e Talatahari, 2010). Nas seções seguintes, são exibidos os passos para a concepção do algoritmo do ICA de acordo com sua proposta original. O Imperialist Competitive Algorithm se comporta de acordo com o pseudocódigo encontrando na Figura 1: Passo1: Inicializar parâmetros. (a)Definir problema e Inicializar países. (b)Dividir Impérios e colônias. Passo2: Mover colônias em direção ao seus respectivos países imperialistas. Passo3: Se a colônia possuir um custo menor que o império, mudar as posições do império com a colônia. Passo4: Escolher a colônia mais fraca do império mais fraco e dá-la para o país imperialista que possui a maior probabilidade de possuí-la. Passo5: Se houver algum império que não possua mais colônia, eliminá-lo. Passo6: Repetir passo 2 a 5 até que o critério de parada seja satisfeito. Figura 1. Pseudocódigo para o ICA. 2.1. Primeira Etapa: Inicialização de países e geração de impérios e colônias. 98 O algoritmo é iniciado determinando-se uma quantidade de países no espaço do problema, chamadas de Npaís. Cada país é uma estrutura contida em um arranjo no qual seus valores serão gerados aleatoriamente por uma distribuição uniforme (Lucas et al. 2007). Deste número Npaís, é calculado o custo de cada país através da função custo fcusto para que assim os países possam ser ordenados em ordem crescente. Então, se escolhe de 5% a 10% do total de países para formar Nimp países com os menores custos para tornarem-se países imperialistas (Lucas et al., 2007). O restante Ncol de países passará a ser países colônias que serão subordinados aos impérios. Para que se formem os impérios, é necessário distribuir as colônias dominadas para eles, e, portanto a distribuição de colônias é diretamente proporcional ao poder de cada um. A fim de obter uma distribuição relativa, calcula-se o custo normalizado de cada país imperialista, 𝐶𝑛 = 𝑐 max {𝑐 } 𝑖 𝑖 𝑛− (1) onde 𝑐𝑛 consiste no custo normalizado do 𝑖ésimo império e 𝐶𝑛 é seu custo normalizado. Calculado o custo normalizado de cada imperialista, calcula-se o poder normalizado de cada império, no qual, de acordo com Lucas et al. (2007), corresponde à porção de colônias que é concedida ao império através da equação (2). 𝑃𝑛 = | 𝐶𝑛 𝑁𝑖𝑚𝑝 ∑𝑖=1 | (2) 𝐶𝑖 Multiplicando-se o valor do poder normalizado do 𝑛 -ésimo império pela quantidade de colônias presentes no espaço mundo como visto na equação de numero três para se alcançar ao valor numérico de colônias 𝑁. 𝐶.𝑛 que o 𝑛-ésimo império deve receber 𝑁. 𝐶.𝑛 = 𝑟𝑜𝑢𝑛𝑑(𝑝𝑛 . 𝑁𝑐𝑜𝑙 ) (3) Após determinada a quantidade de colônias que cada império passará a dominar, as colônias serão uniformemente distribuídas entre os impérios, resultando em uma configuração semelhante à Figura 2 na qual o império mais forte é aquele que possui a maior quantidade de colônias. Figura 2. Exemplo de configuração inicial do espaço mundo (Lucas et al., 2007). 99 2.2. Segunda Etapa: Convergência de colônias e troca de poder. Como dito por Lucas et al. (2007), no imperialismo o país imperialista tenta melhorar as condições do país colônia. Para o algoritmo, este evento se caracteriza como uma convergência da colônia em direção ao país que o domina. A colônia irá se movimentar 𝑥 unidades, na qual 𝑥 é uma variável aleatória uniformemente distribuída (Kaveh e Talatahari, 2010) conforme dada pela equação a seguir. 𝑥 ~ 𝑈(0 , 𝛽 . 𝑑) (4) 𝛽 é um numero maior que 1 (um) e 𝑑 é a distância entre o império e a colônia, conforme indica a Figura 3. Vale ressaltar que assim como dito por Lucas et al.(2007), um valor maior do que 1 (um) para a variável 𝛽 faz com que a colônia se aproxime por ambos os lados. Figura 3. Convergência de colônia em direção ao seu império (Kaveh e Talatahari ,2010). A fim de aumentar o fator de variabilidade da procura por soluções melhores, é adicionado um desvio aleatório no movimento de convergência. Este desvio 𝜃 é caracterizado por um valor também uniformemente distribuído, que consiste em um número: 𝜃 ~ 𝑈(−𝛾 , 𝛾) (5) Em que 𝛾 é parâmetro responsável por determinar o quanto se desviará da direção original, como visto na Figura 4. Assim como o parâmetro β, 𝛾 é um valor arbitrário e de acordo com Kaveh e Talatahari (2010), um valor de 2 para β e π/4 radianos para 𝛾 é um valor satisfatório para se alcançar bons resultados, e portanto, para este artigo, também será utilizado estes parâmetros. 100 Figura 4. Convergência de colônia para seu respectivo império com desvio (Kaveh e Talatahari ,2010). Após a convergência de colônias, é possível que haja uma colônia que possua custo menor que o seu país imperialista, e caso isto ocorra, de acordo com Kaveh e Talatahari (2010), uma troca de poder será realizada de forma que a colônia passará a ser o império, e o império será rebaixado ao estado de colônia. No algoritmo, isto é representado como a troca da posição do império com a posição da colônia ótima. Ocorrido isto, as colônias passarão a convergir para a posição de onde o novo império se encontra. 2.3. Terceira Etapa: Competição imperialista e Eliminação de impérios. Antes de se realizar qualquer competição imperialista, é necessário avaliar o poder total de cada império, já que este é pertinente para se avaliar o quão propenso é um país imperialista para conquistar uma colônia, este é representado através da seguinte equação: 𝑇. 𝐶.𝑛 = 𝐶𝑢𝑠𝑡𝑜(𝑖𝑚𝑝é𝑟𝑖𝑜𝑛 ) + . média{Custo(colonias do império𝑛 )} (6) O poder total consiste na soma do poder do império mais o coeficiente multiplicado a média do custo das colônias que pertencem ao império. O coeficiente determina o quão importante é o papel das colônias para a medição do poder de um império. Um valor pequeno para faz com que a medida do poder total de um império seja determinada apenas pelo seu poder, enquanto que um com valor maior aumentará a influencia das colônias no resultado final (Lucas et al. 2007). De acordo com Lucas et al. (2007), um valor de 0.1 foi definido para em seus exemplos, e, portanto também será utilizado para este artigo. Como dito por Kaveh e Talatahari (2010), as nações imperialistas competem para conquistar as colônias de outros impérios, resultando em um gradual fortalecimento de impérios mais fortes e enfraquecimento de países mais fracos. Nesta competição, o império que possui a maior probabilidade de tomar uma colônia conquista a colônia mais fraca do império mais fraco. É importante ressaltar que nem sempre o império mais poderoso irá conquistar a colônia, já que de acordo com Lucas et. al (2007), não serão as colônias que serão possuídas pelos países imperialistas mais poderosos, e sim estes impérios que serão mais propensos a conquista-las. Portanto, para poder realizar a competição, deve-se calcular a probabilidade de possessão de um império, e para isto, calcula-se primeiramente o seu custo total normalizado, que se comportará da mesma forma que a Equação 3. 𝑁. 𝑇. 𝐶𝑛 = 𝑇. 𝐶𝑛 − 𝑚𝑎𝑥 { 𝑇. 𝐶.𝑖 } 𝑖 (7) Após o cálculo do custo total normalizado, calcula-se o fator de probabilidade de possessão de cada império, determinado pela equação abaixo: 𝑃𝑝𝑛 = | 𝑁.𝑇.𝐶𝑛 𝑁𝑖𝑚𝑝 ∑𝑖=1 | (8) 𝑁.𝑇.𝐶𝑖 Em seguida, organizam-se todos os valores de probabilidades de possessão em um arranjo chamado P, e cria-se outro arranjo R com o mesmo tamanho de P. Neste arranjo R, cada índice será um valor numérico entre 0 e 1 uniformemente distribuído de forma randômica. Feito isto, cria-se outro vetor denominado D, de mesmo tamanho de P e R contendo em cada índice a subtração dos valores P com os valores R: 101 𝑫 = 𝑷 − 𝑹 = [ 𝑝𝑝1 − 𝑟1 , 𝑝𝑝2 − 𝑟2 , 𝑝𝑝3 − 𝑟3 , … , 𝑝𝑝𝑛 𝑖𝑚𝑝 − 𝑟𝑛𝑖𝑚𝑝 ] (9) Por fim, a colônia a ser tomada é dada ao império representado pelo índice no arranjo D que possui o maior valor numérico. No processo de competição imperialista, impérios que não possuem mais poder entram em colapso e suas colônias restantes são dividas entre os outros impérios. Para este algoritmo, Kaveh e Talatahari (2010) especificam que um império ruiu quando não possui mais nenhuma colônia e, portanto, este império é eliminado do espaço mundo. A convergência, a troca de poder e a competição imperialista continuam ocorrendo, até que se alcance uma das duas condições de parada seguinte: haver apenas um império localizado no ótimo global possuindo todas as colônias presentes no espaço mundo, que ou possuam o mesmo custo do império ou se encontrem convergidas na direção do país imperialista; ou que processo de busca atinja o limite de gerações préestabelecido (Kaveh e Talatahari, 2010). 3. O ICA escrito em Linguagem C O ICA fora implementado somente aplicando dois paradigmas computacionais: concebido, primeiramente, no MATLAB e usado no trabalho original de Lucas et al. (2007), o código deste algoritmo foi disponibilizado, pelos autores, para uso e disseminação por parte de outros novos pesquisadores que desejariam utilizar tal metaheurística na resolução de outros tipos de problemas NP completos. Posteriormente, o ICA foi escrito na linguagem de Java e publicado por Roche (2010) com o intuito de tornar a temática do algoritmo mais simples. Neste trabalho, codificou-se este algoritmo utilizando a linguagem de programação C, buscando, inicialmente, determinar que esta nova versão do ICA seguisse a mesma exatidão proposta por Lucas et al. (2007), ou seja, empregando as etapas do algoritmo original. É importante destacar que, como contribuição, optou-se por desenvolver outras otimizações em relação à lógica de cada etapa presente no algoritmo do ICA original. Porém, tais modificações não alteram a razão essencial do ICA, entretanto, elas retificam e procuram agilizar aspectos como a correção do mecanismo de geração de colônia, visto que a equação (3) faz com que a soma total do número de colônias distribuídas aos impérios ultrapasse o número de colônias existentes, ocasionando à formação de colônias inexistente. Também se buscou minimizar o tempo de processos mais custosos, isto é, aqueles que geralmente envolvem mais iterações, como por exemplo, os processos de geração de novas soluções e o de competição imperialista. Motivos pelos quais o ICA foi reimplementado utilizando a linguagem C são diversos. De acordo com Pereira (2011) apud Schildt (2006) admite a criação de funções isoladas, importante para projetos de maior escala, permitindo que um código desenvolvido não afete acidentalmente as rotinas de outro programa. Destaca-se ainda que uma implementação em C proporciona maior robustez e, consequentemente, maior eficiência, um vez que é real a possibilidade de utilização de recursos de manipulação de memória, pois, de acordo com Ritchie e Kerningham (1978), co-criadores da linguagem C e, também, autores do primeiro manual existente dessa linguagem, C é uma linguagem relativamente de baixo nível que lida com endereços de memória, proporcionando melhor 102 desempenho a uma aplicação, devido possuir uma maior possibilidade de manipulação de memória. 4. Estudo de Caso e Resultados Obtidos Utilizou-se uma função para a minimização presente na obra de Lucas et al. (2007). A função 𝑓 = 𝑥. 𝑠𝑒𝑛(4𝑥) + 1,1𝑦. 𝑠𝑒𝑛(2𝑦) , como vista na Figura 5, possui espaço de busca no intervalo entre [0,10] para as variáveis x e y. A função possui o mínimo global de valor -18,554721 nos valores de 9,038992 para x e 8,668189 para y. Figura 5. Gráfico da função de minimização 𝒇 = 𝒙 . 𝒔𝒆𝒏(𝟒𝒙) + 𝟏, 𝟏𝒚 . 𝒔𝒆𝒏(𝟐𝒚) Para estes testes, adotou-se como parâmetros, uma população de 100 países com 8 impérios, respeitando a porcentagem de 5% a 10% da porcentagem de países que podem ser império. Um limite de 100 gerações e os valores de 2 para β; π/4 rad para γ; e 0.1 para o coeficiente . Figura 6. Gráfico de testes relacionados à função de minimização A Figura 6 representa o gráfico da função de minimização que considera a relação geração por custo. Como valores avaliados, foram utilizados os valores do custo mínimo do país imperialista de melhor custo, no gráfico, sendo denominado “custo mínimo”, e a 103 média do custo de todos os países imperialistas, chamado de “custo médio”. O valor inicial para o melhor custo é de aproximadamente -14,5 , no qual representa um valor de ótimo local satisfatório, pois se encontra perto do valor de ótimo global, representado pelo número -18,554721, também vale ressaltar que, para a média dos valores de cada imperialista, o ótimo global é alcançado entre a iteração de número 70 e 80, isto se deve ao fato de que para aumentar o grau de variabilidade, é necessário um maior grau de exploração, fazendo que alguns países imperialistas tenham um valor distante do ótimo global, resultando em uma convergência tardia. 5. Considerações Finais Este trabalho foi fundamentado na obra de Lucas et al. (2007) e foi desenvolvido uma nova versão para o ICA, empregando a linguagem C como outra plataforma de implementação. Como contribuição, foram realizadas melhorias em relação à questão de otimização do código escrito em Java por Roche (2010) e também ao código escrito no paradigma MATLAB por Lucas et al (2007), isto é, corrigindo o mecanismo de geração de colônias, e melhorando os mecanismos lógicos através da simplificação dos processos de iteração, realizado na etapa de geração de países, e, também, no procedimento de distribuição de colônias para impérios, que antes era realizado em duplicidade ou triplicidade, acarretando no retardo do tempo de execução da aplicação. Frisa-se que tais contribuições não alteraram a fundamentação do ICA original, pois foram obtidos resultados bem similares em relação a obtenção do ótimo global da função. Ressalva-se ainda que, para equiparar-se a superioridade do gerador de números aleatórios presente no MATLAB, evitou-se utilizar o gerador nativo proveniente da linguagem C, preferindo-se, então, a utilização do mesmo gerador que o MATLAB utiliza. Trata-se de um gerador de números randômicos otimizado, criado por Matsumoto e Nishimura (1998), chamado de Mersenne Twister, no qual consiste em operações de permutação em uma matriz de 623 dimensões a fim de se gerar um número randômico real entre um determinado intervalo. Tal técnica de randomização se provou superior na sua aleatoriedade, e é utilizada em conjunto com várias outras linguagens de programação. A escolha pela linguagem C se deu a partir do fator corroborado por Pereira (2011) apud Araújo et al. (2006), uma vez que foi atestado que esta linguagem é classificada como a melhor linguagem de programação com suporte à programação paralela, conferindo um melhor desempenho em relação à outras linguagens, como, por exemplo, Java, haja vista que como proposta futura, visa-se integrar o paradigma da paralelização ao algoritmo ICA. Também é proposta futura realizar uma análise comparativa entre as diferentes versões escritas do ICA na forma paralela, analisando os aspectos do tempo de execução e do processamento. Referências Aarts, E.H.L., Korst, J. (1989) “Simulated Annealing and Boltzmann Machines: A Stochasti cApproach to Combinatorial Optimization and Neural Computing”. Wiley, Chichester. Araújo, J. S.; Sousa Sobrinho C. L. S.; Oliveira R. M. S.; Frances C.R. L. (2009) “Estudo Comparativo de Códigos Paralelos em Fortran, C e Java na Análise de uma Antena 104 Monopolo Utilizando Técnica Numérica FDTD”, Revista Principia, vol. 1, N. 13, pp. 39-44. Atashpaz-Gargari E., Lucas C. (2007) "Imperialist Competitive Algorithm: An Algorithm for Optimization Inspired by Imperialistic Competition" 2007 IEEE Congress on Evolutionary Computation (CEC). Bernerti, S.; Shahbazian, M. (2011) “An Imperialist Competitive Algorithm – Artificial Neural Network Method to Predict Oil Flow Rate of the Wells”, International Journal of Computer Application, Volume 26, Number 10, 975 – 8887. Binitha, S.; Siva Sathya, S. (2012) “A Survey of Bio inspired Optimization Algorithms”, International Journal of Soft Computing and Engineering (IJSCE), ISSN: 2231-2307, Volume-2, Issue-2, Duan H.; Xu, C; Liu, S.; Shao, S. (2010) “Template matching using chaotic imperialist competitive algorithm”, Pattern Recognition Letters 31, pages 1868-1875. Gendreau, M.; Potvin, J. (2010) “Handbook of Metaheuristics” 146. Springer, 2nd ed, XX, 648 p. Vol. 146, ISBN 978-1-4419-1665-5. Holland, J.H. (1992) (1975) “Adaptation in Natural and Artificial Systems”. University of Michigan Press,Ann Arbor, Michigan; re-issued by MIT Press. Imperialist Competitive Algorithm (2013) “A java Implementation of the Imperialist Competitive Algorithm”, disponivel em “http://en.icasite.info/”. Acesso em 29 de agosto de 2013. Kaveh, A.; Talatahari, S. (2010) “Imperialist Competitive Algorithm for Engineering design problems”, Asian Journal of Civil Engineering (Building and Housing), Volume II, number 6., pages 675-697. Kennedy, J.; Eberhart, R. (1995) “Particle Swarm Optimization”. Proceedings of IEEE International Conference on Neural Networks IV. pp. 1942–1948. Kernighan, Brian W.; Ritchie, Dennis M. (1978) “The C Programming Language”. Upper Saddle River, New Jersey: Prentice hall. 228 p. ISBN 0-13-110163-3 Pereira, R. L. (2011) “Desenvolvimento de uma Biblioteca Eficiente Baseada em Sockets para Clusters e Cálculo de tensões Induzidas em Linhas de Transmissão com Catenárias” – 70 f. – Curso de Mestrado em engenharia Elétrica, Centro tecnológico, Universidade Federal do Pará, Belém. Lucas, C.; Nasiri-Gheidari, Z.; Tootoonchian, F. (2010) “Application of an imperisalist competitive algorithm to the design of a linear induction motor”, Energy Conversion and Management 51 1407- 1411. Matsumoto, M.; Nishimura, T. (1998). "Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator". ACM Transactions on Modeling and Computer Simulation 8 (1): 3–30. MathWorks (2013) “The Language of Technical Computing”, disponível em www.mathworks.com/products/matlab. Acesso em 29 de agosto de 2013. Nemati, K.; Shamsuddin, S.; Kamarposhti, M. (2011) “Using Imperial Competitive Algorithm for Solving Traveling Salesman Problem and Comparing the Efficiency of 105 the Proposed Algorithm with Methods in Use”. Australian Journal of Basic and Applied Sciences, 5(10): 540-543, 2011, ISSN 1991-8178. Oracle (2013) “Plataforma de Computação Java”, disponível em http://www.java.com/ pt_ BR/download/faq/ whatis_java.xml. Acesso em 29 de agosto de 2013. Schildt, H. (2006) “C: Completo e Total”, 3ª ed. São Paulo: Makron Books, 827 p. Stützle, T., Dorigo, M. (1999) “ACO algorithms for the traveling salesman problem,” In K. Miettinen, M.Makela, P. Neittaanmaki, J. Periaux, editors, Evolutionary Algorithms in Engineering and Computer Science,Wiley. Talatahari, S.; Kaveh, A.; Sheikholeslami, R. (2012) “Chaotic imperialist competitive algorithm for optimum design of truss structures”, Struct Multidisc Optim 46:355– 367. 106 Mapa do Crime de Belém do Pará: uma proposta para facilitar o acesso da população aos dados criminais em Belém do Pará Fernanda L. C. Santos1, Marcell A. A. Mesquita1, Nivio I. C. Imbiriba1, Alessandra N. A. Barreiros1 1 Departamento de Ciência da Computação – Centro Universitário do Estado do Pará (CESUPA) Caixa Postal 66060-230 – Belém – PA – Brasil {fernandac.santos93,almeidamarcell,alessandra.natasha}@gmail.com, [email protected] Resumo. Neste artigo será apresentada uma proposta de implantação de um mapa visual que disponibiliza informações criminais do município de Belém. As informações podem ser facilmente interpretadas se a interface com o usuário e os aspectos do crime forem disponibilizados de forma simples e intuitiva. O principal objetivo do presente trabalho é usar os dados baseados em eventos criminais para criar uma melhoria na classificação e agrupamento dessas informações, desenvolvendo um sistema que proporcione uma visualização eficaz e interativa de tais crimes, além de integra-los em uma solução robusta para avaliação de desempenho. O projeto servirá como um sistema de monitoramento que organiza os dados automaticamente, resgata e apresenta os crimes que ocorreram. Desta maneira será possível mapear a ocorrência da criminalidade na capital paraense, sendo útil tanto para a população que poderá evitar lugares perigosos como para a polícia que poderá usar a solução proposta de forma estratégica. 1. Introdução A Amazônia brasileira ocupa 4,2 milhões de quilômetros quadrados e se estende por nove estados, dentre eles o Pará que tem por capital Belém, também conhecida por Metrópole da Amazônia. Como toda cidade desenvolvida, Belém possui um elevado índice de criminalidade. A referida capital aparece como a décima cidade mais violenta do mundo, segundo uma pesquisa realizada pela organização não governamental mexicana Consejo Ciudadano para la Seguridad Publica y Justícia. Informações como estas não são expostas a população, as mesmas são usadas parcialmente pelos órgãos públicos e posteriormente viram uma quantidade de dados espúrios, os quais poderiam ser convertidos em referencias para os cidadãos. Disponibilizar tais informações poderia gerar aplicações para a sociedade como exemplo do projeto mapa do crime de Belém, assim como proporcionará um maior conhecimento a` população sobre a atuação dos órgãos públicos. A lei no. 12.527, de 18 de novembro de 2011, tem o propósito de regulamentar o direito constitucional de acesso dos cidadãos às informações públicas, tendo seus dispositivos aplicáveis aos três Poderes da União, Estados, Distrito Federal e Municípios. Nas premissas da lei, divulgar informações de interesse público, independente de solicitações, proporciona o desenvolvimento da cultura de transparência na administração pública, de modo que tais dados devem ser viabilizados por meios de comunicação da 107 Tecnologia da Informação (TI). Visando viabilizar o desenvolvimento do proposto trabalho, portanto, os referidos dados precisam ser fornecidos pelas polícias civil e militar que fazem parte do poder Executivo, portanto se enquadram na supracitada lei. Convencionalmente, a prefeitura de Belém juntamente com a polícia militar disponibilizam os dados de crimes e incidentes com uma periodicidade bem variada, e com informações difíceis de serem lidas através de um arquivo PDF não muito organizado, o que dificulta ainda mais o entendimento pela população sem a devida instrução. Este projeto propõe um mapa do crime que compartilhe as informações com a sociedade como um todo, de forma estruturada, visual e de fácil compreensão, uma vez que hoje estes dados já encontram-se disponíveis, entretanto, de uma maneira não apropriada. Com este mapa será possível que as pessoas observem quais quarteirões, ruas e até mesmo regiões são mais perigosas, ou suscetíveis a quais tipos de crimes. Tudo isso poderá ser filtrado de forma individual de acordo com a necessidade do usuário. O sistema proposto tem como objetivos primeiro aplicabilidade para o estado do Pará, podendo ser expandido para a região Norte e futuramente para o resto do Brasil dependendo da disponibilidade dos órgãos públicos com os seus dados. Do exposto, os objetivos específicos do presente projeto podem ser citados: i) facilitar o acesso da população aos dados criminais da sua cidade, bairro e rua; ii) disponibilizar à polícia um sistema que ofereça suporte a tomada de decisão por meio de informações consolidadas e relatórios baseados em informações visuais (mapa); iii) criar uma estimativa que mostre a tendências de tipos de crime de forma georeferenciada. Este artigo vai descrever o trabalho Mapa do Crime de Belém do Pará e as seguintes seções serão apresentadas: Na seção 2 serão exibidos alguns trabalhos relacionados, já na seção 3 será abordada a estrutura da aplicação, enquanto na seção 4 serão expostas as tecnologias usadas para o desenvolvimento da aplicação e por último, a seção 5 irá apresentar os trabalhos futuros do projeto, qual caminho deverá seguir e as considerações finais. 2. Trabalhos Relacionados Existem uma série de trabalhos relacionados nesta área, um deles é o Crimespotting, disponível para duas cidades nos Estados Unidos, Oakland e São Francisco (Figura 1). Também se trata de um mapa de monitoramento de crimes aberto para o público, contando com auxílio da polícia com todos os dados oficiais. Essa aplicação permite que o usuário busque por praticamente qualquer informação através da mineração de dados feito pela polícia local das duas cidades. 108 Figura 1. Mapa do site Crimespotting O Copenhagen Crime Map (Figura 2) é outro projeto semelhante ao Mapa do Crime de Belém, no qual possui dados oficiais da polícia atualizando as informações dos crimes na cidade de Copenhagen na Dinamarca. Porém, diferente dos trabalhos relacionados citados acima, o Copenhagen Crime Map não possui tantas informações e se limita a fornecer dados como roubo, furto, assalto e violência. No Brasil, esta proposta é inédita, ainda não tendo sido publicados trabalhos ou encontradas referências de aplicativos similares. Figura 2. Mapa do crime da cidade de Copenhagen 3. Sobre o Mapa do Crime Aplicações que disponibilizam dados públicos possuem um grande potencial e ainda são raras no contexto atual. O projeto tem por diferencial mostrar informações criminais de forma clara e sucinta, por meio de um mapa interativo será informado o local e o horário onde aconteceu o crime. Não são só os civis que poderão utilizar essa ferramenta, ela também servirá para um controle mais eficiente da polícia em cada bairro. 109 A ferramenta ainda é um protótipo que mostra no mapa de Belém os tipos de crimes (roubo simples, roubo com agravantes, furto, vandalismo, assassinatos, narcóticos, crimes contra a mulher, perturbação da paz, prostituição, roubo de carros, sequestro relâmpago e crimes infanto-juvenil), existe a opção do usuário selecionar o horário, mês ou as semanas em que deseja visualizar as informações ou até mesmo para troca de informações de cidade para cidade que antes teriam bastante dificuldade para acessar esses dados. Nesta fase do projeto os dados são inseridos de forma fictícia, futuramente após acordos realizados com a polícia militar e civil, o sistema será alimentado com dados oficiais. 3.1. Interface do Usuário A interface da aplicação é baseada na intuitividade e simplicidade, oferecendo ao cliente um rápido entendimento das informações disponibilizadas pelo site, outra importante característica da interface é a criação de várias abas capaz de filtrar diferentes informações, não permitindo assim a poluição do site. O usuário do Mapa do Crime de Belém não precisa ter muito conhecimento computacional, na aba principal da aplicação a pessoa terá acesso ao mapa da cidade de Belém com os tipos de crime ocorridos em cada região, por definição todos os crimes estarão expostos, entretanto a pessoa poderá selecionar apenas o(s) tipo(s) de crime(s) que deseja visualizar. Nesta mesma página encontra-se um dispositivo que determina o horário em que os crimes ocorreram, este atributo também pode ser alterado de acordo com a necessidade do usuário, outro atributo presente na página permite que o cliente selecione a data (mês/ano ou semanas) em que os crimes aconteceram, ainda nesta página abaixo do mapa encontra-se uma breve descrição do projeto. A segunda aba é exclusiva para o mapa e os atributos de data, hora e tipos de crime, eliminando a descrição e proporcionando ao usuário aproveitamento total da aplicação, a terceira aba é dedicada a uma descrição completa da aplicação na qual são fornecidas informações da equipe, o motivo para o desenvolvimento do projeto, e novas atualizações e recursos do sistema, a quarta e última aba é específica com os contatos da equipe para o cliente que achar conveniente enviar feedback, com sugestões para a melhoria da aplicação. 4. O Sistema O projeto será uma aplicação web, no presente momento o protótipo apresenta uma interface dinâmica com o usuário, proporcionando um fácil entendimento até mesmo para leigos em computação (Figura 3). Utilizando o sistema de geolocalização Google Maps para monitoramento das áreas da cidade. O sistema terá uma alta portabilidade rodando em todos dispositivos que suportarem HTML5. 110 Figura 3. Protótipo do projeto 4.1. Implementação O mapa do crime será desenvolvido na linguagem de programação para web HTML5, por proporcionar uma portabilidade mais flexível para vários dispositivos diferentes, torando o desenvolvimento de uma aplicação mais dinâmica, portável e poderosa. Todos os navegadores modernos e a maioria dos smartphones suportam a tecnologia, tornando a aplicação acessível em qualquer lugar. 4.2. Tecnologias Usadas Também será utilizada a tecnologia Jsoup, uma biblioteca Java para trabalhar com todas as variedades de HTML existentes, a API é favorável para a extração e manipulação dos dados fornecidos através de um formulário que conterá os campos: ID do crime, data, hora, bairro, rua. Estas informações serão enviadas para o banco de dados que alimentará a aplicação. O banco de dados utilizado para armazenar as informações fornecidas pela polícia será o PostgreSQL, um banco open source e objeto-relacional que está a mais de quinze anos ativo no mercado e se enquadra como um banco de dados da classe empresarial, o PostgreSQL possui uma tecnologia com recursos sofisticados de alta reputação e confiabilidade. Para a geolocalização será utilizada a API do Google Maps, um serviço gratuito que permite adicionar o Google Maps na aplicação, essa API permite inserir pontos no mapa com a latitude e longitude, traçar rotas, transformar endereços em coordenadas, além de fornecer coordenadas de latitude e longitude, e também é permitido a criação de mapas personalizados. 4.3. Características A aplicação Mapa do Crime de Belém, é inovadora pois foi desenvolvida para receber dados criminais oficiais das polícias militar e civil, gerando assim mais confiabilidade por parte dos usuários. Foi criada utilizando tecnologias para desenvolvimento de 111 sistemas web de respeito no mercado, mas que podem ser obtidas sem custo para o programador. O sistema é de utilidade pública, servindo tanto para a população, quanto para a própria polícia que poderá ter uma visualização mais clara dos seus dados. Proporcionando acesso rápido e claro dos dados criminais. Informa a porcentagem por área, divide os crimes por categorias, proporciona uma visão dos dados utilizando gráficos, dá a possibilidade do usuário poder escolher o período de horas e semanas ou meses que pretende visualizar as informações, assim como mostra no mapa os pontos onde ocorreram os crimes dividido por regiões. 5. Conclusão e trabalhos futuros A transparência de dados governamentais é uma tendência mundial, desde que sejam desenvolvidos com objetivo de manter a seriedade das informações e manter os mesmos atualizados em uma determinada periodicidade. Espera-se que este projeto possa abrir os olhos do governo e do público para a importância dos dados abertos. Apesar do projeto ainda estar em sua fase inicial, já é possível usar informações fictícias para a demonstração do mapa. O Mapa do Crime de Belém tende a evoluir bastante nos próximos meses, e além da sua evolução para na implementação da aplicação, também está sendo visado uma maneira de concentrar esforços junto as polícias responsáveis por tal informações com o objetivo de criar o mapa interativo com as informações oficiais. Referências Greenpeace (2013). O que fazemos com a Amazônia. http://www.greenpeace.org/brasil/pt/O-que-fazemos/Amazonia/ Disponível em: Seguridad, Justicia y Paz - Consejo Ciudadano para la Seguridad publica y Justicia penal A.C. (2013). San Pedro Sula otra vez la ciudad mas violenta del mundo; Acapulco, la segunda. Disponível em: http://www.seguridadjusticiaypaz.org.mx/sala-deprensa/759-san-pedro-sulaotra-vez-la-ciudad-mas-violenta-del-mundo-acapulco-lasegunda Lei No 12.527, de 18 de Novembro de 2011 (2013). Disponível http://www.planalto.gov.br/ccivil 03/ ato2011-2014/2011/lei/l12527.htm em: Oakland Crimespotting (2013). Disponível em: http://oakland.crimespotting.org/ San Francisco Crimespotting http://sanfrancisco.crimespotting.org/ (2013). Disponível em: M. H. Fredskild, P. Alsing & R. Wøhlk (2011) Copenhagen Crime Map, Ballerup, Dinamarca: Institut for Samfundsudvikling og Planlægning, [online] Disponível em: http://www.onlinegis.dk/documents/report.pdf (14 Janeiro 2011). Jsoup. (2013) Jsoup: Java HTML Parser. Dispon ́ıvel em: http://jsoup.org/. Postgre, S. Q. L. (2013). The World’s most advanced open source database. Disponível em: http://www.postgresql.org. API do Google Maps (2013). https://developers.google.com/maps/?hl=pt- br 112 Disponível em: Mecanismos de Sincronização em Banco de dados Utilizando Sync Framework Aplicado às Redes DTN Paulo Vitor Nascimento Lobato1, Mauro Margalho Coutinho1. Pós-Graduação Latu Sensu em Banco de Dados – Universidade da Amazônia (UNAMA) – Tv. Quintino Bocaiuva, 1808 – 66.035-190 Belém – PA – Brasil 1 {paulo.lobato3,mauro.margalho}@gmail.com Abstract. This paper describes about creating and testing a mechanism for synchronizing databases based on the Sync Framework for application in delay tolerant networks called Synchronization, and also expresses the concepts needed to understand how these technologies discussed can help in swap information in places geographically distant from large urban centers, where you can still find a precarious or absence of regular network of computers to Transferred information. Therefore the application shown in this paper aims to solve this problem addressed enabling the swap of data between these regions with a low technological infrastructure. Resumo. Este artigo descreve sobre a criação e apresenta testes de um mecanismo de sincronização de bases de dados baseado no Sync Framework para aplicação em redes tolerantes ao atraso e desconexões denominado Synchronization, e ainda expressa sobre os conceitos necessário para o entendimento de como essas tecnologias abordadas podem ajudar na troca de informação em lugares geograficamente distantes dos grandes centros urbanos, onde ainda é possível encontrar uma precária ou ausência de rede regular de transferência de informações. Com isso a aplicação exibida neste artigo pretende resolver essa problemática viabilizando a troca de dados entre essas regiões que possuem uma baixa infraestrutura tecnológica. 1. Introdução A internet comprovadamente é um dos principais meios de comunicação da atualidade, onde através do protocolo TCP/IP é possível acessar as informações, efetuar transferências de todo tipo de dados, interconectar dispositivos, entre outros. Embora essa arquitetura tenha um elevado sucesso mundialmente há determinados cenários que não propiciam a sua utilização, tonando a mesma inadequada para esses ambientes. Para suprir essa necessidade de comunicação e transferência de dados entre esses ambientes adversos que dificultam a interação na rede tais como redes interplanetárias, redes militares sem fio em campo de batalha, redes móveis terrestres e redes de sensores, foram criadas as redes tolerantes a atraso e desconexões as quais possuem características peculiares para suportar a comunicação em diversos tipos de ambiente os quais talvez a comunicação seria impossível se utilizássemos a internet. O desenvolvimento de aplicações para redes tolerantes ao atraso e desconexões não é uma tarefa fácil devido a existência desses cenários desconectados e com características pouco favoráveis à interatividade, no entanto esse tema atualmente tem despertado o interesse de muitos pesquisadores na área pois trata-se de algo promissor e com diversos aspectos desafiadores a serem estudados. 113 Atualmente também notamos que inúmeras técnicas para sincronização de dados estão sendo utilizadas entre bases de dados diferentes e dispositivos diferentes, com as mais variadas finalidades, seja para permitir uma simples sincronização de e-mail à uma necessidade de compartilhamento de dados comerciais entre filiais de uma corporação. A vantagem de se utilizar uma arquitetura de sincronização de dados em uma aplicação é o fato do usuário não mais ter a obrigatoriedade de possuir uma conexão de rede constante para acesso as informações desejadas, dessa forma surge a possibilidade das informações serem acessadas e armazenadas localmente, utilizando a sincronização dos dados sempre que a conexão com a rede for estabelecida com isso permitindo que as informações mantenha-se consistentes em cada réplica. Esse artigo tem como objetivo mostrar que a partir da união dessas duas tecnologias comentadas acima, foi desenvolvido um mecanismo de sincronização de dados que irá através de uma rede tolerante ao atraso e desconexões manter dados consistentes e viabilizará a troca de informações em locais onde ainda não é possível se ter sistemas conectados a um rede dedicada ou constante. Na sessão a seguir é expressado mais detalhes do projeto em questão. 2. O projeto O projeto através da rede DTN juntamente com uma técnica de sincronização de dados consiste em viabilizar a coleta automatizada de informações de postos de saúde, tais como exames, histórico de pacientes, cadastros, entre outras informações. A utilização da rede DTN foi definida pois esses postos de saúde não possuem nenhuma rede regular de acesso a informação, tal como a internet pois encontram-se em uma localização de difícil acesso, e logo, de baixa infraestrutura e sem um mínimo acesso a sistemas de informação, dessa forma através de redes tolerantes ao atraso é possível interligar essas regiões para que se permita a troca de informações desejadas devido as características particulares dessa rede. 3. Rede DTN Esse tipo de rede denominada Redes Tolerantes ao Atraso, ou Delay Tolerant Networks (DTN) foi criado devido a necessidade de se integrar redes de características distintas, pois tais redes não conseguirem se integrar de maneira trival devido cada rede ser projetada para atuar com eficiência máxima em um determinado ambiente e dessa forma possuindo características distintas, com isso se faz necessário a implementação de um agente que realize a comunicação entre as mesmas. Segundo Gustavo (2006) há um grupo de pesquisadores reunidos com objetivo de estudar e propor formas de construir e otimizar um agente que faça a intermediação entre diversas redes, esse grupo denomina-se DTNRG (Delay Tolerant Networking Research Group), esse grupo de pesquisa é aberto do IRTF (Internet Research Task Force), e patrocinado pelo IETF (Internet Engineering Task Force). Para Oliveira et al. (2007) a arquitetura da rede DTN contempla técnica de comutação de mensagens e o armazenamento persistente dos dados sendo definido uma sobrecamada (overlay) abaixo da camada de aplicação, denomina-se para essa nova camada de camada de agregação. O protocolo (protocolo de agregação) é executado em todos os nós da rede DTN, desde o início até o destino, dessa forma assemelhando-se a camada IP. 114 Ainda segundo Oliveira et al. (2007) as sub-redes denominadas redes regionais e a arquitetura em sobrecamadas permitem que a DTN torne-se completamente independente das diversas redes regionais, dessa forma possibilitando que as aplicações se comuniquem através de múltiplas regiões. A rede DTN garante interoperabilidade entre as redes regionais, agindo como um buffer para armazenar as diferentes latências entre as redes e possíveis faltas de conectividade. A Figura 1 ilustra as camadas abaixo da de agregação que são definidas de acordo com a conveniência do ambiente de comunicação de cada região, podendo ser específicas para cada região alcançada pela DTN. Figura 1. Arquitetura em duas camadas Para Gustavo (2006) o tipo mais fundamental de transmissão de mensagens em uma rede DTN é o envio de mensagem sem a necessidade de qualquer reconhecimento ou classe de serviço, a fonte simplesmente envia a sua mensagem para o próximo nó. Há também outros tipos de classes de serviços que são os seguintes: • Transferência em custódia, essa transferência é utilizada quando necessita-se de um alto grau de confiabilidade na transmissão de mensagem. O conceito por trás das transferências em custódia é delegar para o próximo nó a responsabilidade de retransmitir a mensagem até que está atinja o seu destino, o que pode ser considerado uma maneira, ainda que não muito boa segundo Gustavo (2006), de garantir confiabilidade. • Confirmação de recepção da mensagem, ocorre quando há confirmação para a fonte ou responsável pela retransmissão da mensagem, de que a mensagem foi recebida pela aplicação de destino. • Notificação de aceitação de custódia, ocorre quando há uma notificação para a fonte ou responsável pela retransmissão da mensagem, toda vez que um nó aceitar ser o novo custodiante de uma mensagem. • Notificação de encaminhamento, ocorre quando há notificação para a fonte ou responsável pela retransmissão da mensagem, toda vez que a mensagem for encaminhada. • Prioridade de entrega, possui as seguintes características: muito volume de dados (pouca prioridade), normal (média prioridade) e importantes (alta prioridade). • Autenticação, esse modelo indica o método de autenticação, se for especificado algum, este será utilizado para verificar a autenticidade da fonte e a integridade dos dados. 115 As principais características da rede DTN segundo Oliveira et al. (2007) são os atrasos longos ou variáveis, pois a rede DTN é passiva de atrasos de ordem de minutos, horas, e até mesmo dias. E também as frequentes desconexões, devido a mobilidade utilizada que provoca constantes mudanças na topologia de rede, seja por péssimas condições de comunicação, por economia de recursos como em sensores sem fio onde sensores dormem para poupar energia, ou mesmo por negação de serviço como o ato do inimigo sujar a frequência em operações militares. 4. Serviço de sincronização baseado no Sync Framework Sincronizar dados entres fontes de dados distintas sempre foi uma tarefa complexa para as aplicações que precisam implementar essa arquitetura, denominadas occasionally connected applications (OCA) ou aplicações ocasionalmente conectadas, essas permitem o trabalho desconectado de uma fonte de dados remota e ao passo que a conexão é restabelecida a sincronização é realizada automaticamente mantendo os dados consistentes entre as bases de dados distribuídas. Alonso et al. (2010) expressa que usualmente os serviços de sincronização são utilizados para informações pessoais, tais como agenda de contato, calendários, tarefas e memorando, no entanto, a sincronização de dados é importante não apenas para replicação de dados entre dispositivos, mas também em sistemas diferentes, pois diferentes aplicações podem necessitar de um mesmo tipo de informações, por exemplo, pode-se citar as ferramentas de gerenciamento de arquivos pessoais onde o usuário pode acessar, alterar, incluir e excluir seus arquivos pessoais utilizando um notebook como também um smartphone sem perder a consistência dos arquivos independente do dispositivo o qual está acessando o mesmo. Para cenários offline onde os dados do banco de dados central é armazenado localmente e cenários de colaboração que necessitam sincronizar dados periodicamente, segundo Microsoft existe o Sync Framework que pode ser utilizado em arquitetura de duas ou mais camadas permitindo a sincronização entre uma base de dados cliente SQL Server Compact ou algum outro banco de dados que suporte ADO.NET e uma outra fonte de dados destino qualquer, como um banco de dados relacional, uma base de dados XML ou um web service. O Serviço de sincronização para ADO.NET permite o controle de alterações de maneira incremental, com isso é replicado apenas os dados alterados em vez de replicar toda a cópia dos dados. O Microsoft Sync Framework opera a partir da criação de uma sessão de sincronização, onde essa sessão sincroniza dados através de um orquestrador ou agente de sincronização que se comunica com dois provedores de sincronização (um para armazenamento de dados cliente e outro para o servidor) com intuito de aplicar e recuperar alterações em cada base de dados. Cada provedor utiliza um adaptador para cada tabela a ser sincronizada com comandos SQL específicos para as mesmas. A Figura 2 a seguir exibe uma arquitetura de duas camadas. 116 Figura 2. Arquitetura em duas camadas As atribuição de cada componente do Sync Framework que pode ser observado na Figura 1 são as seguintes: • O agente de sincronização realiza a sincronização formando um loop em cada uma das tabela a serem sincronizadas, invoca o provedor de sincronização cliente para recuperar e aplicar as alterações no banco de dados cliente, também se comunica com o provedor de sincronização do servidor para recuperar e aplicar as alterações no banco de dados servidor. Esse agente ainda mantém as informações de sessão para a sincronização e fornece mensagens de erros, êxito e estatísticas para o aplicativo cliente. • O provedor de sincronização do cliente armazena as informações sobre as tabelas do banco de dados do cliente que estão habilitadas para a sincronização, recupera as alterações no banco de dados do cliente desde a última sincronização, aplica alterações incrementais no banco de dados cliente e detectar alterações conflitantes. • O provedor de sincronização do servidor armazena as informações sobre as tabelas no servidor que estão habilitadas para a sincronização, recupera as alterações ocorridas no banco de dados servidor desde a última sincronização, aplica alterações incrementais no banco de dados servidor e detectar alterações conflitantes. • Tabela de sincronização e grupo de sincronização, é definida uma tabela sincronização para cada tabela que é sincronizada, essa tabela armazena algumas configurações como por exemplo a direção da sincronização. • O adaptador de sincronização é definido para cada tabela sincronizada, ele fornece ao provedor de sincronização do servidor os comandos específicos para interagir com o banco de dados do servidor Para Microsoft a maior parte do trabalho de se implementar um sistema de sincronização de dados está no desenvolvimento de um provedor, pois o provedor mantém metadados e conhecimento para a réplica como também metadados para cada item a ser sincronizado. Outras atribuições de um provedor é o fato de transferir os dados de item reais de e para o repositório de dados e também usa componentes na estrutura de sincronização que ajudam a indexar as alterações quando o provedor está desempenhado o papel de cliente, bem como detecta conflitos e executa as alterações quando trabalha como servidor. 117 O Sync Framework segundo a Microsoft utiliza um modelo hub e spoke para a sincronização de cliente e servidor, onde a sincronização inicia-se sempre pelo lado cliente. A alterações de cada cliente são sincronizadas com o servidor antes que essas alterações sejam enviadas do servidor para outros clientes, nesse modelo os clientes não trocam alterações diretamente uns com os outros. Existe quatro modalidade de sincronização suportada pelo Sync Framework são elas: • Sincronização instantânea, esse formato é geralmente utilizado para atualizar os dados de referências, onde as alterações de dados do servidor são baixados para a base de dados cliente, atualizando todos os dados a cada vez que o cliente é sincronizado, sendo adequada esse tipo de sincronização quando não desejamos controlar alterações incrementais ou quando o servidor não pode realizá-las. • Sincronização somente para download, esse formato também é utilizado para atualização de dados de referências, porém esse tipo de sincronização baixa para o cliente somente as alterações incrementais ocorridas desde a última sincronização. • Sincronização somente para Upload, normalmente é utilizada para inserir dados, ou seja enviar dados do cliente para o servidor. As inserções e alterações em dados realizados no cliente são carregados para o servidor durante a sincronização. • Sincronização bidirecional geralmente é usada para dados, como as informações de contato do cliente, que podem ser atualizadas no cliente e servidor, as alterações conflitantes são controladas durante a sincronização. 5. Estudo de Caso Para a avaliação de desempenho do mecanismo de sincronização de banco de dados proposto nesse artigo o qual denominamos de Synchronization, foram utilizadas duas máquinas, uma desempenhando o papel de servidor e outra como cliente. A metodologia de aferição utilizada foi através da aplicação de sincronização desenvolvida, pois devido a mesma ser baseada no Sync Framework permitiu-se a coleta de dados estatísticos das sincronização realizadas através do log desenvolvido. Para simular a rede DTN no mecanismo de sincronização foram conectadas em rede as máquinas cliente e servidor utilizando a arquitetura ad hoc devido a mesma possuir algumas características semelhantes a rede DTN, e dessa forma presumisse que os resultados obtidos em um rede ad hoc também serão válidos em uma rede DTN. A seguir é mostrado como configurar o cliente e servidor para que os mesmos se conectem e troquem informações. 5.1. Configuração do Servidor e Cliente No servidor foi instalado primeiramente o SQL Server 2008 R2 versão Express, posteriormente a instalação desse SGBD (Sistema Gerenciado de Banco de Dados) para que esteja disponível o acesso a essa base de dados remotamente se faz necessário habilitar a opção de permitir conexão remota que está disponível na aba conexões, no menu propriedades do servidor no SQL Server, e também inserir no firewall do servidor uma regra que permita a conexão de um dispositivo externo com à máquina servidor pela porta 1433, a qual é a porta padrão de comunicação do SQL Server. 118 Já no cliente o software desenvolvido não se faz necessário instalá-lo, apenas é necessário executá-lo. O mesmo possui os arquivos descritos abaixo, os quais são extremamente importantes para o correto funcionamento da aplicação: • Synchronization.exe: Esse arquivo executa a aplicação. • CadastroDB.sdf: Esse arquivo é o banco de dados local da aplicação, o mesmo só irá ser criado após ser realizada a primeira sincronização da aplicação. O cadastroDB.sdf é uma instancia do SQL Server Compact Edtion, essa versão do SQL Server se caracteriza por ser embarcado e livre, e permite aos desenvolvedores a criação de aplicações Web, Desktop e móveis que podem ser executadas em todas as plataformas Windows. • Synchronization.exe.config: Nesse arquivo definimos os parâmetros de conexão da aplicação com a base de dados local e da aplicação com o bando de dados no servidor, na imagem abaixo podemos visualizar esse arquivo de configuração. Figura 3. Arquivo de Configuração das Conexões No arquivo de configurações exibido na imagem anterior os parâmetros que podem ser inseridos nas Strings de Conexão para que se possa obter sucesso nas conexões são: o endereço IP ou o nome do servidor que está instalado o banco de dados, o nome do banco de dados a ser acessado, e o usuário e senha de conexão. É importante destacar que adicionar esse tipo de informação de autenticação em um arquivo de configuração no cliente talvez não seja a melhor prática dependendo do tipo de aplicação. Após a configuração do servidor e cliente, ao executar a aplicação através do arquivo "Synchronization.exe" é possível testar as conexões entre a aplicação e os banco de dados com intuito de disponibilizar para o usuário uma ferramenta para identificar se as configurações foram realizadas corretamente, as imagens a seguir demonstram respectivamente os testes de conexão no servidor e cliente. 119 Figura 4. Teste de Conexão no Servidor Figura 5. Teste de conexão no cliente Para que o software seja executado sem erros, antes de sua execução deve-se instalar no cliente os seguintes componentes: • Microsoft Framework .NET 4.0 • Microsoft Sync Framework Services 1.0 • Microsoft Sync Framework Services 2.1 • Microsoft SQL Server Compact Edition 3.5 SP2 5.2. Cenário da Análise do Estudo de Caso Para a análise do estudo de caso foi utilizado como servidor um notebook com a seguinte configuração: • Processador: Core i7 - 36100M - 2,3 GHz 120 • Memória: 8 Gb • Sistema Operacional: Windows 7 Professional • Banco de dados: SQL Server 2008 R2 Express Como cliente foi utilizado um notebook com a seguinte configuração: • Processador: Core i5 - 3210M - 2,5 GHz • Memória: 6 Gb • Sistema Operacional: Windows 8 Pro • Banco de dados: SQL Server Compact Edition 3.5 SP2 O seguinte cenário foi montado no banco de dados do servidor para que seja analisada a funcionalidade de sincronização após submeter o servidor a uma carga de dados. Foram criadas quatro tabelas (UF, CIDADES, BAIRROS, LOGRADOUROS) para a realização da sincronização, essas tabela representam um cenário de cadastro de endereços comumente utilizado em formulários de cadastros de uma determinada aplicação. A imagem a seguir exibe o diagrama das tabelas bem como o seus relacionamentos e atributos. Figura 6. Diagrama A imagem a seguir exibe de maneira global a arquitetura da rede utilizada no experimento, onde o cliente se conecta ao servidor através de uma rede ad hoc e a partir disso iniciam a troca de informações entre as bases de dados por intermédio da aplicação de sincronização implementada. 121 Figura 7. Cenário Teste Cliente/Servidor Para que a conexão entre computadores em uma rede ad hoc ocorra com sucesso é necessário que os dispositivos envolvidos estejam com seus IPs e máscaras de rede configurados regularmente e ainda que a propriedade de descoberta de rede no perfil de compartilhamento de rede do sistema operacional Windows nessas máquinas estejam habilitadas, as figuras 8 e 9 a seguir exibem as configurações de rede realizadas no experimento. Figura 8. Configuração do Servidor 122 Figura 9. Configuração do Cliente 5.3. Parametrização da avaliação A primeira sincronização realizada no experimento consistiu em carregar no banco de dados cliente toda a estrutura de objetos que foram implementadas no servidor, pois sempre na primeira sincronização da aplicação a base de dados cliente é criada, e também foi carregado os dados das tabelas UF, CIDADES, BAIRROS pois eram as únicas que estavam populadas no servidor, dessa forma foram sincronizados 48857 registros em seis segundos conforme pode ser observado na imagem a seguir. Figura 10. Carga 1 Para a segunda carga de dados foram adicionados na base de dados do servidor os registros da tabela LOGRADOUROS, para posteriormente ser realizada a sincronização entre as bases de dados. Nessa sincronização foram transferidos 709440 registros, em um 123 tempo de duração da operação de um minuto e trinta e um segundos conforme pode ser observado na Figura 11. Figura 11. Carga 2 Para o último teste foi excluído o banco de dados do cliente para que possa ser analisado o tempo de duração da operação ao se criar a estrutura do banco de dados, juntamente com inserção de todos os registros das quatro tabelas existente no banco de dados servidor, as quais possuem o total de 758297 registros conforme tabela a seguir. Tabela 1. Quantidade de Registros Por Tabela TABELA Qtde de Registros UF 27 CIDADES 10053 BAIRROS 38777 LOGRADOUROS 709440 TOTAL 758297 O resultado obtido na última carga foi de um minuto e trinta e quatro segundos no tempo de operação de sincronização dos 758297 registros conforme exibido na imagem a seguir. 124 Figura 12. Carga 3 6. Conclusão Observou-se nos testes realizados uma tempo satisfatório na transferência de dados, onde mesmo depois de se inserir uma carga considerada elevada de dados esse tempo não tornou a aplicação impraticável. O gráfico a seguir exibe resumidamente os resultados obtidos nos testes. Figura 13. Resultado das Cargas Realizadas Dessa forma, podemos verificar através dos testes exibidos e conceitos expostos nesse artigo, a viabilidade de se utilizar o mecanismo de sincronização de banco de dados proposto para rede DTN, não só apenas para coleta de informações de postos de saúdes que estão em regiões com baixo nível de infraestrutura conforme sugerido neste artigo, e sim também para aplicações diversas que possuem a necessidade de sincronizar dados entre fontes de dados distintas. Referências 125 ALONSO, Alison L. B.; OLIVEIRA, Cristiano; FELDATO, Leonardo; BOAS, Fulvio V.; ASSIS, Tiago L. G. de; HARA, Carmem S. Uma Experiência de Sincronização de Bases de Dados Relacionais Utilizando SyncML, 2010. Disponível em < http://www.inf.ufpr.br/carmem/pub/erbd2010-syncml.pdf > Acessado em: 25 jul. 2013. COUTINHO, Gustavo Lacerda. Delay Tolerant Network (DTN), 2006. Disponível em < http://www.gta.ufrj.br/grad/06_2/gustavo/inicial.htm > Acessado em: 06 ago. 2013. FELIPPETTO, Carneiro Eduardo. Software para Sincronização de Estruturas de Banco de dados. Faculdade de Informática - Centro Universitário Ritter, p. 17, 2010. Porto Alegre. Disponível em < http://www.uniritter.edu.br/graduacao/informatica/sistemas/downloads/tcc2k10/TCC %20II_EduardoFelippetto_2010_1.pdf > Acessado em: 07 jul. 2013. KUROSE, James F.; Ross, Keith W. Redes de Computadores e a Internet - Uma Abordagem Top-down. 5a Edição. / Pearson Education – Br, 2010 MICROSOFT. Arquitetura e classes para sincronização de banco de dados. Disponível em < http://msdn.microsoft.com/pt-br/library/bb902829.aspx >. Acessado em: 20 jul. 2013. MICROSOFT. Conceitos Básicos Sobre Sincronização de Dados. Disponível em < http://msdn.microsoft.com/pt-br/library/bb902844.aspx >. Acessado em: 25 jun. 2013. MICROSOFT. Arquitetura e Classes para Sincronização entre Cliente e Servidor. Disponível em < http://msdn.microsoft.com/pt-br/library/bb726025.aspx >. Acessado em: 1 jul. 2013. OLIVEIRA, Carina T. de; MOREIRA, Marcelo D. D.; RUBINSTEIN, Marcelo G.; COSTA, Luís Henrique M. K.; DUARTE, Otto Carlos M. B. Redes Tolerantes a Atrasos e Desconexões, 2007. Disponível em < http://www.gta.ufrj.br/ftp/gta/TechReports/OlDu07.pdf > Acessado em: 06 Ago. 2013. TANENBAUM, Andrews. Redes de computadores. 4a Edição. Rio de Janeiro Campus, 2003 126 O Lúdico no Ensino de Lógica na Educação Básica Lílian Lúcia B. Monteiro1, Marco Antônio M. das Chagas1, Odete da C. Ferreira1, Marialda M. de Melo1, Fabiano Leandro C. de Melo1, Mário Rômulo C. Costa1, Decíola F. de Sousa1 1 Universidade Federal Rural da Amazônia (UFRA) – Av. Presidente Tancredo Neves, Nº 2501 Montese Cep: 66.077-901 Belém – Pará – Brasil {lilianbraga28,cmarcoantonio37,odeteferreira75}@gmail.com, [email protected], {flcmelo,romulotnp}@yahoo.com.br, [email protected] Abstract. This paper aims to present and analyze the playful design through logic as a facilitator of learning in the classroom. You can show how much "play" can be an indispensable tool in learning and development in students' lives, making clear that teachers have working knowledge of the concept of logic and its importance in the teaching-learning process. The project contributes to the moral, intellectual and social development of students, there are activities that allow students to read and learn to think, developing and expanding, thus the ability of logical thinking in an interdisciplinary way. Resumo. O artigo tem como objetivo apresentar e analisar o projeto lúdico através da lógica como um processo facilitador da aprendizagem na sala de aula. Mostra que o “lúdico” pode ser um instrumento indispensável na aprendizagem e no desenvolvimento na vida dos alunos, tornando evidente que os professores atuantes tenham conhecimentos do conceito, sobre lógica e sua importância no processo ensino-aprendizagem. O projeto contribui para o desenvolvimento moral, intelectual e social dos alunos através de atividades que permitem aos alunos ler e aprender a pensar, desenvolvendo e ampliando, assim, a habilidade de raciocínio lógico de forma interdisciplinar. 1. Introdução Ao longo do tempo surgiram muitas teorias sobre aprendizagem que diferem umas das outras, mas em qualquer modelo, a aprendizagem só pode ser avaliada em termos do que se manifesta externamente. Esta visão clássica da aprendizagem, conhecida por muitos professores, sobrevive na noção que a aprendizagem provoca uma mudança de comportamento. A aprendizagem pode ser julgada a partir daquilo que vemos mudar. A mudança pode ser manifestada, como algum tipo de resposta física, ou pode ser uma mudança de atitude. Todos nós aprendemos o tempo todo. Uma grande força do brincar: o indivíduo quer adulto quer crianças podem brincar aproveitando dessa experiência toda a aprendizagem para qual eles estão prontos naquele momento. Segundo Vygostsky, as maiores aquisições de uma criança são conseguidas no brinquedo, aquisições que no futuro tornar-se-ão seu nível básico de ação real e moralidade [Vygotsky 1989]. A lógica nos leva a pensar corretamente para que possamos alcançar o conhecimento verdadeiro. O estudo da lógica é o estudo dos métodos e princípios para usados para distinguir o raciocínio correto do incorreto. A lógica fundamenta o raciocínio e as ações, pois o pensamento lógico geralmente é criativo e inovador. A cabeça humana é uma máquina notável que não pode e nem deve ser robotizada. O raciocínio lógico 127 lubrifica e torna mais produtivo o pensar em direção ao porvir. É do hábito da reflexão que brota o aprender. É inegável a importância da formação docente para que haja uma melhora efetiva na educação brasileira, em todos os níveis. No cotidiano esta afirmativa se torna mais intensas ao observarmos os meios de comunicações e os comentários além dos muros das academias. A importância da qualidade educacional está no centro das condições para que o país se torne mais justo em suas ofertas educacionais, profissionais e de acesso aos bens e serviços, em especial os da educação. Zabala ressalta que a busca pela competência no que realizamos é uma característica fundamental em qualquer profissão, através das nossas próprias práxis. Acredita-se que neste contexto, é de extrema importância que os professores sejam dotados de flexibilidade na arte de educar [Zabala 1998]. Buscar diferentes possibilidades de conexões entre os saberes construídos na universidade e os saberes emergentes das práticas pedagógicas no cotidiano da escola de educação básica, consiste num desafio diante da complexidade dos olhares sobre a teoria e a prática, uma vez que as dificuldades a serem vencidas a cada ação realizada foi uma das nossas metas e que o projeto está contribuindo significativamente com a formação inicial dos acadêmicos do curso de Licenciatura em Computação, bem como dando suporte para a aquisição de experiência na arte de educar. Portanto, para os acadêmicos bolsistas, colocar em prática as experiências agregadas aos conhecimentos adquiridos na Universidade e interagir tudo o que se aprende na teoria, a prática na sala de aula do Ensino Básico da Escola Pública é fundamental para a vida docente. O objetivo do artigo é apresentar o projeto aprender brincando: O lúdico através da lógica na aprendizagem como uma proposta pedagógica que contribui para o desenvolvimento dos alunos de forma interdisciplinar, visando à prática de mudanças no sistema de ensino. O artigo está estruturado da seguinte maneira na seção 2 é apresentada conceitos relacionados a aprender através do lúdico, na seção 3 o método aplicado, os resultados e as discussões são apresentados na seção 4 e a seção 5 apresenta as considerações finais e sugere trabalhos futuros. 2. Aprender através do lúdico Com o advento da tecnologia o computador também se tornou uma ferramenta divertida de aprender, ou seja, através dos jogos eletrônicos. Cada vez mais, o acesso e o domínio das novas tecnologias de informação e comunicação constituem uma condição do desenvolvimento pessoal e profissional do cidadão e já se pode constatar o distanciamento entre os que conhecem e o que desconhecem a linguagem dos computadores, as possibilidades abertas pelo uso do computador suscitarão um aprendizado significativo para todos os alunos. Considerando a relação sujeito-meio durante o processo de aprendizagem em ambiente computacional, vale ressaltar que o uso da informática pode promover pequenos e incessantes saltos qualitativos no desenvolvimento do pensamento humano, que em inúmeras situações exigem o emprego de raciocínio abstrato e inferências lógicas de maneira mais rápida e eficaz do que outros ambientes de aprendizagem. 128 Papert explica que a partir destes "pequenos saltos" de pensamento que a informática pode promover, um sujeito que ainda esteja no período pré-operatório de inteligência, pode "saltar" para o período de pensamento formal, sem ter que passar pela etapa de operações concretas. Papert alerta também, que estes sinais de transformação da inteligência humana já começaram a ocorrer. Desde as primeiras gerações que utilizaram o vídeo game de maneira cotidiana já havia transformações significativas. O modo de pensar e agir destas pessoas sobre o mundo concreto já estava diferenciado das gerações anteriores. De maneira geral, Papert defende que nos próximos anos estaremos diante de um novo tipo de inteligência humana: uma inteligência que abstrai mais durante o uso de informática, e, portanto necessita operar menos concretamente para alcançar um raciocínio formal. [Papert 1985]. O jogo não é simplesmente um “passatempo” para distrair os alunos, ao contrário, corresponde a uma profunda exigência do organismo e ocupa lugar de extraordinária importância na educação escolar. Através do jogo o indivíduo pode brincar naturalmente, testar hipóteses, explorar toda sua espontaneidade criativa. O jogo é essencial para que a criança manifeste sua criatividade, utilizando suas potencialidades de maneira integral. E somente sendo criativo que a criança descobre seu próprio eu [Tezani 2004]. É evidente a importância do lúdico e como ele, os jogos, os brinquedos e as brincadeiras podem ser importantes para o desenvolvimento e para a aprendizagem das crianças. É importante ressaltar que ele não está apenas no ato de brincar, está também no ato de ler, no apropriar-se da literatura como forma natural de descobrimento e compreensão do mundo. Atividades de expressão lúdico-criativas que atraem a atenção dos educando e podem se constituir em um mecanismo de potencialização da aprendizagem. O lúdico em situações educacionais proporciona um meio real de aprendizagem. No contexto escolar, isso significa professores capazes de compreender onde os alunos estão em sua aprendizagem e desenvolvimento e dá aos professores o ponto de partida para promover novas aprendizagens nos domínio cognitivo e afetivo. Tem-se comprovado através de leituras e também através de experiências reais que o lúdico é bem mais abrangente do que somente a ligação que muitos fazem, ligando-o ao lazer. A dificuldade de levar o lúdico para a sala de aula pode estar relacionado ao fato de que durante muito tempo coube aos alunos à tarefa de ficar sentados em suas carteiras, obedientes, silenciosos e passivos. É preciso haver uma conscientização de mudanças, pois é de entendimento que a escola tem como grande desafio fazer seu PPP (Proposta Política Pedagógica) e que a maioria das escolas ainda não contempla tão rica ferramenta de aprendizagem, ou seja, desconhece ou ignora o processo significativo de aprendizagem que faz uso da ludicidade. Entendemos que a escola pode promover o lúdico de maneira pedagógica e direcionada. A realização das atividades depende muito da metodologia do professor e, é claro, de como ele pode conduzi-las nas suas aulas, nesse sentido o lúdico contribui de forma significativa para o desenvolvimento do ser humano, seja ele de qualquer idade auxiliando não só na aprendizagem, mas também no desenvolvimento social, pessoal e cultural, facilitando a comunicação, a expressão e a construção do pensamento. Vale ressaltar, porém, que o lúdico não é a única alternativa para a melhoria no intercâmbio ensino-aprendizagem, mas é uma ponte que auxilia na melhoria dos resultados por parte dos educadores interessados em promover mudanças. 129 Nesse sentindo percebe-se que, hoje, o lúdico está cada vez mais presente no cotidiano das pessoas e principalmente no contexto escolar, sendo atividades interessantes, e motivadoras que facilitam o processo de aprendizagem dos educandos. Dessa forma as atividades realizadas no projeto “Aprender Brincando: o lúdico através da lógica na aprendizagem” foi de grande importância, pois os resultados foram riquíssimos para os alunos nos quais seus desempenhos foram positivos, principalmente na área da Matemática, Arte, História, Português, e Informática. A inserção dos graduando em licenciatura em computação nas escolas faz com que conheçamos as referidas estruturas escolares, seus profissionais, bem como o perfil dos educandos e futuros formadores de opinião. Conforme Veiga cada um deverá retirar dessa formação o que for melhor para si e o mais apropriado, tendo assim também maior possibilidade de adaptação e reflexão, maior poder de decisão social e melhor qualidade de vida [Veiga 2000]. 3. Método O método utilizado para a realização do projeto foi o de aulas presenciais para os alunos de quatro turmas do 8º ano de uma escola pública do município de Marapanim no Pará, sendo duas pela parte da manhã e duas pela parte da tarde, no total de 112 alunos. Através de oficinas práticas e exercícios, no horário de aula cedido pelos professores da turma, durante 10 aulas, trabalhando questões de raciocínio lógico abordando diversas disciplinas do cotidiano escolar dos educandos, dando com isso enfoque na interdisciplinaridade. Foram selecionados alguns exercícios de níveis fácil, médio e difícil, que despertassem a curiosidade e proporcionassem a interação entre os alunos e a discussão acerca dos resultados. Durante duas horas de aula que ocorreram em cinco dias foram aplicados entre quatro e cinco exercícios por dia, no total de dezessete Primeiro era realizada a leitura dos enunciados e interpretação dos exercícios e depois, iniciava-se, o processo de busca da solução, realizando várias leituras para que o aluno pudesse chegar a soluções mais adequadas. Em todas as aulas, os alunos foram desafiados a resolver os problemas de forma espontânea e desinteressada, ou seja, sem que houvesse uma recompensa material para os melhores, tornando a aula um momento de descontração e prazer. Usando essa metodologia na resolução de exercícios de raciocínio lógico, todos os envolvidos podiam estruturar e dar ordem ao pensamento, para conseguir atingir um nível de abstração mais elevado. Foram desenvolvidos vários exercícios lógicos, entre eles os montados com palitos de fósforos e picolé. “Brincando com os palitos” que é uma proposta de atividade voltada para alunos do 5º à 9º ano do Ensino Fundamental e alunos do Ensino Médio, tem o objetivo de proporcionar aos alunos o interesse pelo o estudo da matemática, assim como pelas outras disciplinas afins, tornando as aulas mais proveitosas, tanto para os alunos como para os professores. Na Figura 1 é apresentada a atividade desenvolvida para construir figuras geométricas. 130 Figura 1. Figuras geométricas com palitos A atividade desenvolvida na Figura 1 utilizou palitos de picolé para construção de figuras geométricas, na qual os alunos tiveram que mover três palitos para obter três triângulos. Outra atividade com palito é apresentada na Figura 2. Figura 2. Atividade com palitos de fósforo Na atividade da Figura 2 o aluno é questionado de quantos palitos de fósforos são necessários mover para obter a segunda casa a partir da primeira. São colocadas as alternativas (a, b, c, d, e) nas quais cada uma possui uma resposta, respectivamente, por exemplo, 1, 2, 3, 4 e 5, mas apenas uma é a correta. Atividades utilizando o baralho como suporte didático também foram desenvolvidas conforme Figura 3. 131 Figura 3. Cartas de baralho No jogo da Figura 3, as cartas de um baralho foram agrupadas em pares, segundo uma relação lógica. O aluno precisava descobrir, qual é a carta que estava faltando, sabendo que K vale 13, Q vale 12, J vale 11 e A vale 1. Outra atividade desenvolvida foi a do jogo quadrado mágico apresentada na Figura 4. Figura 4. Quadrado mágico Na atividade do quadrado mágico o educando precisa distribuir os numerais 1, 2, 3, 4, 5, 6,7, 8 e 9, sem que os mesmos sobrem ou se repitam, sendo que o resultado da soma dos numerais será = 15, esse resultado dará na horizontal, vertical e diagonal. As atividades foram desenvolvidas em grupos e com a participação de todos, inclusive de professores que ministram na turma e cederam o horário para a realização da oficina. 4. Resultados e discussões Nas atividades desenvolvidas pelos alunos, descritas na seção 2, os alunos interagiram, analisaram e desenvolveram o raciocínio lógico, pois todas requerem muita atenção e paciência dos alunos envolvidos. As atividades estimularam os alunos a desenvolverem cálculos mentais, e estimularam o raciocínio, possibilitando ao aluno uma compreensão de cálculos matemáticos do seu cotidiano. Isso tudo é possível, através das aquisições de novas abordagens metodológicas, bem como práticas inovadoras e interdisciplinares, buscando a superação de problemas identificados no processo de ensino e aprendizagem. Em outros momentos, o aluno resolvia exercícios no quadro-verde com o auxílio do professor-bolsista. E nisso, o aluno construía e usava o raciocínio lógico sem perceber. 132 Mas, o importante é que ele foi conduzido a conhecer algo abstrato e concretizá-lo no mundo real. Os professores da Escola que ministravam aula no horário para a turma participavam das atividades fazendo os exercícios. Isso mostra que os exercícios que estavam sendo propostos atraiam a atenção tanto dos alunos quanto do professor. Assim, todas as atividades resolvidas em sala de aula foram interativas. Alunos e professores participaram ativamente, principalmente os alunos os que se comunicavam em grupos para as resoluções dos problemas propostos, inclusive alunos de dependência que não faziam parte da turma, mas participavam ativamente da oficina. Em contrapartida, nós, professores bolsistas buscávamos motivar a participação de todos para o que tange ao trabalho que estava sendo construído. As atividades desenvolvidas em uma escola pública foram importantes no processo de ensino aprendizagem dos alunos do ensino básico, pois são exercícios de raciocínio lógico que permitiram aos alunos o interesse pelas aulas, nas experiências vivenciadas eles aprenderam a pensar e refletir a cerca de cada exercício, analisando o que cada um determinava, gerando ideias para possíveis soluções, desenvolvendo assim as habilidades de raciocínio lógico. Na atualidade, cada vez mais, é exigido do ser humano o desenvolvimento social, político, cultural e educacional. Ao considerar a importância de aperfeiçoar o desenvolvimento educacional, é fundamental investir na formação do educador e repensar as condições de trabalho, bem como investir na infraestrutura das escolas, apesar das diferenças que perpassam o trabalho no cotidiano escolar. A interdisciplinaridade é uma temática que vem marcando presença na educação, construindo pressupostos diretamente relacionados a um contexto mais amplo, muito complexo de mudanças que abrange não só a área da educação, porém a outros setores da vida social como econômico, político e tecnológico. Pedro Demo ajuda a pensar sobre a importância da interdisciplinaridade no processo de ensino e aprendizagem quando propõe que a pesquisa seja um principio educativo e cientifico. Para ele disseminar informação, conhecimento e patrimônio culturais é tarefa fundamental, mas nunca apenas os transmitimos. Na verdade, reconstruímos. Por isso mesmo, a aprendizagem é sempre um fenômeno reconstrutivo e político. Nunca apenas reprodutivo [Demo 2001]. A inserção dos graduando em licenciatura nas escolas faz com se conheça as escolares, os profissionais, bem como o perfil dos alunos e futuros formadores de opinião. Conforme Veiga cada um deverá retirar dessa formação o que for melhor para si e o mais apropriado, tendo assim também maior possibilidade de adaptação e reflexão, maior poder de decisão social e melhor qualidade de vida [Veiga 2000]. O Programa Institucional de Bolsa de Iniciação à docência (PIBID), desenvolvido pela CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior) em parceria com a Universidade Federal Rural da Amazônia (UFRA), é um dos mecanismos que proporciona a possibilidade de antecipar o vínculo entre os futuros professores e a sala de aula da rede pública, através da participação em ações, experiências metodológicas e 133 práticas docentes inovadoras, articuladas com a realidade local da escola na qual o projeto é desenvolvido. Sendo assim, o PIBID faz uma articulação entre a Educação superior, a escola e os sistemas estaduais e municipais de Educação Básica. Torna o processo de ensino e aprendizagem mais dinâmico e atraente, contribuindo para a formação de forma integrada e autônoma. Freire (2002) coloca que quem ensina aprende ao ensinar e quem aprende ensina ao aprender. 5. Considerações Finais e Trabalhos futuros O artigo apresentou o projeto aprender brincando: O lúdico através da lógica na aprendizagem como uma proposta pedagógica. A experiência sugere mudanças no sistema de ensino e contribui para a inserção dos alunos no processo de atividades com jogos. Com a execução das tarefas propostas, os alunos são alertados que as atividades são de cunho pedagógico e que o principal objetivo é que os alunos participem com objetividade, se apropriando dos jogos para a inserção do ensino e aprendizagem. E não participem do jogo, sem objetivo definido. As realizações dos exercícios de raciocínio lógicos são importantes, pois permitem que o professor explore o potencial dos alunos, os processos de solução, os registros e as discussões sobre possíveis caminhos que poderão surgir. É preciso criar oportunidades para um aprendizado mais significativo para o aluno, para que o processo ensino-aprendizagem se efetive de modo satisfatório, pois o sucesso se constrói dia após dia. Os alunos participaram ativamente das atividades, elogiaram e pediram para continuar. Dessa forma, a experiência desenvolvida através do projeto mostrou que as brincadeiras e os jogos devem ser pensados e preparados para estimular os alunos a brincarem, convidando-os a explorar, a sentir e a experimentar na prática. Os exercícios ficaram marcados na lembrança dos alunos. Portanto, a realização do projeto foi de grande relevância tanto para os bolsistas, como para a educação do nosso Município, pois os objetivos almejados foram de fato concretizados, uma vez que nas atividades desenvolvidas a reciprocidade dos alunos foi percebida, demonstrando expectativas para as próximas atividades a serem executadas. Como trabalho futuro o projeto vai continuar com os mesmos alunos, agora no 9º ano, introduzindo o conceito de algoritmos fazendo uma relação com a lógica estudada. Agradecimento O presente trabalho foi realizado com apoio do Programa Institucional de Bolsa de Iniciação à Docência – PIBID, da CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil. Referências Demo, P. (2001). Educação e conhecimento – relação necessária, insuficiente e controversa. Petrópolis, Vozes. Freire, P. (2002) Pedagogia da autonomia: Rio de Janeiro: Paz e terra. Papert, S(1985). Logo: Computadores e educação; São Paulo, Brasiliense. 134 Tezani, Thaís Cristina Rodrigues. (2004). O jogo e os processos de aprendizagem e desenvolvimento: aspectos cognitivos e afetivos. Disponível em: http://www.psicopedagogia.com.br/artigos/artigos.asp?entrlD=621. Acesso no dia 16 de julho de 2013. Veiga, L. (2000). A Formação de Professores para o desenvolvimento no contexto de pós- modernidade. Revistos itinerários (pp. 13-26). Lisboa: Instituto Superior de Ciências educativas. Vygotsky, L. (1989). A formação social da mente. São Paulo: Martins Fontes. Zabala, A.(1998). A Prática Educativa: Como Ensinar. Trad. Ernani F da Rosa. Porto Alegre. ArtM. 135 Parque Zoobotânico Virtual, Um espaço de educação ambiental e cultural do Museu Paraense Emílio Goeldi através de Realidade Virtual Hardy J. S. Miranda1, Lucas A. Andrade1, Marcos Paulo Souza1 1 Centro Universitário do Estado do Pará (CESUPA) Belém – PA – Brasil [email protected], [email protected], [email protected] Abstract. The Emílio Goeldi Museum of Pará is considered to be one of the oldest institutes for research, and as part of his campi there is the Zoobotanical Park which consists in exposition of live fauna and flora in addition to scientific collections. This project objective is to break free from the static and limitation inherent to the physical space, and create a virtual reality ambient to act as a complementary tour through the Zoobotanical Park of the Museum, as the real tour is still unique experience. The virtual tour brings advanced animation elements to each species to portray theirs natural actions and reactions. Furthermore, uses tools to create an easy access web browsed 3D game for exploring the Museum’s Park on its own web portal. The project is a space of cultural-scientific disclosure and and an expansion of the presencial tour. Resumo. O Museu Paraense Emílio Goeldi é considerado um dos mais antigos institutos de pesquisa, e fazendo parte de seus campi há o parque Zoobotânico que consiste na exposição de fauna e flora viva, além das coleções científicas. O objetivo deste projeto é desvincular as limitações e estaticidade inerentes ao espaço físico e criar um ambiente de realidade virtual que aja como um passeio complementar através do parque Zoobotânico, haja vista que o passeio presencial permanece uma experiência única. O passeio virtual traz elementos de animação avançada para cada espécie no intuito de mostrar suas ações e reações naturais. Além de usar ferramentas para criar um jogo 3D via web de acesso simplificado para explorar as dependências do museu em seu próprio website. O projeto é um espaço de divulgação científica-cultural e expansão do passeio presencial. 1. Introdução O Museu Paraense Emílio Goeldi (MPEG), com sede em Belém (PA), é um instituto de pesquisa vinculado ao Ministério da Ciência e Tecnologia, fundado em 1866, é considerado um dos mais antigos institutos de pesquisa do Brasil, era um dos 12 únicos museus em funcionamento no Brasil no início do século XX. O Parque Zoobotânico do MPEG está situado no centro urbano de Belém com uma área de 5,2 hectares, e foi fundado em 1895 como um anexo horto botânico ao Museu Paraense, com as mesmas funções do extinto Jardim Botânico criado em 1798 pelo governador sob ordem da Rainha de Portugal (atuar na área de pesquisa agrícola de plantas exóticas naturais da Amazônia) [IBRAM, 2011]. É considerada uma grande área de lazer e um dos mais importantes pontos turísticos da cidade. Também é uma das principais áreas verdes, 136 refúgio de aves e ponto de absorção de calor. Seu uso atual consiste na exposição de animais e vegetais vivos e na exposição das coleções científicas do museu, além de sediar a administração da instituição e suas atividades educativas. O Parque é tombado como Patrimônio Histórico Nacional (IPHAN) e Estadual (Secretaria de Cultura). O plantel atual do Parque [SANJAD, 2008] é composto por várias espécies de animais amazônicos, algumas delas ameaçadas de extinção, como a onça- pintada, o coatá-da-testa-branca, a ariranha, o gavião- real, a arara-azul e a ararajuba. Em 2007, foi registrado e seguinte plantel: 286 mamíferos (13 espécies); 460 aves (44 espécies); 1.269 répteis (23 espécies); e 314 peixes (30 espécies). Houve o nascimento de 210 animais, sendo 44 mamíferos, 16 aves e 150 répteis. Apesar da importância do Parque Zoobotânico, as dimensões continentais do Estado do Pará e do Brasil impossibilitam que muitos paraenses e brasileiros possam conhecer os espaços físicos e as variedades de espécies pertencentes ao MPEG, portanto, oferecer um ambiente virtual disponível na Internet com mídias e recursos de alta interatividade, irá ampliar a disseminação do conhecimento sobre a cultura e floresta amazônica. Atualmente, existem algumas iniciativas de sistemas e sites que tentam representar virtualmente museus e espaços zoobotânicos do mundo real [CORCORAN et al., 2002] [TARNG et al., 2006], porém, é importante salientar que a todos os sites encontrados na Internet, ditos virtuais, trata-se apenas de simples páginas Web, e normalmente apresentando as informações de forma limitada, superficial e estática ou visualizações de imagens em 360º, sem oferecer ao usuário a possibilidade de uma melhor pesquisa e descoberta interativa sobre a fauna e a flora. Desta forma, a utilização de recursos Web aliados a interatividade da Realidade Virtual [BURDEA, 2003], proporcionará ao usuário o conhecimento sobre o parque virtual independente da localização geográfica. Outras vantagens também identificadas são: Promover a divulgação científico-cultural por meio da representação virtual tridimensional dos espaços físicos, das espécies da fauna e flora de parques zoobotânicos; Motivação para uma maior exploração do parque virtual, através da possibilidade de aproximação e manipulação dos objetos e ambiente; Visualização e simulação dos comportamentos de espécies de animais e plantas, para que os usuários possam fixar os estudos biológicos aprendidos; Permitir aos usuários ângulos de visualização aproximada sobre animais selvagens, sem oferecer riscos de segurança; Simular espécies extintas para estudos científicos e estimular a conscientização sobre preservação ambiental. O parque virtual será implantado no site institucional do MPEG, e permitirá ao usuário navegar e visitar os principais prédios e monumentos virtuais do Museu, de forma semelhante ao mundo real, e a cada nova descoberta, poderá interagir sobre cada objeto e espécies virtuais da fauna e flora, e obter informações gerais e científicas sobre os mesmos, estimulando a pesquisa e a disseminação do conhecimento. 1 3 7 Além da possibilidade do parque virtual ser utilizado como ferramenta de divulgação, este ambiente virtual também será objeto de abordagens educativas através da aplicação de atividades e jogos virtuais lúdicos [TAROUCO et al., 2005] direcionados aos estudantes do ensino fundamental e médio do projeto Clube do Pesquisador Mirim/MPEG, despertando-os para a ciência, a importância da preservação do meio ambiental e do espaço físico do Parque Zoobotânico. Esta aplicação de realidade virtual desenvolverá jogos educativos com atividades tanto no ambiente virtual e também estimulará a visita no espaço real. Figura 1. Faixada da Rocinha (Pavilhão Ferreira Penna) cercada pela flora e com pós-produção 2. Projeto MPEG 2.1 Objetivos Oferecer um ambiente tridimensional virtual do Parque Zoobotânico do Museu Paraense Emílio Goeldi (MPEG) a ser disponibilizado na Internet, que possa representar de forma realista o ambiente físico e as espécies de animais e plantas da região que convivem nas dependências do Museu, através de técnicas avançadas de realidade virtual, com a implementação de shaders, modelos 3D e animação para ambientes de renderização em tempo real com foco em espécies da fauna e flora, visando a criação de modelos e comportamentos realísticos das espécies da Biodiversidade da Amazônia. A combinação dos vários conceitos para representar tanto os modelos 3D quanto seus materiais com a tecnologia Direct3D e viáveis para funcionarem através de level streaming pela web [UNITY3D, 2012]. Assim, oferecendo aos estudantes, pesquisadores e à comunidade em geral, um espaço de divulgação científico-cultural e de educação ambiental interativo sobre a biodiversidade amazônica. 2.2 Metodologia 138 Inicialmente, foi feito um levantamento bibliográfico dos acervos do Museu Emílio Goeldi sobre a fauna e flora da região amazônica presentes no Parque, e também realizadas algumas entrevistas com pesquisadores da própria instituição. Além disso, foram realizados estudos sobre documentos e plantas arquitetônicas dos prédios e monumentos necessários ao desenvolvimento das construções do ambiente virtual tridimensional. Para o desenvolvimento do sistema do ambiente tridimensional virtual foram utilizados softwares, o pacote de criação 3D Studio Max [AUTODESK, 2012], o Unity 3D [UNITY, 2012], que possui recursos modelagem 3D, e também para WEB, o Adobe Photoshop para criação das texturas e o XNormal para criação de Height e Bump maps. A construção do Parque Zoobotânico envolve a modelagem tridimensional apenas de algumas das principais construções, monumentos históricos, e espécies de fauna e flora, conforme a descrição a seguir: Entrada principal, monumento Ferreira Penna, Monumento Spix e Martius, pavimento Domingos Soares Ferreira Penna (“Rocinha”), viveiro de tambaqui, viveiro dos felinos, viveiro da fauna livre, gruta e algumas gaiolas de pássaros. 2.3 Desenvolvimento gráfico Utilizou-se como motor gráfico o Unity3D, e o desenvolvimento do ambiente virtual foi dividido em três etapas: Modelagem, Shaders e Animação. Primeiramente para a modelagem foi adotado o conceito de modelos com polígonos de quatro lados [SPENCER, 2008], visto que tanto o unity3D quanto 3Ds Max e o xNormal trabalham de forma otimizada [AUTODESK, 2012], [UNITY3D, 2012]. Para a replicação virtual de um modelo real a técnica adotada foi a de planos com imagem, onde são adicionados tantos planos quanto necessários para visualizar cada vertente da espécie e assim auxiliar na criação de um volume básico conforme mosta a Figura 2, que é ajustado embasado em outras imagens para acréscimo de detalhes fundamentais. Figura 2. Delimitação do volume da onça pintada Para as espécies vegetais outra abordagem foi necessária, foram subdivididas em dois tipos de modelos, um com baixa densidade poligonal (Low- Poly) [SPENCER, 2008] e outra como plano com rotação ligada ao movimento do personagem, onde o visual ocorrerá através do mapa aplicado. Para o caso de flora muito pequena não há necessidade de gasto de recurso, assim são todas exclusivamente planos, no entanto para os modelos maiores a adição de mais um conceito para o ganho de desempenho foi preciso, o Level Of Detail, onde é feito vários modelos do mesmo objeto com níveis de poligonais diferentes e são alterados no próprio motor gráfico em tempo real. No caso, cada vegetal de médio e grande porte possui sua contrapartida planar para ser substituída. 1 3 9 Testes constantes são feitos no motor gráfico para avaliar a geometria, seu consumo de memória e de processamento. Para manter baixo uso de memória foi adotada a modularidade na montagem da cena, onde os objetos são reutilizados várias vezes, assim instâncias são criadas em detrimento da mesma geometria ser utilizada como nova. Para a montagem no Unity3D, a cena é construída integralmente no 3Ds Max porém apenas são exportados objetos por partes, visto que o pivô para todos fica no mesmo lugar referenciado pelo centro da cena (ou mundo), quando é importado para do unity3D reconhece o pivô do mundo e o que normalmente e tido como um “erro” torna-se uma técnica fundamental para montar a cena com rapidez, visto que cada objeto colocado automaticamente estará colocado no ponto certo da cena. Os shaders (do inglês: sombreamento) são a reação da luz e a sombra no objeto, quando são atribuídos mapas para simular um determinado comportamento dá-se a denominação de material. Na criação dos shaders, foi levado em consideração que tipo seria utilizado pela engine e por qual objeto. Vertex Lit é uma forma de renderização muito rápida, porém é simples e não usa mapas complexos como normais (imagem rgb com informações de x, y e z para profundidade), height (provê ilusão e óptica através de uma imagem em escala de cinza), especular... É utilizado principalmente para objetos que não necessitam de complexidade a fim de ganho de desempenho. Pixel Shader consome mais, no entanto possui suporte a todos os mapas complexos, além de ter um melhor tratamento para rebatimento de luz. São utilizadas imagens em Ping (PNG) ou em Targa (TGA) preferencialmente, visto que possuem suporte a vários canais de cor além do alfa, este é um canal em preto e branco que controla a opacidade / transparência da imagem, e na engine pode ser utilizado para vários fins. Em cada shader há um ou mais canais que dirigem o aspecto visual do objeto através da adição de imagens, entre os utilizados neste projeto estão: o Difuso (onde é inserida uma imagem para referenciar a cor geral do objeto), o Alfa (é um canal de cor na imagem adicionada que funciona como transparência ou especular, sem precisar adicionar mais imagens em mais canais), o Especular (recebe uma imagem em escala de cinza referenciando onde haverá mais ou menos brilho), o Normal (mapa com os 3 canais de cor que causa um leve efeito ótico, dando mais profundidade) e o Height (mapa em escala de cinza que causa um forte efeito ótico, simulando uma extrusão) [BROOKER, 2008]. Os principais shaders utilizados como base para construir todo o aspecto visual e realista da cena serão descritos a seguir: Tipos de Shaders utilizados na Unity3D: Diffuse [Base (RGB)]: Possui possibilidade apenas de inserir uma imagem simples no modelo, em PNG (com alpha) TGA. Bumped Diffuse [Base (RGB), Normal Map]: Além da imagem para a cor, possui também um canal para mapa normal. Specular [Base (RGB) Gloss (A)]: Usa o canal de alfa como base para o mapa de especularidade. O Unity pode criar uma versão da imagem em alfa, caso a imagem adicionada não possua. 140 Bumped Specular [Base (RGB) Gloss (A), Normal Map]: Compreende o canal alfa da imagem de cor, além de usar informações de um mapa de normais. Parallax Specular [Base (RGB) Gloss (A), Normal Map, Height Map]: Adiciona o Height Map, que causa uma ilusão de ótica e dá impressão de destacar áreas com base no mapa aplicado. Transparent > Bumped Diffuse [Base (RGB) Transparency (A), Normal Map]: Possui o mesmo conceito que o Bumped Diffuse padrão com suporte a transparência a partir do canal alfa da imagem utilizada para cor. Transparent > Bumped Specular [Base (RGB) TransGloss (A), Normal Map]: Adicionalmente ao Transparent Bumped Diffuse, possui especularidade. Paralelamente à criação de shaders, a iluminação foi projetada para fim de trabalhar corretamente com a tecnologia de foward rendering contida no Unity3D [2012], que consiste na renderização em tempo real onde é capturado cada objeto na cena separadamente e então calculada sua superfície baseando-se na cor de seu material e todas as luzes do ambiente, gerando uma complexidade relativamente alta. O acréscimo de rebatimento de cor e sombras suaves se deu pelo uso do lightmapping [UNITY3D, 2012] através do Beast, uma ferramenta que calcula toda a geometria e seus respectivos materiais, para então imprimir suas sombras e luzes refinadas em mapas à partes, que são sobrepostos em toda a cena. A técnica de Ambient Occlusion (Oclusão de sombras ambientes) foi largamente utilizada em conjunto com o lightmapping a fim de extrair e forçar as sombras de contato [SINTORN et al, 2008], comuns a arestas fortes que se aproxima de 90º de uma face para outra. São fundamentais para o clima realista do ambiente como um todo. A preparação para a animação é iniciada antes da modelagem, pois o personagem deve ser projetado para ter um fluxo poligonal que permita animá-lo sem causa problemas e artefatos na malha [OSIPA, 2007]. Em seguida é criado um esqueleto com o Biped do 3Ds Max para cada espécie em um processo chamado de rigging, para que cada osso seja incumbido de vários vértices da malha e assim controla-la. E as várias animações são feitas em uma mesma sequência de quadros, para serem referenciados em sequência dentro do Unity3D. Entretanto, devido ao caráter fixo da iluminação e sombreamento causado pela técnica de lighmapping, os animais não apresentam o rebatimento de luz adequado causando um efeito de destaque que elimina a sensação de imersão, para isso foram utilizados os chamados Light Probes do Unity3D. Os light probes tratam-se de pontos para se criar um ambiente tridimensional de interpolação de sombras e luzes como mostra a Figura 3. Figura 3. Interpolação de luz e sombra usando Light Probes 1 4 1 Fez-se necessária a integração de elementos pertinentes à visão humana, bem como o desfoque de movimento dos olhos, ajustes de cores e estouro de luz. O desfoque de movimento como o próprio nome já diz, trata-se do embaçamento da visão causado pela movimentação da câmera ou olhos, e ajustes do script em C# com componentes específicos ao museu tiveram que ser adicionados, foram a normalização do desfoque para evitar confusão visual e redução do efeito para áreas de elevada taxa poligonal. O estouro de luz é um pós-processamento que trata de como a luz é vazada e intensificada na área em que é refletida, junto a esse estouro foi adicionado um efeito de quadruplicação do mapa de brancos mais intensos na tela e para cada cópia uma cor diferente, tamanho maior e deslocamento para a lateral da tela, produzindo uma aberração cromática além de uma distorção de lente de câmera (Figura 1, Figura 2 e Figura 5). Para fins de arte finalização foi preciso desenvolver alterações para o script do ajuste de cores, adicionando apenas a possibilidade de alteração em tempo real da cor geral do ambiente. É um efeito para gerar mudanças grandes na climatização do ambiente, permitindo inclusive alternar entre dia e noite. Figura 4. Fundos da Rocinha e amostra de proporção com a Cutia 2.4 Interatividade e comportamentos A linguagem C# foi escolhida entre a UnityScript e a Boo por oferecer recursos mais poderosos, como a orientação a objetos [UNITY SCRIPT REFERENCE, 2013], e também por possuir uma documentação mais ampla. A programação dentro do Unity3D se dá no modelo de scripting, onde scripts são programados e depois atrelados a um ou mais objetos virtuais 3D, e esses objetos passam então a se comportar da forma que foi programado no script. Foram estudadas formas de programação e manipulação de cenários eficientes para manter o programa leve e rápido, como o LevelStreaming, uma técnica que permite que o cenário virtual do Parque Zoobotânico seja carregado em background enquanto o usuário explora o menu principal do programa. O objetivo é que o software possa ser utilizado em computadores de baixo desempenho da melhor forma possível, embora exista uma recomendação mínima. Unindo com um bom design de programação, para se assegurar de que cada script programado fosse flexível o suficiente para possibilitar reutilização de código (um conceito básico e muito útil da programação orientada a objetos) e flexibilidade (para poder expandir ou adicionar novas funcionalidades sem precisar mexer nas anteriores já postas no projeto). A programação de comportamentos foi feita a medida que novos objetos 3D eram introduzidos no cenário e/ou novas funcionalidades eram definidas para o projeto. Toda 142 a programação de interatividade foi feita no software MonoDevelop [MONODEVELOP, 2013], uma IDE (Integrated Developement Environment) integrada diretamente ao Unity3D e que fornece um bom ambiente de programação. Todos os scripts programados foram testados e aprimorados, e foram revisitados muitas vezes durante o decorrer do projeto para se certificar do desempenho quando novos comportamentos e objetos são incluídos. Todos os conceitos técnicos referidos neste relatório foram estudados e utilizados de acordo com a documentação do Unity3D, especificamente utilizando para a linguagem C# [UNITY SCRIPT REFERENCE, 2012]. Como as funcionalidades de controle de movimento em primeira pessoa já são existentes no pacote do Unity3D, o Character Controller foi apenas modificado ligeiramente para se adaptar à velocidade de um passeio virtual, e corrigido de alguns bugs. Por exemplo, na versão original, quando o usuário utilizava o mouse para olhar em alguma direção, todo o objeto (tanto o corpo quando a câmera) rotacionavam na direção olhada. Ou seja, se o usuário olhasse para baixo, o corpo rotacionava para frente e passava para uma posição horizontal, como se estivesse deitado em pleno ar. Isso, além de irrealista, causava bugs, como o efeito de atravessar paredes com a cabeça se olhasse para baixo em frente a uma. A modificação feita neste caso foi passar a rotacionar o corpo do objeto apenas no eixo Y, de forma que ele vire para a esquerda ou direita de acordo com a direção olhada, enquanto a câmera rotaciona nos eixos X e Y, ou seja, pode rotacionar tanto para esquerda e direita quanto para cima e para baixo. Fora o Character Controler, todos os outros scripts principais foram criados do zero para utilização no projeto. Os scripts que foram programados para o cenário virtual do MPEG podem ser informalmente separados em dois tipos: scripts de objetos interativos e scripts de funcionalidades de background. Os objetos interativos são objetos que podem ser diretamente interagidos através do mouse do computador. Quando o usuário olha na direção de um objeto interativo, este brilha com uma aura branca para indicar ao usuário que este objeto pode ser clicado, mas só quando o usuário está perto o suficiente dele (Não podemos clicar numa placa de informações para lê-la se estivermos muito longe dela, por exemplo.). Os objetos interativos possuem atrelados a eles um script do tipo Interactive Objects. O Script Interactive Objects é um script “pai”, e, através do conceito de herança em programação orientada a objetos, serve de base para todos os scripts de todos os objetos interativos. As funcionalidades de background são comportamentos que acontecem sem clique de mouse, ou outra interação direta com do usuário, mas que mudam de estado baseado em certas condições ou ações. Os scripts de funcionalidades de background são: Menu principal, comportamento de cursor, colocação dos animais no ambiente (Figura 5), controle do mini-mapa, controle de movimento dos animais e o comando no teclado para saída do software. 1 4 3 Figura 5. Lago dos tambaquis, interação fauna e ambiente aquático 3. Conclusão O Parque Zoobotânico Virtual do Museu Emílio Goeldi com uma ferramenta de divulgação cultural e científica se provou ser interessante para usuários de qualquer idade, principalmente para crianças, adolescentes e jovens adultos, visto que a proposta é atual e acessível. A iniciativa de levar cultura através de tecnológica fez uma grande diferença para a aceitação, se mostrando assim um potencial grande como um espaço educativo e interativo com clima de entretenimento. Ressalta-se que utilizou-se importantes técnicas para modelagem do ambiente virtual, e também o uso da engine Unity 3D que tem sido amplamente usado em ambientes tridimensionais na Internet. Uma primeira versão do parque virtual encontra-se disponível, porém apenas uma parte do parque foi implementado, e há necessidade da continuidade de modelagem de novas espécies e de espaços físicos do parque que não foram contempladas nesse primeiro momento, de forma a tornar o Parque Zoobotânico Virtual do MPEG uma verdadeira plataforma de divulgação e educação da Biodiversidade da Amazônia. Referências AUTODESK. Autodesk 3ds Max. Disponível em http://usa.autodesk.com/3ds-max/, acessado em junho de 2012. BIMBER, O.; GATESY, S.; WITMER, L.; RASKAR, R.; ENCARNAÇÃO, L., 2002.Merging Fossil Specimens with Computer Generated Information. Computer, Volume: 35 , Issue: 9. CH'NG, E.; STONE, R., 2006. Enhancing virtual reality with artificial life: reconstructing a flooded European mesolithic landscape. Teleoperators and Virtual Environments - Special issue: Virtual, MIT Press Cambridge, Volume 15, Issue 3. CRAIG, A.; SHERMAN, W.; WILL, J., 2009. Developing Virtual Reality Applications: Foundations of Effective Design. Morgan Kaufmann; 1° edition. LIM, E.; HONJO, T., 2003. Three-dimensional visualization forest of landscapes by VRML. Landscape and Urban Planning, Volume 63, Issue 3, Pages 175–186. 144 SPENCER, S., 2008 ZBrush Character Creation, Advanced Digital Sculpting. Editora Sybex, pag. 247-269, 147-153, 193-217. UNITY 3D. Unity 3D Engine. Disponível em http://unity3d.com/, acessado em JUNHO de 2012. BROOKER, D., 2008 Essential CG Lighting Techniques with 3Ds Max, Terceira Edição, Focal Press. OSIPA, J., 2007. Stop Staring, Facial ModelingAnimation Don Right, Segunda Edição, Sybex, Pag 115, 228-263. SINTORN, E.; EISEMANN, E.; ASSARSSON, U., 2008. Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps. Computer Graphics Forum, Volume 27, Issue 4, Pages 1285-1292, June. INSTITUTO BRASILEIRO DE MUSEUS (IBRAM), MINISTÉRIO DA CULTURA (MinC), 2011. Museus em Números, Volume 2. Instituto Brasileiro de Museus. Pág 71-74. Brasília. UNITY SCRIPT REFERENCE, 2013. Unity Scripting Reference. Disponível em http://unity3d.com/support/documentation/ScriptRe ference, [acessado em MAIO de 2013]. MONODEVELOP, 2013. MonoDevelop IDE. Disponível em http://monodevelop.com/, [acessado em MAIO de 2013]. 1 4 5 Proposta de Implantação do Processo de GCO para a CDP fundamentado no MPS.BR Soraia S. F. Pantoja1, Rodrigo Lisbôa Pereira1 1 Área de Ciências Exatas e Tecnologia (ACET) – Centro Universitário do Estado do Pará (CESUPA) Av. Governador José Malcher, 1963 – 66.060-230 – Belém – PA – Brasil [email protected], [email protected] Abstract. This paper exposes the proposal development process Configuration Management for use by Supervisory Development public organization Company Docks of Para. To this, was based on the Reference Model (MR-MPS) Improvement Program of the Brazilian Software Process (MPS.BR) which aims to support process improvement of software organizations in the country. Resumo. Este artigo expõe a proposta de desenvolvimento do processo de Gerência de Configuração para uso da Supervisão de Desenvolvimento da organização pública Companhia Docas do Pará. Para tal, baseou-se no Modelo de Referência (MR-MPS) do Programa de Melhoria do Processo de Software Brasileiro (MPS.BR) o qual visa apoiar a melhoria de processo de organizações de software do país. 1. Introdução Transformar a necessidade do cliente em software funcional requer qualidade por meio da criação de processos de desenvolvimento e cuidados em relação a implementação do processo, para gerar as evidências tendendo qualidade do produto [Koscianski, 2007]. Porém, os artefatos gerados, que representam as evidências dos projetos, são constantemente alterados durante o desenvolvimento dos mesmos, e com o incremento de várias versões do sistema ao mesmo tempo, torna-se complicado manter a integridade do produto. Implantar metodologias visando a qualidade de um processo reflete diretamente na qualidade do produto, ou seja, um processo bem definido indica que o produto produzido foi baseado em procedimentos tendendo a qualidade. Para isso, existem alguns modelos que visam a melhoria qualidade, onde as empresas interessadas em investir em qualidade adotam, conforme o trabalho de Corrêa Ricardo et al. (2011) que apresenta uma experiência mediante a implantação Nível D do programa de Melhoria de Processos do Software Brasileiro (MPS.BR) em uma área do Governo Municipal de Campinas. Alguns trabalhos como Mendes et al. (2011) e Osorio et al. (2011) retratam a importância de definição de processos direcionados para atender Organizações públicas e suas peculiaridades. Ainda sob a perspectiva da Qualidade de Software, a tarefa de criar mecanismos para registrar, rastrear e controlar as modificações por meio dos sistemas da Gerência de Configuração (GCO) é necessária, devido a constante evolução do sistema, almejando um menor índice de falibilidade e retrabalho, também assegurando a qualidade e, consequentemente, a constante confiabilidade no produto [Koscianski, 2007]. Nesse 146 sentido, este artigo busca apresentar uma proposta de processo de Gerência de Configuração baseado nos resultados do Modelo de Referência (MR-MPS) do MPS.BR que atenda as necessidades da supervisão de desenvolvimento da Companhia Docas do Pará (CDP), órgão público responsável por manter os sistemas que gerenciam a movimentação portuária paraense. Além desta introdução, este artigo contém a seção 2 que apresenta o cenário atual da Organização, a seção 3 cuja oferece a modelagem do processo GCO adaptado para a CDP, a seção 4 exibe a proposta do processo de Gerência de Configuração para CDP, e por fim, a seção 5 expõe as considerações finais deste artigo e os trabalhos futuros. 2. Cenário da Organização O desígnio deste estudo abrange a Gerência de Tecnologia da Informação (GERTIN) da CDP, subordinada a Diretoria Administrativa Financeira, possuindo 3 (três) supervisões: Suporte de Informática (SUPSUP), Infraestrutura de Informática (SUPINF) e Desenvolvimento de Informática (SUPDES) [CDP, 2013]. Hoje, a SUPDES é composta por duas empresas terceirizadas que prestam serviço e são responsáveis pela análise, desenvolvimento e teste de software. Na SUPDES as mudanças são provenientes de: comunicação interna (CI) ou erros do sistema. A Figura 1 exibe o fluxo do processo atualmente identificado. Figura 1. Visão geral do atual processo da CDP As CIs são solicitações formais de setores da CDP podendo ser de ajustes ou melhorias. Estas chegam à Gerência de Informática e após aprovação e priorização são encaminhadas para análise, pelo Supervisor de Desenvolvimento. Após o procedimento de análise, o documento gerado retorna ao Supervisor de Desenvolvimento que encaminha ao Gerente de Projeto, para direcionar a demanda à equipe de desenvolvimento. A equipe de desenvolvimento registra a demanda no quadro Task Board e antes da fase de desenvolvimento, verifica a necessidade de atualização da versão local. O controle de versão do código é feito com o Visual Sourcesafe [Sourcesafe, 2005] em servidor com repositório centralizado. Porém, cada membro da equipe possui cópia local para desenvolvimento e o banco do controle de versões, que armazena os projetos, está localizado no servidor de desenvolvimento e pode ser atualizado pela equipe. Contudo, os diretórios dos sistemas possuem apenas uma localização e a estratégia é trabalhar na versão local do projeto armazenado em cada máquina. Após o 1 4 7 processo de homologação, a versão é liberada para o servidor, estando pronta para o ambiente de produção. Ressalta-se que antes da atualização do sistema é realizado um backup da última versão compilada em produção. Em seguida, ocorre o desenvolvimento da demanda solicitada e o membro da equipe responsável pela tarefa disponibiliza no ambiente de desenvolvimento a versão que será testada pelo Analista de Teste, por meio de dois artefatos principais: o cenário de teste e o checklist. Caso seja constatada alguma inconsistência a demanda retorna ao estado anterior (desenvolvimento). Ao contrário, o desenvolvedor pode atualizar a versão no ambiente de homologação para ser homologado pelo cliente ou Analista da CDP. Após o aceite, o Analista comunica à Gerência de Informática via e-mail copiando o cliente que deverá ratificar a informação, caso contrário a atividade retorna ao desenvolvimento. Depois da homologação, o Supervisor de Desenvolvimento define a data da atualização no ambiente de produção baseando-se em manuais e dependências entre atividades. Vale destacar que toda a comunicação no fluxo é realizada via e-mail e/ou verbalmente, e os artefatos gerados, durante todo o processo de desenvolvimento, são armazenados individualmente, ou seja, em máquina local de cada membro, sem sistema de backup ou qualquer forma de padronização. Consequentemente, riscos como a perda da base histórica de artefatos, a falta de versionamento do sistema e dos artefatos, o alto grau de dependência entre atividades, e dificuldades de mapeamento de mudanças, foram identificadas no processo em execução na Organização. 3. Processo de GCO O processo de GCO é um dos oito processos de apoio de ciclo de vida indicados pela ISO/IEC 12207. Segundo a NBR ISO/IEC 12207 (2009) é “um processo de aplicação de procedimentos administrativos e técnicos, por todo o ciclo de vida de software”. Conforme o SEI (2010) “o objetivo do processo Gestão de Configuração (CM) é fornecer subsídios para estabelecer e manter a integridade dos produtos de trabalho, utilizando identificação de configuração, controle de configuração, balanço das atividades de configuração e auditorias de configuração”. O MPS.BR, através do MR-MPS, destaca que a Gerência de Configuração está no nível F intitulado Gerenciado e tem como alvo o estabelecimento e cultivo da integridade de todos os produtos de trabalho de um processo ou de projeto, além de disponibilizá-los a todos os envolvidos [Softex-I2, 2011]. 3.1. Modelagem do Processo de GCO Nesta, é apresentada a modelagem do processo de GCO para a SUPDES da CDP. Para tal, foi utilizado como referência os resultados esperados indicados pelo MPS.BR, cujo consiste na iniciativa visando melhorar a capacidade de desenvolvimento de software nas empresas brasileiras. Para tal, desenvolveu-se o MR-MPS para Melhoria do Processo de Software Brasileiro [Softex-G, 2013], considerando-se normas e modelos reconhecidos internacionalmente, práticas da Engenharia de Software, bem como as necessidades de negócio da indústria de software brasileira tanto de pequenas e médias empresas quanto empresas de grande porte. A modelagem do processo de GCO iniciou-se a partir da análise do cenário em execução na SUPDES, após a realização de um diagnóstico. A partir desta análise, 148 criou-se o fluxo macro do processo de GCO instanciado para a CDP, bem como ferramentas e ações para a melhoria do processo atual, conforme indicado na Figura 2. Já as Figuras 3 e 4 descrevem as fases do processo em níveis de tarefas, propostas para a execução da SUPDES da Organização. Figura 2. Instância do fluxo macro do processo de GCO para a CDP Figura 3. Planejamento do Processo de GCO. Figura 4. Execução do Processo de GCO 4. Proposta do Processo de Gerência de Configuração para CDP Esta sessão apresenta a proposta definida, passo a passo, dos resultados esperados do processo desenvolvido para a CDP, adotando como referência o programa MPS.BR. 4.1. Um Sistema de Gerência de Configuração é estabelecido e mantido Com a implantação do processo de GCO na organização em questão, os projetos desenvolvidos pela CDP deverão adotar como política: Armazenar todos os artefatos em repositório criado no servidor, nomeado de produção, objetivando a confiabilidade e disponibilidade do ambiente, a partir de uma ferramenta já utilizada, o Visual Sourcesafe, e cada um dos projetos deverão possuir a estrutura de pastas branch, trunk e tag, conforme representado na Figura 5. a) O diretório branch: conterá os artefatos utilizados pelos Desenvolvedores em fase de criação e teste local do sistema; pelos Analistas de requisitos e teste, e para homologação, caso tal modificação gere impacto no andamento do projeto. b) O diretório trunk: conterá a versão estável do projeto em desenvolvimento. c) Diretório tag: armazenará as releases candidatas ao ambiente de produção. 1 4 9 Figura 5. Estrutura do controlador de versão dos projetos. Toda a estrutura de repositório criada deverá possuir também a definição de papéis e permissões de acesso para cada pasta. Toda aplicação deverá ser armazenada em ambientes específicos atendendo as etapas de desenvolvimento, verificação e homologação equivalentes do processo, além da produção, que ocorre quando a aplicação encontra-se disponível para uso, cada um com seus respectivos servidores referentes a cada etapa. É importante frisar que todo projeto criado deverá conter a estrutura padrão de repositório, tanto em branch quanto em trunk e tag, ressaltando-se que os documentos deverão ser armazenados por iteração, contendo o registro dos documentos que auxiliaram no processo de desenvolvimento, de acordo com os GCO2, GCO3 e GCO4 que são os resultados indicados no MR-MPS do MPS.BR. Além de atender todas as etapas especificadas nas figuras 3 e 4 de acordo com cada resultado esperado. 4.2. Os IC são identificados com base em critérios estabelecidos Um item de configuração (IC) refere-se a qualquer evidência a ser versionada, sua identificação constitui em um momento crítico para o sucesso do processo Gerência de Configuração na organização [Softex-I2, 2013]. Para a CDP, a seleção levou em consideração os critérios: relevância, dependência, impacto, alto grau de mudança, em função do perfil dos usuários em relação a resistência nos procedimentos já praticados. Os itens a serem configurados estão relacionados juntamente com suas respectivas nomenclaturas de identificação, responsáveis e fases, conforme Tabela 1. Tabela 1. Relação de Itens de Configuração Acrônimo AR Artefato Ata de Reunião Nomenclatura de identificação AR_ID do Projeto_data + (numeração da versão) 150 Responsável Analista de Requisitos Fase Requisitos Acrônimo DCU Artefato Documento de Caso de uso AS Solicitação de Ajustes CF Código Fonte CKT Checklist de Teste CT Casos de Teste DV Documento de Visão DAF PGC Documento de Análise Funcional Plano de Gerência de Configuração UM Manual do usuário GU Guia de Utilização DM Documento de Mensagens do Sistema MD Modelo de Dados TH Termo de Homologação GL Glossário SBD Scripts de Banco de Dados DU Diagramas UML PT Protótipos de Telas PE Pacotes ou compilados Nomenclatura de identificação DCU_ID do Projeto_nome+versão SA_ID do Projeto_V(versão) (numeração da versão) CF_ID do Projeto_nome (numeração da versão) CKT_ID do Projeto_V(versão) (numeração da versão) CT_ID do Projeto_V(versão) (numeração da versão) DV_ID do Projeto_V(versão (numeração da versão) DAF_ID do Projeto_V(versão) (numeração da versão) PGC_ID do Projeto_V(versão) (numeração da versão) MU_ID do Projeto_V(versão) (numeração da versão) GU_ID do Projeto_V(versão) (numeração da versão) DM_ID do Projeto_V(versão) (numeração da versão) MD_ID do Projeto_V(versão) (numeração da versão) TH_ID do Projeto_V(versão) (numeração da versão) GL_ID do Projeto_V(versão) (numeração da versão) SBD_ID do Projeto_V(versão) (numeração da versão) DU_ID do Projeto_nome (numeração da versão) PT_ID do Projeto_nome + (numeração da versão) PE_ID do Projeto_V(versão) (numeração da versão) + + + + )+ + + + + + + + + + + V + Responsável Analista de Requisitos Analista de Requisitos Desenvolvedor Analista de Testes Analista de Testes Analista de Requisitos Analista de Requisitos Gerente de Projetos Analista de Requisitos Analista de Requisitos Analista de Requisitos Analista de Requisitos Analista de Requisitos Analista de Requisitos DBA Analista de Requisitos Analista de Requisitos Desenvolvedor Fase Requisitos Requisitos Codificação e Teste Codificação e Teste Codificação e Teste Requisitos Requisitos Requisitos Requisitos Requisitos Requisitos Requisitos Requisitos Requisitos Codificação e Teste Requisitos Requisitos Codificação e Teste O padrão de versionamento dos itens de configuração (exceto código) deve possuir um número indicando a versão segundo o padrão X.YY, onde X consiste no número decimal que representa a versão final de alguma evidência indicada para ser um item de cofiguração e YY satisfaz a um número hexadecimal o qual representa um incremento da versão X. Cabe destacar que o número de versão dos artefatos muda de acordo com as regras e a primeira nomenclatura a ser indicada no artefato deve ser 0.01; a cada modificação no mesmo, o valor YY deve ser incrementado e, após cada aprovação, a versão X deve também ser incrementada em uma unidade, e o valor YY retorna para 00, gerando assim uma nova versão, isto é, resultante do incremento. 4.3. Os IC sujeitos a um controle formal são colocados sob baseline Para atender tal resultado, uma política de situação da baseline deve ser implantada e a mesma deverá ser gerada por fases (Requisitos, Codificação e Teste). Na fase de Requisitos os itens de configuração auxiliam no entendimento da demanda e especificação da mesma. Após o levantamento e análise dos requisitos, os documentos gerados são homologados e posteriormente disponibilizados no versionador como IC, o qual poderá compor uma baseline tendo o acesso restrito somente pela Equipe de Requisitos. Nesta fase, as alterações necessárias deverão ser descritas e justificadas, 1 5 1 pois a baseline criada com os itens da fase em questão serão liberadas para as fases seguintes. Na fase de Codificação é contemplado o desenvolvimento do código fonte conforme baseline gerada na fase de Requisitos. Nesta, o Gerente de Configuração deverá enviar uma mensagem, através software MantisBT institucionalizado pela Organização [Mantis, 2013], com endereço do projeto no versionador para toda equipe que poderá utilizar de acordo com um perfil atribuído ao projeto, e a mesma deverá dirigir os arquivos ao servidor e descrever o que fora desenvolvido. Por fim, na fase de Teste, os itens de configurações contidos na baseline, deverão ser verificados pela equipe correspondente em satisfazer tal operação, para posteriormente também adicioná-lo ao servidor após ocorrer a verificação. 4.3.1 Avaliação dos itens de configuração e criação da baseline a) Avaliação dos itens de configuração na fase de requisitos: durante esta etapa, o cliente homologa as evidências geradas em reuniões, e o aceite é formalizado através do envio de um e-mail, sendo um feedback da equipe para o cliente, que contém as informações sobre os itens avaliados em uma reunião específica. Para cada artefato, uma versão é adicionada ao repositório em pasta específica com a nomenclatura padrão após a autorização da Supervisão que constitui o papel do Comitê de Controle de Configuração-CCC. b) Forma de solicitação de inclusão de item na baseline: Para inclusão de um IC na baseline o membro da equipe deve solicitar ao Gerente de Configuração, cujo verificará se o item pode ser incluído. Caso o item possa ser incluído o Gerente de Configuração classifica e prioriza a solicitação. Após classificação e priorização, a baseline é gerada e o mesmo envia aos membros da equipe responsável pela solicitação de inclusão do endereço de acesso ao item na baseline, conforme Figura 6. c) Nomenclatura da baseline: As baselines deverão ser geradas com nomenclatura padrão, isto é, para a fase de Requisitos a nomenclatura utilizada é <projeto_req_bas_x.y.z>, na fase de Codificação a nomenclatura <projeto_cod_bas_x.y.z> e na fase Teste utiliza-se <projeto_tes_bas_x.y.z> onde o projeto identifica o nome do projeto (exemplo: req identifica a fase de Requisitos), bas identifica uma baseline e x.y.z identifica a versão da baseline. d) Versionamento de baseline: As baselines devem ser versionadas de acordo com o padrão X.Y.Z, sendo X é um valor decimal correspondente a versão principal, Y um valor decimal correspondente a versão de implementação de novas funcionalidades e Z um valor decimal que correspondente a correção de bugs. Como forma de elucidar tal situação, suponha que determinada baseline encontrase na versão 2.2.4. Caso seja gerada uma solicitação de ajuste, após a implementação deste novo ajuste, uma nova versão é criada, modificando o dígito referente ao Y. Caso seja solicitada uma correção de um erro, criara-se então, uma versão 2.2.5, modificandose, então, o dígito referente a Z. Porém, se uma nova funcionalidade significativa for acrescentada à evidência, esta resulta à versão 3.0.0, alterando, nesse caso, o valor de X. 152 Figura 6. Fluxo de solicitação de inclusão de item em baseline 4.4. A situação dos itens de configuração e das baselines é registrada ao longo do tempo e disponibilizada Para registro do processo ao longo do tempo será utilizado o procedimento de transferência de arquivos entre as três pastas principais do projeto, que ocorrerá da seguinte maneira: toda branch homologada passa a fazer parte da trunk. As baselines geradas nas fases de Codificação e Teste serão organizadas em iterações, e as iterações de cada branch serão mescladas levando em consideração a sua numeração. Sempre que ocorrer uma transferência, a iteração1 em trunk será a soma dos documentos da iteração1 de cada branch recebida. A partir do momento em que um projeto em trunk vá para o ambiente de produção, este passa a se tornar uma versão estável a ser guardada em tag, sempre levando em consideração a nomenclatura, numeração referente à versão e a criação do documento release notes para que se saiba, de forma simplificada, quais funcionalidades foram implementadas. Para a política de backup, recomenda-se que diariamente um script seja executado para realizar o backup dos dados armazenados no servidor de produção, localizados na 1 5 3 pasta do repositório, que enviará uma cópia para um servidor de backup, cujo apenas o Supervisor de Infraestrutura possui a permissão de acesso. Após o período de um mês, o Supervisor de Infraestrutura arquiva o backup em mídia com o nome padronizado pela sintaxe <nomeprojeto_versão_dataatual>. Ressaltase que o mesmo poderá restaurar qualquer versão desejada sempre que necessário a partir de uma solicitação feita pelo Gerente de Configuração. 4.5. Modificações em itens de configuração são controladas Para o acompanhamento das modificações, o software MantisBT deverá ser adotado pela equipe, tornando-se a ferramenta de controle de mudanças. As figuras 7 e 8 fazem referência à solicitação de mudanças e à solicitação de correção, respectivamente realizados. Figura 7. Solicitação de correção no MantisBT 4.6. O armazenamento, o manuseio e a liberação de IC e baselines são controlados Para atender este resultado, deve incidir o subsequente processo: a) Armazenamento: para novos projetos, o Gerente de Projeto deverá solicitar a criação do repositório, com os respectivos acessos, através do MantisBT. Porém, para adicionar documentos ao repositório, o acesso deve se dar pelo endereço disponibilizado pela equipe de configuração (exemplo: nomeDoServidor/Diretório por meio de seu usuário e senha). 154 Figura 8. Solicitação de mudança b) Manuseio: o Gerente de Configuração (identificado pelo desenvolvedor mais antigo da equipe) atribuirá permissão aos usuários participantes do projeto de acordo com o perfil, para adicionar/remover/atualizar documentos no repositório do projeto. Para gerenciar a concorrência entre versões, o versionador deverá utilizar o recurso “lock” para impedir a alteração simultânea do mesmo IC. O usuário com perfil de acesso deverá disponibilizar os artefatos no repositório, fazendo o check-in com a descrição da atualização realizada, referenciando o documento de análise (para novas funcionalidades), com a descrição da alteração na página e o motivo. c) Liberação: a liberação da release deverá ser feita após a aprovação do CCC no software correspondente ao gerenciador de mudanças. O padrão de criação e de acesso ao repositório é #nomeProjeto–Breve_Descrição_do_sistema. Os participantes do projeto deverão possuir acesso diferenciado a cada diretório do versionador, de acordo com os papéis desempenhados no projeto, isto é, os desenvolvedores terão acesso completo ao diretório de código-fonte do projeto, porém não poderão editar o diretório referente à documentação, apenas consultar e as analistas só poderão editar o diretório de documentação e não terão permissão de acesso ao diretório de código-fonte. 1 5 5 d) Solicitação: após o fechamento da avaliação dos artefatos pelo CCC para a geração de baselines, o integrante da equipe deverá encaminhar uma solicitação ao Gerente de Configuração para que este gere um novo item de baseline do projeto. e) Disponibilização: após o Gerente de Configuração receber a solicitação do integrante da equipe referente à geração do baseline, o mesmo deverá enviar uma reposta ao solicitante informando o local de acesso. f) Recuperação: a qualquer momento, no período máximo de seis meses a partir da data de criação da baseline, o integrante da equipe pode solicitar ao Gerente de Configuração a recuperação da mesma. Desta forma, o Gerente de Configuração precisa enviar uma resposta ao solicitante informando o acesso à baseline recuperada. 4.7. Auditorias de configuração são realizadas objetivamente para assegurar que as baselines e os itens de configuração estejam íntegros, completos e consistentes As auditorias de Configuração devem ocorrer sempre no final de cada fase seguindo os procedimentos constantes na Tabela 2. Antes de uma liberação da release, uma auditoria funcional, deve ser iniciada com objetivo de garantir a corretude da baseline. Somente após ocorrer a auditoria funcional, acontece a auditoria física para examinar a estrutura de todos os itens que a compõem, e tem como escopo uma baseline aceita no período. Tabela 2. Procedimento para Auditorias Objetivo Procedimentos Entrada Saídas Participantes Avaliar como se encontra a baseline em termos físicos e funcionais. Identificar a baseline a ser auditada. Confirmar que todos os itens de configuração presentes na baseline foram previstos no Plano de Gerência de Configuração. Aplicar um checklist para auditoria funcional avaliando se o IC exerce a funcionalidade segundo seu propósito. Aplicar um checklist para auditoria física avaliando a estrutura da baseline bem como a identificação unívoca dos itens de configuração. Realizar a auditoria da baseline. Gerar um relatório listando as não conformidades encontradas. Critério: Existe uma baseline estabelecida. Insumos: Baseline e Relatório de Estabelecimento de Baseline. Critéri: Uma auditoria de baseline foi realizada. Produtos: Checklist de auditoria da configuração funcional; Checklist de auditoria da configuração física; Relatório de não conformidade da auditoria da configuração, mostrando as ações corretivas e acompanhamento da ação até a conclusão com responsável e data para finalização, artefatos ausentes deverão ser controlados; O estado de uma requisição aberta deverá ser definido. Responsável pela Execução: Gerente de Projeto. Responsável pela Aprovação: Supervisor de desenvolvimento. Consultado: Gerente de Configuração. O modelo de checklist para auditoria deverá estar especificado no Plano de Gerência de Configuração. A auditoria deverá ser feita pelo Gerente de Projeto (GP), visto que o mesmo é o principal responsável pelo controle e qualidade dos entregáveis do projeto. Ressalta-se que, na CDP, o GP não participa diretamente do desenvolvimento dos produtos de trabalho. 5. Considerações Finais e Trabalhos Futuros Com a definição do processo baseado no cenário da CDP analisado, buscou-se apresentar um processo destinado a identificar e definir os itens de software em um sistema de configuração, além de estabelecer critérios para baseline, oferecer controle às 156 modificações e liberações dos IC, registrar e apresentar a situação dos itens e das solicitações de modificação, procurando garantir a consistência, completeza e a correção de cada IC, além de controlar o armazenamento, a manipulação e a distribuição dos mesmos. Assim, atrelando o propósito da GCO ao objetivo da CDP para este processo, instanciou-se do fluxo macro do processo de GCO a modelagem à realidade da mesma. Como trabalhos futuros apontam-se: o desenvolvimento do Plano de Gerência de Configuração da Organização, aplicação do processo aqui desenvolvido em projetos pilotos, bem como a produção de templates para checklist e relatórios, avaliação da implantação do processo pelos envolvidos no processo com intuito de constante melhoria e o desenvolvimento de outros processos, visando uma possível implantação do nível F do MPS.BR na SUPDES da CDP, uma vez que com a escolha do MR-MPS buscou-se focar como ponto forte o nível F de maturidade na Organização em questão. Referências CDP (2013), “Companhia Docas do Pará”. Estatuto Social, disponível em: http://www.cdp.com.br/acesso-a-informacao. Corrêa Ricardo, M. F., Oliveira, P. G., Luz, D. F., Fernandes, G. T. (2011) “MPS.BR Nível D – A Experiência em Implantar o Modelo na Área de Governo Municipal”, Anais do VII Workshop Anual do MPS – WAMPS. Campinas, SP. Koscianski, A., Soares, M. S. (2007), Qualidade de Software, Novatec, 2ª Edição. NBR ISO/IEC (2009), Associação Brasileira de Normas Técnicas, “NBR ISO/IEC 12207:2009 – Engenharia de Sistemas de Software – Processos de Ciclo de Vida de Software”. Rio de Janeiro ABNT. SEI (2010), “Software Engineering Institute”. Capability Maturity Model Integration for Development. Version 1.3, Technical Report, Carnegie Mellon, USA. Softex-G (2013), “Associação para Promoção da Excelência do Software Brasileiro”. Guia Geral do MPS.BR, disponível em: http://www.softex.br/wpcontent/uploads/2013/07/MPS.BR_Guia_Geral_Software_2012.pdf. Softex-I2 (2013), “Associação para Promoção da Excelência do Software Brasileiro”. Guia de Implementação (Parte 2) do MPS.BR, disponível em: http://www.softex.br/wpcontent/uploads/2013/07/MPS.BR_Guia_de_Implementacao _Parte_2_2011.pdf. Sourcesafe (2005), “Microsoft Visual SourceSafe”. Ferramenta de versão de sistema de controle em nível de arquivo, disponível em msdn.microsoft.com/ptbr/library/3h0544kx(v=vs.80).aspx. Mantis (2013), “Mantis http://www.mantisbt.org. Bug Tracker”. MantisBT disponível em Mendes, F., Almeida, J., Junior, E. (2011) “Experiência de Implantação de Melhoria de Processos de Software em um Laboratório de Pesquisa”, Anais do VII Workshop Anual do MPS – WAMPS. Campinas, SP. Osorio, R. e Motta, G. (2011) “Relato da Experiência do Processo de Institucionalização do Modelo CMMI na Dataprev”. Anais do VII Workshop Anual do MPS – WAMPS. Campinas, SP. 1 5 7 TIC’s para Inclusão: Uma experiência de iniciação à docência com alunos de Licenciatura em Computação - UFRA Aline C. Ferreira¹, Alix R. Silva¹, Kelly Cristina Silva. Braga¹, Hilda R. Freitas¹, Larissa S. Elisiário¹ ¹Instituto Cyber Espacial - Universidade Federal Rural da Amazônia (UFRA) Av. Pres. Tancredo Neves, 2501. Montese - Belém – PA – Brasil {aline_ufra,alix.ufra,kelly_rozinha}@yahoo.com.br, {hildarosamf,larisato}@gmail.com Abstract. This article reports an experience on the PIBID, emphasizing the use of New Technologies of Information and Communication (ICT's) in the process of digital inclusion of students with deafness as a tool to support/aid in the process of teaching and learning at UESS Profº Astério Campos, making a theoretical approach to deafness and computer. Resumo. O presente artigo busca relatar a experiência vivida no Programa Institucional de Bolsa de Iniciação à Docência (PIBID), enfatizando o uso das Novas Tecnologias de Informação e Comunicação (NTIC’s) no processo de inclusão digital do aluno com surdez, como ferramenta de apoio/auxílio no processo de ensino e aprendizagem na UESS Profº Astério de Campos, fazendo uma abordagem teórica sobre surdez e informática. 1. Introdução O presente trabalho buscará fazer uma abordagem teórica sobre os surdos e a informática através do relato das ações desenvolvidas na Unidade de Educação Especial (UEES) Prof. Astério de Campos no Programa Institucional de Bolsas de Iniciação à Docência (PIBID), da Universidade Federal Rural da Amazônia (UFRA), apoiado pela Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), cujo objetivo geral é o incentivo à formação de professores para a educação básica e, consequentemente, a elevação da qualidade do ensino na escola pública. Através deste programa, os alunos de cursos de Licenciatura podem acompanhar de perto o cotidiano das escolas públicas de ensino, planejando e participando de experiências metodológicas, tecnológicas e de práticas docentes de caráter inovador e interdisciplinar, que buscam a superação de problemas identificados no processo de ensino-aprendizagem com vistas à melhoria do Índice de Desenvolvimento da Educação Básica – IDEB. Nesse contexto, está também a educação inclusiva, uma prática relativamente recente no Brasil, iniciada na década de 90 e ainda em fase de investigação [Freitas et al. 2005]. Pesquisas realizadas na área de Educação Especial apontam para a importância das crianças surdas compartilharem ambientes com as crianças ditas normais, entendendo que as relações decorrentes desse compartilhamento são importantes para o desenvolvimento psicossocial de ambas. Porém, quando se trata do aluno surdo, essas interações são superficiais, pela ausência, entre outros, de um compartilhamento linguístico entre alunos surdos e ouvintes [Lacerda 2006]. 158 Para que o disposto no Decreto 5.626/2005, que trata da legitimação da Língua Brasileira de Sinais (LIBRAS) e orienta sobre a educação de surdos, concretize-se, são necessárias ações que de fato favoreçam uma educação bilíngue, o que ultrapassa a inserção da LIBRAS como disciplina obrigatória nos cursos de formação de professores; pois o que tem ocorrido com os alunos surdos é, segundo Skliar (1999), a substituição do modelo excludente da Educação Especial por outro, em nome de uma inclusão que não respeita a identidade surda, sua cultura e sua comunidade. Dessa forma, “o surdo tem que se ajustar unilateralmente (...) e a escola precisa que ele aprenda como se fosse ouvinte” [Góes 2000], tratando-o como pseudo-ouvinte, minimizando a importância e o valor da língua de sinais para a construção de sua identidade, reduzindo-a a um recurso pedagógico. Focado nesta problemática é que o Curso de Licenciatura em Computação da UFRA desenvolveu uma ação no PIBID que associa os recursos da informática como meio de inclusão digital, proporcionando apoio a LIBRAS e ao Atendimento Educacional Especializado (AEE). Diante disso, é que o PIBID visa proporcionar aos alunos deste curso do campus Belém, o contato não apenas com a educação de surdos, mas também com a comunidade surda, contribuindo assim para a sua formação profissional, uma vez que tiveram a oportunidade de: conhecer e analisar Softwares educativos voltados para os alunos surdos; exercer a docência de conteúdos específicos, como a microinformática, e auxiliar na inclusão digital dos alunos surdos por meio de ferramentas como as redes sociais, favorecendo assim, de modo interdisciplinar, sua produção escrita. Ao mesmo tempo, esse contato auxiliou os alunos da educação básica, na medida em que favoreceu a utilização interdisciplinar das tecnologias disponíveis no AEE, assim como a implementação de propostas pedagógicas na área de informática para o ensino de alunos surdos. 2. Entendendo a surdez A surdez ou a deficiência auditiva é qualquer alteração produzida tanto no órgão da audição como em via auditiva. Quanto às Características Clínicas, são definidas do ponto de vista médico, em função do lugar onde se localiza a lesão, sendo de três tipos: surdez condutiva ou de transmissão, surdez neurossensorial ou de percepção e a surdez mista [Coll e Palacios 2004]. A surdez condutiva ou transmissão está relacionada com a alteração do ouvido externo (obstrução do canal auditivo externo: por exemplo, o rolhão de cerúmen) ou do ouvido médio (otites, lesão dos ossículos...) e não é grave nem duradoura, sendo possível o tratamento com cirurgia [Coll e Palacios 2004]. A surdez neurossensorial ou de percepção deve-se à disfunção do ouvido interno e geralmente reflete a lesão das células ciliadas ou do nervo auditivo; sua origem pode ser genética, adquirida por neonatal e pós-neonatal e esse tipo de surdez não afeta só a quantidade de audição, mas a qualidade. A surdez neurossensorial costuma ser permanente e até o pouco tempo nada se podia fazer para tratá-la; atualmente tem se desenvolvido o implante coclear [Coll e Palacios 2004]. A surdez mista é uma combinação de uma perda auditiva sensorioneural e condutiva. É o resultado de problemas em ambos os ouvidos: interno e externo ou médio. As opções de tratamento podem incluir medicamentos, cirurgia, aparelhos auditivos ou implantes auditivos de ouvido médio. 1 5 9 3. Atendimento Educacional Especializado para os Alunos com Surdez O AEE para alunos surdos da UEES Prof. Astério de Campos acontece com o intuito de desenvolver o conhecimento interdisciplinar a partir das potencialidades de cada estudante. A LIBRAS é fundamental para o sucesso do atendimento e o AEE, nesse sentido, acontece em diferentes momentos: AEE em LIBRAS e AEE de LIBRAS. O AEE em LIBRAS é caracterizado pelo uso pedagógico da língua de sinais para o auxílio dos conteúdos da sala de aula, nos horários não escolares. Com isso, o professor busca explorar os conhecimentos vistos em sala através de questionamentos e dúvidas persistentes, assim melhorando os conceitos aprendidos pelo aluno na escola [Alves et al. 2010]. Nas disposições do Decreto nº. 7.611 [Brasil 2011], a pessoa com deficiência tem direito à educação de todos os níveis do ensino ao longo de toda vida, através de apoio individualizado com intuito de desenvolver os ensinamentos acadêmicos e sociais do aluno. O decreto aponta que o AEE deverá providenciar ao aluno condições de acesso e participação em todas as modalidades do ensino, como garantir o apoio de acordo com as necessidades do discente, garantir que as ações contemplem as propostas do ensino regular, cessar as dificuldades que impedem o processo de ensino e aprendizagem a partir da inovação de recursos didáticos e pedagógicos [Brasil 2011]. O AEE é uma assistência que complementa ou suplementa a formação escolar do aluno utilizando recursos pedagógicos e acessíveis [Brasil 2011]. Ou seja, visa maximizar a aprendizagem a partir das características do aluno, unindo a pedagogia e as ferramentas de acessibilidade. O AEE de LIBRAS é outro importante atendimento que busca trabalhar a Língua de sinais com o aluno. O objetivo deste auxílio é melhorar a qualidade da LIBRAS do aluno abordando as complexidades visio-espaciais (fonologia/quirologia, morfologia/sinal ou item lexical, sintaxe/frase, semântica/significado e sentido) como a língua portuguesa [Alves et al. 2010]. 4. Salas de Recursos Multifuncionais e Inclusão Digital As Salas de Recursos Multifuncionais na UEES Prof. Astério de Campos - e nas escolas da rede pública de ensino - buscam atender às necessidades da educação, promovendo condições de acesso, participação e aprendizagem dos alunos, principalmente os alunos da educação especial no ensino regular, possibilitando a oferta do AEE de forma a não substituir a educação regular. Estas salas são compostas de mobiliário, materiais didáticos e pedagógicos, recursos de acessibilidade e equipamentos específicos para o atendimento dos alunos da Educação Especial e que necessitam do AEE no contra turno escolar, horário no qual o aluno retorna à escola para receber o atendimento. 4.1. Programa de Implantação de Salas de Recursos Multifuncionais e Recursos Multifuncionais da UEES Prof. Astério de Campos Com o objetivo de apoiar os sistemas públicos de ensino na organização e oferta do AEE e contribuir para o fortalecimento do processo de inclusão educacional nas classes de ensino, o Ministério da Educação criou a Portaria Normativa Nº- 13, de 24 de abril de 2007, que dispõe sobre a criação do Programa de Implantação de Salas de Recursos 160 Multifuncionais, tendo como objetivos: Apoiar a organização da educação especial na perspectiva da educação inclusiva, Assegurar o pleno acesso dos alunos que são públicoalvo da educação especial no ensino regular em igualdade de condições com os demais alunos, Disponibilizar recursos pedagógicos e de acessibilidade às escolas regulares da rede pública de ensino e Promover o desenvolvimento profissional e a participação da comunidade escolar. Na UEES Prof. Astério de Campos, a sala funciona nos turnos da manhã, tarde e noite, contando com oito professores especialistas no atendimento a pessoa com surdez e com múltiplas deficiências. Sendo referência no Estado do Pará no atendimento a alunos surdos, dando maior flexibilidade e possibilidades no aprendizado, uma vez que esse aluno passa a ter outros recursos de interação que ajudam em seu desenvolvimento sócio educacional. A sala da UEES é equipada com diversos equipamentos e recursos digitais que promovem a inclusão do aluno surdo, conforme tabela a baixo: Tabela 1. Composição da sala Equipamentos 01 Microcomputadores 01 Laptop 01 Estabilizador 01 Scanner 01 Teclado com colmeia 01 Acionador de pressão 01 Mouse com entrada para acionador 01 Lupa eletrônica Mobiliários 01 Mesa quadrada 08 Cadeiras 02 Armário 01 Quadro branco 01 Mesa para computador Materiais Didático/Pedagógico 01 Esquema Corporal 01 Bandinha Rítmica 01 Memória de Numerais l 01Tapete Alfabético Encaixado 01 Sacolão Criativo Monta Tudo 01 Quebra Cabeças - sequência lógica 01 Dominó de Associação de Ideias 01 Dominó de Animais em Libras 01 Dominó de Frutas em Libras 01 Dominó tátil 01 Alfabeto Braille 01 Kit de lupas manuais 01 Plano inclinado – suporte para leitura 01 Memória Tátil Essas salas promovem, além da inclusão social, a inclusão digital dos alunos surdos. Porém, é valido ressaltar que não somente o atendimento é feito para alunos com deficiência auditiva. Pois a intenção é atender com qualidade alunos com qualquer deficiência, transtornos globais do desenvolvimento e altas habilidades/superdotação, matriculados nas classes comuns de ensino regular, e que estejam registrados no Censo Escolar MEC/INEP. (Portaria MEC, nº 13/2007), Constituindo uma ação complexa, articulada, de múltiplas interferências, para entendermos mais o processo histórico de caracterização. Nesse sentido, Mazzotta (1982) diz: A sala de recursos, como o ensino itinerante, é uma modalidade classificada como auxílio especial. Como o próprio nome diz, consiste em uma sala da escola, provida com materiais e equipamentos especiais, na qual um professor especializado, sediado na escola, auxilia os alunos excepcionais, naqueles aspectos específicos em que precisam de ajuda para se manter na classe 1 6 1 comum. O professor da sala de recursos tem uma dupla função: prestar atendimento direto ao aluno e indireto através de orientação e assistência aos professores da classe comum, às famílias dos alunos e aos demais profissionais que atuam na escola. Mediante esta modalidade de atendimento educacional, o aluno é matriculado na classe comum correspondente ao seu nível de escolaridade. Assim sendo, o professor especializado deve desenvolver o seu trabalho de forma cooperativa com os professores de classe comum [Mazzotta 1982, p. 48]. 5. Softwares para o auxílio da educação de Surdos 5.1. O que é um Software? Os Softwares consistem em programas de computador, que são sequencias de instruções para o computador. É dividido em dois tipos principais, o Software de Sistemas, que serve principalmente como um intermediário entre o hardware do computador e programas/aplicativos, também oferece função importante de auto-regulamentação para os sistemas do computador; e o Software Aplicativo, que direciona um sistema de computador a realizar atividades de processamento específicas e oferece funcionalidades para os usuários [Turban et al. 2005]. 5.2. Softwares Educativos São programas que podem ser utilizados na administração escolar ou em contextos pedagógicos, ou seja, são caracterizados pela sua inserção em contextos educacionais. Um Software educacional é um “produto [...] adequadamente utilizado pela escola, mesmo que não tenha sido produzido com a finalidade de uso no sistema escolar” [Oliveira 2001]. Perante a prática do uso de Softwares na educação, é importante ressaltar que tanto o professor quanto o computador com seus Softwares, são mediadores no processo de ensino e aprendizagem do aluno. “O aprendizado desperta vários processos internos que são capazes de operar somente quando a criança interage com as pessoas em seu ambiente e quando em cooperação com seus companheiros” [Vygotsky 1994]. A prática do uso dessas ferramentas não garantirá por si só a aprendizagem dos alunos, pois os mesmos são instrumentos didáticos de ensino que podem e devem estar a serviço do processo de construção do conhecimento dos aprendizes. A utilização desses recursos na educação básica deve ser acompanhada de uma concreta formação dos professores para que possam utilizá-los de uma forma responsável e com potencialidades pedagógicas adequadas no processo de inclusão digital do aluno com surdez. Logo, a utilização de um Software está diretamente relacionada à capacidade de percepção do professor em relacionar a tecnologia à sua proposta educacional [Tajra 2001], visto que o Software por si só não educa, mas utilizado com uma proposta pedagógica bem fundamentada e direcionada, levam o aluno a um pensamento crítico, reflexivo, garantindo-lhes uma aprendizagem mais profunda. Atualmente, jovens, adolescentes e crianças têm acesso cada vez mais cedo aos recursos tecnológicos, seja porque são oferecidos pelas escolas – públicas e privadas – seja pela possibilidade de acesso através de meios comerciais como Cybercafé, seja em sua própria casa. Para Valente (2002), a informática contribui como um recurso auxiliar no processo de ensino e aprendizagem, no qual o foco é o aluno. Além de motivar os 162 alunos, dá a possibilidade de instituir novas metodologias, com uma linguagem muito próxima da dos alunos surdos, com possibilidade de retorno imediato sobre a sua produção, além disso, se bem trabalhado, permite que cada aluno avance de acordo com os seus níveis, em ritmo próprio de conhecimento e comunicação. 6. Práticas Pedagógicas Aplicadas à Informática Educativa com Alunos Surdos na UEES Prof. Astério de Campos como meio de Inclusão A partir das ações propostas no PIBID/UFRA para o uso das tecnologias na UEES Prof. Astério de Campos, foram feitas observações e intervenções que nos permitiram experimentar possibilidades diferentes em alunos com deficiência auditiva. A base pedagógica adotada na proposta é o construtivismo, onde o computador é visto como um instrumento que auxilia na construção do conhecimento e, portanto, é um recurso com o qual o aluno pode criar, pensar e manipular a informação. Diante dos aspectos inerentes a inclusão digital na sociedade da informação, percebe-se que a inclusão vai muito além do acesso físico do cidadão, aos diversos recursos técnicos disponíveis, ou seja, do computador e da internet. Logo se faz necessário criar caminhos condicionais para fomentação de um uso crítico-reflexivo, aberto e inventivo em relação às diversas TIC’s [Silva 2013] Nesse caso, o computador pode ser visto como uma ferramenta pedagógica para criar um ambiente interativo que proporcione ao aluno surdo investigar, levantar hipóteses, pesquisar, criar e, assim, construir seu próprio conhecimento. A importância da interação dos surdos com a informática como meio de inclusão digital representa um passo à frente no que diz respeito à educação, pois esta possui recursos, ressaltando-se os elementos visuais que são fundamentais para minimizar as suas dificuldades em relação à oralização, ajudando-os a superar também as suas necessidades educacionais. A informática também contribui ainda para o desenvolvimento da criatividade, o aumento da autoestima e a construção do próprio autoconhecimento, refletindo suas vivências e promovendo o desenvolvimento cognitivo e a autonomia destes educandos. Segundo Oliveira e Fischer (1996), o computador trabalha com representações virtuais de forma coerente e flexível, possibilitando, assim, a descoberta e a criação de novas relações. A inserção do computador na escola pode modificar a relação de ensino e aprendizagem, implicando novas relações entre professor e aluno, desafiando a prática pedagógica daquele e abrindo possibilidades ao aprendizado deste. A internet também vem propiciando aos surdos a interação com o mundo, por ser um espaço atrativo, dotado de recursos visuais, animação de imagens de sinais gráficos, e através desse meio torna-se mais fácil a compreensão e comunicação do surdo, já que o mesmo comunica-se com a língua de sinais, que é uma língua espaço-visual. Este tipo de comunicação é fundamental para minimizar e, muitas vezes, superar as necessidades educativas especiais dos surdos [Santarosa e Lara 1997]. Portanto, a internet está sendo considerada uma das mais importantes criações dos últimos tempos para ampliar a forma de aprender e de ensinar [Vianna 2001]. A internet minimiza a distância existente entre os surdos e ouvintes e dispensa a necessidade de intérpretes. 1 6 3 7. Relato de Inclusão Digital através da Oficina de Informática Básica Uma experiência que marcou como relato de inclusão digital durante o PIBID na UEES Prof. Astério de Campos foi a Oficina de Informática Básica para alunos surdos da escola. Tendo como objetivo geral, proporcionar ao aluno com surdez o aprendizado de Informática Básica a partir do Sistema Operacional Linux, utilizado nas escolas públicas do Estado e do Município, por ser um sistema de código fonte livre e aberto, dando a possibilidade aos programadores adaptarem ao ambiente educacional. A oficina contou com oito alunos apesar de haver apenas seis vagas ofertadas, por ser uma primeira experiência dos alunos do Curso de Licenciatura em Computação da UFRA em ministrar um curso de informática a alunos surdos e por não terem o domínio total da LIBRAS para a comunicação com esses alunos. A oficina acontecia às sextas-feiras, tendo início no dia 11 de Janeiro e término no dia 08 de Fevereiro de 2013, sempre das 14h às 16h na sala/laboratório de informática. Sala essa equipada com 16 computadores, todos com Sistema Operacional Linux Educacional, versão 4.0; que foram ferramentas chaves para construção do conhecimento dos alunos. Nesse sentido, Camargo e Bellini (1995) apontam que “O computador não melhora o ensino apenas por estar ali. A informatização de uma escola só dará bons resultados se conduzida por professores que saibam exatamente o que querem”. Diante disso, é necessário estendermos as tecnologias educacionais para além dos suportes materiais, o educador deve conhecer e dominar os procedimentos da tecnologia que deseja colocar em ação; não só os computadores, mas também o Datashow e Quadro Magnético, equipamentos tecnológicos utilizados como auxílio na educação/ensino da oficina. Os assuntos ministrados durante a oficina foram: Partes do Computador (Hardware e Software), Sistema Operacional (LINUX Educacional), Libre Office (Writer, Impress e Calc), com o auxílio do Datashow e de uma apostila construída por nós e cedida na versão impressa aos alunos. Já a avaliação correspondeu com o Feedback das atividades propostas de digitação, criação de uma breve apresentação em slides, além das perguntas orais feitas em LIBRAS ao fim de cada assunto, com apoio da Professora Simone Lima, da UESS, como Intérprete. A experiência da oficina teve resultados satisfatórios, pois conseguimos repassar o objetivo desejado, que era de ensinar informática básica com Sistema Operacional Linux, além de também termos aprendido sinais regionais de informática e educação e termos capturado imagens de alguns sinais feitos pelos alunos. Figura 1. Alunos observando o ensino 164 Figura 2. Alunos em atividade de digitação 8. Conclusão Ao longo da realização do PIBID/UFRA, chegamos à conclusão de que o uso da tecnologia na escola é de fundamental importância tanto para o professor como para os alunos surdos. A aprendizagem mútua entre professor e aluno por meio das tecnologias rompe barreiras pessoais, educacionais e sociais. Porém, percebe-se que se faz necessário a formação continuada de estudos voltados às TIC’s dos professores, afim de não limitar essas tecnologias a simples transmissoras de conhecimento, algo visto e presenciado na experiência do PIDID. Diante disso, Valentini nos questiona que: Quais são os argumentos que levam a tecnologia para a escola? Se a nossa concepção for de sujeito surdo que precisa ser auxiliado e conduzido pelo professor em sua jornada no mundo dos ouvintes, o computador será visto como um instrumento que pode ‘reforçar’ alguns conteúdos básicos. Destarte, a tecnologia é empregado no seu aspecto mais básico e simplificado em função de considerar a própria surdez como limitadora de possibilidades e potencialidades. [Valentini 1999, p. 247] A partir das observações, tivemos como resultado que o computador e a internet permitem ao aluno surdo “igualdade” na interação, haja vista que a LIBRAS é uma língua espaço visual e no mundo cibernético a interação pode vir de outros recursos sinestésicos. Assim, ressaltamos que a inclusão digital das TIC’s na educação, proporciona ao aluno surdo um maior aprendizado da LIBRAS, e consequentemente um avanço na comunicação desse aluno. Toda ação que realizamos no PIBID contribuiu de forma gratificante com a nossa formação acadêmica e de futuros profissionais da educação, ajudando-nos ainda a saber e conhecer as barreiras e necessidades que um professor da educação básica enfrenta na escola. Além de nos proporcionar um amplo e vasto conhecimento a respeito da educação especial voltada para a pessoa surda, fazendo-nos buscar cada vez mais aprender a Língua de Sinais utilizada nesta comunicação, fez-nos aprender e levar esse conhecimento da comunicação com surdos para fora da escola, ou seja, para o convívio social e comunitário. Referências FREITAS, P. M. de; CARVALHO, R. C. L.; LEITE, M. R. S. D. T.; HAASE, V. G. Relação entre o estresse materno e a inclusão escolar de crianças com paralisia cerebral. Arquivos Brasileiros de Psicologia, v. 57, n.1-2, p.46-57, 2005. 1 6 5 FRIGOTTO, G. (Org.). Educação e crise do trabalho: perspectivas de final de século. 3 ed. Petrópolis: Vozes, 1999. GOÉS, M. C. R. Com quem as crianças surdas dialogam em sinais? In: GOÉS, M. C. R.; LACERDA, C. B. F. (Orgs.) Surdez: Processos Educativos e Subjetividade. São Paulo: Lovise, 2000. LACERDA, C. B. F. A inclusão escolar de alunos surdos: o que dizem alunos, professores e intérpretes sobre esta experiência. Caderno Cedes, Campinas, v. 26, n. 69, p.163184, maio/ago, 2006. SKLIAR, C. (Org.). Atualidade da educação bilíngüe para surdos. Porto Alegre: Mediação, v. 2, 1999. BRASIL. Ministério da Educação, Secretária de Educação Especial. Manual de Orientação: Programa de Implantação de Sala de Recursos Multifuncionais, 2010. Disponível em <http://portal.mec.gov.br/index.php?option=com_content&view= article&id=17430&Itemid=817>. Acesso em 02/08/2013. BRASIL. Ministério da Educação. Secretaria de Educação Especial. Documento Orientador Programa Implantação de Salas de Recursos Multifuncionais. Disponível em <http://portal.mec.gov.br/index.php?option=com_content&view=article&id=17430& Itemid=817> Acesso em 02/08/2013. COLL, Cesar; MARCHESI, Alvaro, PALACIOS, Jesus. Desenvolvimento Psicologia e educação. Volume 1. São Paulo: ArtMed, 2004. ALMEIDA, E.O.C. de. Leitura e Surdez: um estudo com adultos não oralizados. Tese de doutorado na Faculdade de Educação da UNICAMP, 2000. SKLIAR. C.B. (Org.). A surdez: um olhar sobre as diferenças. Porto Alegre: Mediação, 1998. BASSO, Idavania Maria de Souza. Artigo: Mídia e educação de surdo. UFSC, Ponto de Vista, Florianópolis, n.05, p. 113-128, 2003. SILVA, Alix Ribeiro. Relatório final de Estágio Supervisionado obrigatório IV. UFRA, Belém/Pa 2013. 166 TVD-EDUC 3.0: Aplicação Educacional Interativa para Inclusão Digital/Social Através do Ambiente de TV Digital Jhenifer da S. Santos1, Fabrício W. da S. Garcia1, Flávia P. Monteiro1, Marcos C. da R. Seruffo1, Carlos N. da Silva1, Carlos R. L. Francês1 1 Laboratório de Planejamento de Redes de Alto Desempenho – Universidade Federal do Pará (UFPA) Caixa Postal 479 – Belém – PA - Brasil {jhenifersantos.si,fabriciowsgarcia,flaviamonteiro.comp}@gmail.com, {seruffo,cns,rfrances}@ufpa.br Abstract. This article is a proposal that aims to improve the provision of information and communication to citizens through the mass of the teaching / learning process, using the Interactive Digital TV for that. Assuming that distance education offers more flexibility and autonomy to the user and Television reaches more distant urban conglomerates, the developed application, called TVD-Educ 3.0, is a learning tool type t-learning, which enables the interaction between student and professor, from the resources provided by the interactive Digital TV. The developed application allows the student to attend classes for Digital TV and the teacher makes available documents with content of courses taught, convert ppt / pptx to jpg / png, through a web server, enabling a better understanding of the contents and reaching a larger number of students. Resumo. Este artigo é uma proposta que visa melhorar a oferta de serviços de informação e comunicação aos cidadãos, através da massificação do processo de ensino/aprendizagem, utilizando a TV Digital Interativa para isso. Partindo do princípio que a educação à distância oferece mais flexibilidade e autonomia ao usuário e a Televisão alcança conglomerados urbanos mais longínquos, a aplicação desenvolvida, chamada TVD-Educ 3.0, é uma ferramenta de aprendizagem do tipo t-learning, que possibilita a interação entre aluno e professor, a partir dos recursos disponibilizados pela TV Digital interativa. O aplicativo desenvolvido permite que o aluno assista aulas pela TV Digital e que o professor disponibilize documentos complementares com conteúdos das disciplinas ministradas, convertidos de ppt/pptx para jpg/png, através de um servidor WEB, possibilitando um melhor entendimento destes conteúdos e alcançando uma maior quantidade de alunos. 1. Introdução A acelerada disseminação da informação traz novos recursos no cenário mundial, tornando necessário o acesso aos recursos tecnológicos, principalmente em locais onde as desigualdades sociais e a dificuldade de acesso à educação são cada vez mais latentes. Embora as TIC (Tecnologias da Informação e da Comunicação) tenham como grande proposta reduzir essas desigualdades, o que é observado na maioria dos casos é justamente o contrário. Neste contexto de evolução, podem-se considerar dois aspectos: exclusão tecnológica e inclusão digital. Estes dois aspectos estão, muitas vezes, 1 6 7 relacionados com o grau de educação alcançada por uma determinada quantidade da população. Com o aumento do patamar de bens de consumo tecnológicos considerados essenciais, a exclusão digital tem aumentado. Uma alternativa promissora para a redução dessa exclusão e da desigualdade é a utilização da TV Digital, pois está presente em mais de 90% dos lares brasileiros (IBGE, 2009), excedendo o uso do computador que obtém apenas um terço dessa quantidade. Segundo (PARKER, 1999), a TV Digital é algo mais do que imagens mais nítidas e melhor qualidade de áudio; é uma eventual convergência de televisão, telefonia, internet e computador pessoal em uma simples caixa, com a promessa de acesso extraordinário a todos os tipos de informação e comunicação interativas inimagináveis. A TV Digital possui um ambiente considerado propício para oferecer vários tipos de serviços, levando a interatividade digital ao usuário fazendo com que o mesmo seja o personagem principal, buscando não mais uma comunicação unilateral e massificada. Dentro deste contexto, após estar difundida em vários países pelo mundo, emerge no Brasil uma padronização para a transmissão de Televisão Digital, chamada de Sistema Brasileiro de TV Digital (SBTVD), uma alternativa bastante promissora quando se fala de inclusão digital, visto que, a televisão é um veículo de comunicação acessível a praticamente todas as classes sociais, em todas as regiões do Brasil, como mostra os dados do IBGE [IBGE, 2009]. Deste modo, um dos principais objetivos do SBTVD é possibilitar a um maior número de pessoas o acesso digital, e aumentar o usufruto dessas tecnologias. Isto é confirmado com o decreto nº. 5.820, de 29 de junho de 2006 (SBTVD, 2010), que demonstra o interesse de levar, por intermédio da TV, a inclusão digital e o desenvolvimento da indústria nacional, tendendo que a televisão se torne uma ferramenta com finalidades sociais, com a criação de canais destinados ao poder executivo, cidadania, educação e cultura. Um recurso coerente com os objetivos do SBTVD é a educação à distância que oferece várias vantagens, como flexibilidade e autonomia. Quando estas vantagens são aliadas com a interatividade da TVD, um novo modelo de aprendizado é apresentado ao telespectador, conhecido como t-learning, que para Bates (2003) é o acesso a materiais de aprendizagem ricos em áudio e vídeo, ou seja, o aluno é capaz de interagir com o professor utilizando recursos da TV. A letra t abrevia TV, substituindo as terminologias que anteriormente utilizavam a letra e (de eletrônico), tais como e-learning, e-commerce e e-health. Assim, o verdadeiro desenvolvimento do sistema de t-learning baseia-se na integração das oportunidades e das funcionalidades do e-learning com a Televisão Digital interativa. O objetivo deste artigo é disponibilizar uma aplicação interativa que visa a inclusão digital/social, através do uso da TV Digital Interativa. A aplicação TVD-Educ 3.0 possibilita que o aluno visualize materiais complementares de ensino, com a utilização do servidor WebService TVD – Screenshots para a conversão dos arquivos que chegam no formato .PPT ou .PPTX e são apresentadas ao telespectador no formato .JPEG ou .PNG. Esta conversão é necessária uma vez que os set-top boxes atuais não conseguem mostrar arquivos com extensão PPT/PPTX. 168 Foram utilizadas técnicas de interação humano computador para que o design de interface permitisse uma maior navegabilidade e usabilidade. O apelo da televisão é importante já que remete ao conceito de computação ubíqua, ou seja, está presente em quase todos os locais e contantemente na vida das pessoas de todas as classes sociais do País, conforme citado anteriormente. Diante disto, utilizando-se a televisão, essa nova ferramenta de ensino é capaz de alcançar localidades de difícil acesso e excluídas digitalmente. Este artigo está organizado da seguinte forma: na seção 2 uma breve fundamentação teórica é apresentada, com alguns trabalhos correlatos; na seção 3 a metodologia, a arquitetura, as tecnologias envolvidas e o cenário de teste; na seção 4 os resultados alcançados; e na seção 5 são feitas as considerações finais sobre o trabalho. 2. Fundamentação Teórica e Trabalhos Correlatos A evolução tecnológica vem acontecendo de forma bastante rápida e influenciando o cotidiano dos indivíduos independente da classe social. Esse avanço é proveniente da competitividade entre empresas de tecnologias, devido aos incessantes lançamentos de produtos com funcionalidades melhores que os anteriores. Vale ressaltar, que a influência que as tecnologias causam nos indivíduos nem sempre é de forma benéfica, tendo em vista de que muitas vezes esses produtos tecnológicos são inacessíveis a uma boa parcela da população brasileira. Percebe-se que a TV Digital não é apenas uma evolução da TV analógica no quesito de aúdio e vídeos digitais, e sim uma nova plataforma de tecnologia, cujos impactos na sociedade ainda estão se delineando, podendo estes serem principalmente sociais e educacionais. Kenski (2007) afirma que atualmente a educação e a tecnologia são indissociáveis, não há como pensar em uma separada da outra, isto é, pensar na educação sem que haja em seu processo a tecnologia. Segundo a PNDA (Pesquisa Nacional de Amostras por Domicílio), 95% dos domicílios brasileiros possuem receptores de televisão, o que equivale a quase uma TV para cada três habitantes, e mais de 81% recebem exclusivamente sinais de televisão aberta, porém, apenas 27,4% possuem acesso à internet. Neste contexto, a programação transmitida aos telespectadores possui uma enorme responsabilidade, porque é uma das mais importantes fontes de informação e entretenimento da população brasileira. Segundo (BATES, 2003), uma das principais aplicabilidades que a interatividade da TV digital oferece, é o acesso a materiais de aprendizagem ricos em áudio e vídeo, ou seja, o aluno é capaz de interagir com o professor através de um vídeo interativo e visualizar os conteúdos da disciplina ministrada pelo professor utilizando os recursos fornecidos pela televisão. De acordo com (BECKER, 2008), assim como a internet, a TV digital interativa representa a possibilidade de acesso a um mundo virtual de informações e serviços. A grande vantagem da TV Digital interativa é a não obrigatoriedade de um computador. Apesar disto, a TV digital interativa contem um sistema informatizado que é operado como uma TV, por meio de um controle remoto. Segundo o trabalho de (LINS et al, 2006), a interatividade proporcionada pela 1 6 9 TVD ajuda a diminuir as brechas entre o usuário e o conhecimento deixado pela Educação à Distância. Com o desenvolvimento de novas tecnologias, a EAD (Educação à Distância) vem crescendo através da maior facilidade de comunicação entre alunos e orientadores. Segundo os autores (SILVA et al, 2010), os aplicativos educacionais estão ganhando cada vez mais espaço dentro da TV digital. O t-learning, segundo BATES 2003, é uma modalidade de educação à distância baseado em televisão interativa, ou seja, representa a especificação da TV Digital como a tecnologia que apóia o processo de aprendizado eletrônico denominado e-learning. Além disso, o t-learning possibilita aos alunos o acesso a diversos materiais didáticos para apoio na aprendizagem, e a familiarização com as plataformas EAD através do controle remoto. Para Hack (2010, p.75), uma das maiores vantagens do vídeo como material didático é a possibilidade de criar uma relação mais próxima entre os professores da EAD e os alunos, pois a comunicação é melhor com quem conhecemos visualmente. Além da abordagem onde o aluno assiste aula pela televisão e interage com o aplicativo TVD.Educ 3.0 através do controle remoto, este artigo apresenta, de forma inovadora, a possibilidade de visualização de materiais complementares de ensino para o melhor entendimento do conteúdo ministrado pelo professor. Para isso, faz-se necessário uma conversão de formatos de arquivos (através de um servidor WEB), para que os conteúdos possam ser apresentados na TV. 3. Metodologia O desenvolvimento de aplicativos para TV Digital exige comportamento diferenciado do tradicional, pois possui características próprias como, capilaridade, facilidade de implantação e uso. Porém, uma das principais características diferenciadas dos aplicativos para TV Digital está no formato de distribuição, que pode ser realizado através do carrossel de dados, que envia o aplicativo de forma assíncrona, partindo da emissora até o telespectador, e as tecnologias utilizadas. O componente essencial para a execução de aplicativos para TV Digital é o middleware Ginga, e o mesmo foi utilizado para o desenvolvimento do aplicativo TVDEduc 3.0 juntamente com as plataformas NCL (Nested Context Language) e Java, presentes na codificação. Basicamente, o middleware permite o funcionamento de um código para diferentes tipos de plataformas de recepção e vice-versa (MAHMOUD, 2004), possibilitando aos diferentes fabricantes a implementação desse componente e a execução de qualquer aplicativo Ginga. A complexidade do desenvolvimento de aplicações interativas para TV Digital vai além de questões técnicas. Suprir as necessidades dos usuários tem sido foco de várias pesquisas, visando a melhoria da interatividade e da usabilidade dos aplicativos, e para isso algumas alternativas são a utilização de novos dispositivos para a interação com a TV, como celulares e tablets. A seguir serão mostradas as etapas de desenvolvimento do aplicativo desenvolvido neste artigo. 3.1. Arquitetura Para o desenvolvimento do TVD-Educ 3.0, foi criado um sistema em três módulos, onde cada um possui responsabilidades diferentes. A Figura 1 mostra o diagrama de 170 componentes do aplicativo, especificando os módulos e componentes que o compõem, e as relações entre eles. Dentro da arquitetura, o Servidor de Aplicações é um dos módulos mais importantes, pois é quem gerencia e fornece recursos para os outros módulos de interação com o usuário e se situa na infraestrutura de serviço, ou seja, está conectado à Internet. Por esse motivo, este módulo não possui restrições com relação à capacidade de processamento e armazenamento, podendo explorar diversas técnicas disponíveis dentro da especificação Java Enterprise Edition 6 (Java EE 6). Este módulo é composto por três componentes e também interage com o Gerenciador de Persistência que nada mais é do que o armazenamento dos dados em um lugar onde possa recuperá-lo posteriormente. Figura 1. Arquitetura da Aplicação O componente Modelos é responsável por representar os dados manipulados pelo aplicativo. O componente JPA interage com o Banco de Dados MySQL para realizar a persistência dos dados. O componente JSF recebe requisições de um navegador Web e é responsável por oferecer uma interface de gerenciamento dos dados manipulados dentro do sistema. O componente JAX-RS é responsável por expor os dados manipulados pelo sistema através de Web Services utilizando a tecnologia RESTful (Representational State Transfer), que é um protocolo de mercado que utiliza o protocolo HTTP (Hypertext Transfer Protocol) como camada de transporte. É através deste componente que o aplicativo TVD-Educ 3.0 se comunica com o Servidor de Aplicações. O Sistema Gerenciador de Banco de Dados MySQL foi utilizado para realizar a persistência dos dados manipulados, devido a larga adoção que possui em soluções para Internet e a conectividade com soluções Java (LEONARD, 2010). Este software utiliza a abordagem relacional, mas dentro da arquitetura este módulo pode ser facilmente substituído de acordo com as necessidades do projeto. O módulo TVD-Educ 3.0, que também pode chamar-se módulo Cliente, implementa as funcionalidades de forma compatível com o middleware Ginga, e é quem estabelece a interação direta dos usuários com o sistema. Preocupações a cerca da usabilidade e da acessibilidade, devem ser tratadas para que os usuários possam utilizar o aplicativo de forma simples e intuitiva. 1 7 1 3.2. Tecnologias Envolvidas Ao desenvolver o TVD-Educ 3.0, utilizou-se de tecnologias que pudessem ser executadas pela maioria dos aparelhos disponíveis no mercado, dentre estes o middleware Ginga que oferece uma série de facilidades, entre elas a possibilidade de o aplicativo ser exibido nos mais diferentes sistemas de recepção, independente do hardware do fabricante e o tipo de receptor. As aplicações executadas sobre Ginga são classificadas em duas categorias: Aplicações Procedurais e Aplicações Declarativas. O TVD-Educ 3.0 é classificado como uma aplicação declarativa por seguir o paradigma de desenvolvimento Ginga-NCL, um ambiente que tem como base a linguagem NLC (uma aplicação XML) e sua linguagem de scripts LUA. Para cumprir o objetivo de portabilidade do aplicativo, foram utilizadas a linguagem NCL/LUA no desenvolvimento do módulo TVD-Educ 3.0, Java no módulo Servidor de Aplicações, e MYSQL para persistência do Banco de dados. Como o ambiente NCL/LUA é obrigatório na especificação do SBTVD, qualquer equipamento preparado para a TV Digital conseguirá utilizar o sistema. 3.3. Cenário de Teste Para o estudo do comportamento da aplicação proposta foi montado no LPRAD (Laboratório de Planejamento de Redes de Alto Desempenho) um cenário que contém uma infraestrutura essencial para proporcionar interatividade plena aos usuários de TV Digital. Esta infraestrutura pode ser dividida em cinco partes: infraestrutura de transmissão, infraestrutura de recepção, infraestrutura de canal de retorno, infraestrutura de conversão de arquivos e infraestrutura de serviços. Esse cenário pode ser visto na Figura 2. Figura 2. Infraestrutura de teste Inicialmente, a infraestrutura de transmissão tem como objetivo principal fornecer um meio para a transmissão de sinal de TV semelhante ao encontrado em uma transmissão de SBTVD, onde inclui o equipamento EITV Playout (EITV 2010), que faz a codificação e transmissão de sinal de TV. O Playout está ligado a um amplificador de sinal de antena. A infraestrutura de recepção é composta por uma TV com recepção digital e interatividade, três set-top boxes são ligados a TV analógica, e são responsáveis por decodificar os sinais emitidos pelas emissoras e enviá-los em alta definição para os aparelhos de TV, um computador com o OpenGinga e outro computador com o set-top 172 box virtual disponibilizado pela PUC-Rio. Estes dispositivos são responsáveis por representar o ambiente da casa do usuário, que contém basicamente os equipamentos representados acima. Uma infraestrutura de conversão de arquivos foi criada para a compatibilidade dos arquivos que alimentarão o aplicativo, com a linguagem no qual foi desenvolvida. Basicamente, o WebService TVD – Screenshots recebe os dados com extensões de .PPT/PPTX e os converte para as extensões .JPEG/PNG e outros formatos de imagens, pois a linguagem NCL não reconhece nenhum outro tipo de extensões de arquivos. Para prover a conectividade entre a infraestrutura de conversão de arquivos e a infraestrutura de recepção, uma infraestrutura de canal de retorno foi montada, com o objetivo de testar o comportamento do aplicativo. Utilizou-se este tipo de conexão, em função de todos os equipamentos envolvidos possuirem interface de conexão cabeada. Para proporcionar um ambiente que recebe os dados enviados pelos usuários e posteriormente convertidos, uma infraestrutura de serviço foi criada. Esta infraestrutura é o ponto em que os dados de interatividade com o utilizador são recebidos. Optou-se por separar os dois servidores da infraestrutura de serviços, para manter a divisão de responsabilidades. Esta divisão de responsabilidades permite o monitoramento refinado da infraestrutura e a melhor identificação de pontos de lentidão (HAINES, 2006), visto que o número de acessos pode ser bastante significativo. 4. Resultados O resultado deste artigo é a própria aplicação TVD-Educ 3.0, que possui a capacidade de disponibilizar, simultaneamente, material didático como complemento da tele-aula ministrada pelo professor, através do ambiente da TV Digital. Aliado à essa característica está a interface intuitiva e agradável do aplicativo. De acordo com a arquitetura apresentada, o projeto é dividido em três camadas, sendo estas: camada do cliente, camada Web e a camada de persistência de dados. E possui dois agentes principais, sendo estes: discente e docente. 4.1. Front – End – Visão do Usuário Este módulo, camada do cliente, contém três painéis organizados como mostra a figura 3. O painel 1 exibe as disciplinas cadastradas e que possuem materiais armazenados. O painel 2 é acionado, através das setas de navegação do controle remoto, no momento em que o usuário escolhe uma disciplina e desliza a seta de navegação para a direita, assim a lista com os conteúdos armazenados referente à disciplina serão expostos. No painel 3 será exibido o conteúdo escolhido pelo usuário, que ainda tem a possibilidade de fechar o material complementar e continuar apenas com a tele-aula ministrada pelo professor. 1 7 3 Figura 3. Tela Inicial do TVD-Educ 3.0 Vale ressaltar, que a interação do usuário ocorre apenas com o sistema, e não com professor, visto que através do controle remoto, o usuário consegue manipular todas as informações que lhe são mostradas através da TV Digital. A importância do professor em relação ao TVD-Educ 3.0, é tanto a tele-aula que ele ministra, quanto o Upload que ele faz do conteúdo didático complementar em .ppt/pptx, para que este seja convertido através do WEBService TVD – ScreenShots em .jpg/png, para que então o aluno visualize esse material juntamente com a tele-aula ministrada. 4.2. WebService TVD – Screenshots O desenvolvimento deste módulo da camada Web foi paralelamente ao desenvolvimento da aplicação proposta. A Figura 4 apresenta a tela inicial do servidor Web. Nesta, o professor tem as seguintes opções: (a) Enviar arquivos; (b) Visualizar Arquivos e; (c) Converter arquivos. Figura 4. Tela Inicial do Screenshots A figura 5, apresenta a tela de Upload caso o professor escolha a opção de enviar arquivos para a conversão. O usuário escreve o nome da disciplina no qual o material 174 pertence, busca o conteúdo para upload, e após isso faz o envio do arquivo em .PPT/PPTX para, posteriormente, ser convertido para as extensões reconhecidas pela linguagem NCL/LUA, .JPEG/PNG. Figura 5. Tela de Upload do Screenshots Na Figura 6, é apresentada a tela de conversão do servidor Web. O professor seleciona o material, que ainda está em formato .PPT/.PPTX, e escolhe a opção de converter. Ainda nesta página, o usuário tem a opção de visualizar os arquivos que já foram enviados para conversão, Figura 7, ou voltar para a página inicial do Webservice TVD – Screenshots, Figura 4. Figura 6. Tela de Upload do Screenshots Após esse contato, a interação entre o professor e o servidor Web está bastante intuitiva. Na Figura 7, é apresentada uma tela listando todos os arquivos enviados pelo agente professor e convertidos pelo servidor. A finalidade desta página é permitir o download destes arquivos. 1 7 5 Figura 7. Tela de Arquivos Convertidos A figura 8, representa a tela onde é exibidida a lista dos arquivos convertidos pela aplicação WebService TVD-Screenshots. Feita a conversão dos arquivos, o servidor Web envia o material complementar para a camada do cliente, para que o usuário possa, enfim, interagir com os conteúdos. Figura 8. Lista de arquivos armazenados 5. Considerações Finais A convergência tecnológica da computação e das telecomunicações, culminando com o surgimento da grande área de tecnologia da informação e comunicação, encurtou distâncias e permitiu, entre outras inúmeras facetas, a reprodução e o repasse de conteúdo, com surpreendente rapidez e alcançando grandes distâncias. A natural evolução tecnológica e a mudança considerável do perfil de uso e de usuário estão exigindo novos sistemas/serviços. Assim, novas ferramentas passaram a ganhar espaço, permitindo, inclusive, ao usuário acesso à conteúdos mais interessantes e criativos, como os educacionais. O aplicativo TVD-Educ 3.0 é uma aplicação do tipo t-learnig e se encaixa nesse novo padrão de aquisição de conhecimento, auxiliando o aluno em sua aprendizagem, 176 oferecendo muito mais opções de serviços e ampliando os benefícios proporcionados para o aluno de ensino à distância. O diferencial da aplicação proposta é a capacidade que o aluno possui de visualizar os conteúdos das disciplinas através da Televisão, que está presente quase que absolutamente nos lares dos cidadãos Brasileiros. Desta forma, a idéia é a massificação do conhecimento, permitindo que as pessoas outrora excluída digitalemente, passem a ser usufrutários dos recursos tecnológicos. Por ser uma tecnologia presente no cotidiano do ser humano, a televisão facilita a interação homem-máquina e torna o aplicativo proposto acessível às áreas de dificil acesso e às pessoas das mais diferentes classes sociais (principalmente das classes menos favorecidas), amenizando a exclusão digital/social e potencializando o aprendizado da forma mais produtiva e agradável, aliadas com a flexibilidade e comodidade fornecida pela TV Digital. Como trabalhos futuros serão realizados estudos de caso para a avaliação da aplicação em cenários reais, visando verificar a qualidade da aplicação através de conceitos de acessibilidade e usabilidade com usuários reais. Além disto, pretende-se integrar o aplicativo t-learning com o MOODLE, possibilitando que o material postado neste último possa ser visualizado na TV. Referências KENSKI, V.M. 2007. Educação e tecnologias o novo ritmo da informação. Campinas, SP: Papirus, 2007. HACK, J. R. Linguagem virtual e audiovisual na EAD. In: TAFNER, E. P. et al. Produção de materiais auto-instrutivos para EAD. Indaial: ASSELVI, 2010. p. 59-87. IBGE - Instituto Brasileiro de Geografia e Estatística. Diretoria de Pesquisas/Coordenação de Trabalho e Rendimento. Pesquisa Nacional por Amostra de Domicílios. 2007. Bates, Peter J. (2003). A study into TV-based interactive learning to the home. Pjb Associates, UK. This study has been conducted by pjb Associates, UK with funding from the European Community under the IST Programme (1998-2002). EITV, 2010. Extraído do site www.eitv.com.br. Acessado dia 09/10/2010 às 17h. Soares, Luiz Fernando G.; Barbosa, Simone Diniz J. Programando em NCL: Desenvolvimento de aplicações para middleware Ginga, TV Digital e Web. Rio de Janeiro: Elsevier, 2009. Wierner, Norbert. Cibernética e Sociedade: O Uso Humano dos Seres Humanos. Tradução de José Paulo Paes, São Paulo: Cultrix, 1970. Parker, R. The Economics of Digital TV’s future, In D. Gerbarg, The economics, technology and content of digital TV. 1999. Becker, V, Fornari, A, Herweg, GHF, Montez, C, 2008, Recomendações de Usabilidade para TV Digital Interativa. TVDI – Grupo de Pesquisas em TV Digital Interativa – Universidade Católica de Pelotas. LINS, Rubevan Medeiros; MOITA, Márcia Helena Veleda; DACOL, Silvana. Interatividade na Educação a Distância. Fortaleza,CE:2006. 1 7 7 SILVA, C. N. da et al. Tvd-educ: Um estudo de caso de aplicação educativa interativa para tv digital. Conferência IADIS Ibero-Americana WWW/Internet, p. 59-66, 2010. PNAD. Pesquisa Nacional por Amostra de Domicílios. Disponível em: <http://noticias.uol.com.br/especiais/pnad/2010/ultimasnoticias/2010/09/08/numerodedomicilios-com-telefone-cresce-e-atinge-84-em-2009-diz-pnad.jhtm> Acesso em: 08/03/2013. Educação a Distancia e a TV Digital: Uma Abordagem do Potencial da Interatividade. Disponível em: <http://www.abed.org.br/congresso2011/cd/183.pdf> Acesso em 18/03/2013. HAINES, S. Pro Java EE 5 Performance Management and Optimization. New York, USA: Apress, 2006. ISBN 1-59059-610-2. 178 Uma Nova Visão para a Ontologia de Domínio da Biodiversidade Janaína M. P. Nascimento1, Delano Campos de Oliveira1, Andréa Corrêa Flôres Albuquerque2, Marcos Paulo Alves de Sousa1, José Laurindo Campos dos Santos2 1 Núcleo de BioGeoInformática – Museu Paraense Emílio Goeldi (MPEG). CEP: 66077530 Belém – PA – Brasil 2Núcleo de BioGeoInformática - Instituto Nacional de Pesquisas da Amazônia. CEP: 69060-001 Manaus – AM – Brasil. {janaina.mayara7,camposdelano,andreaalb.1993,laurocampos2004,marcosp.b elem}@gmail.com Abstract. In recent years, important studies have shown good results in the use of ontology to represent complex biological data. Recently, researchers of the Biodiversity Research Programme of the Ministry of Science, Technology and Innovation, have proposed a domain ontology for Biodiversity, which is a scalable and dynamic model. From this initial model, this paper proposes new contributions and implementations for the ontology domain mentioned, expanding and contributing to the model by adding new entities, relationships, stereotypes of OntoUML language and two new sub-ontologies - Taxonomic Classification and Institution Research, enriching the semantics of ontology and allowing a wider field of mapping biological data, aiming to expand the representation of knowledge about biodiversity. Resumo. Nos últimos anos, importantes trabalhos mostraram bons resultados no uso de Ontologia para representar dados complexos biológicos. Recentemente, pesquisadores vinculados ao Programa de Pesquisa em Biodiversidade do Ministério de Ciência, Tecnologia e Inovação, propuseram uma ontologia de domínio para Biodiversidade, que se trata de um modelo expansível e dinâmico. A partir desse modelo inicial, este trabalho propõe novas contribuições e implementações a ontologia de domínio mencionada, expandindo e contribuindo com o modelo através da inclusão de novas entidades, relacionamentos, estereótipos da linguagem OntoUML e duas novas sub-ontologias – Classificação Taxonômica; Instituição Pesquisa; enriquecendo assim a semântica da ontologia e possibilitando um maior campo de mapeamento dos dados biológicos, visando expandir a representação do conhecimento sobre a Biodiversidade. 1. Introdução O Brasil é um país florestal, abrigando cerca de 5,5 milhões de km2 de florestas (65% do seu território), o que representa aproximadamente 10% do total das florestas do mundo. Desse total 60% são florestas tropicais e estão situadas na Amazônia Legal, possuindo a biodiversidade mais rica do mundo. Grande parte desta biodiversidade permanece desconhecida, e a ampliação do conhecimento sobre as espécies biológicas é um desafio essencial para a aplicação de políticas de preservação e exploração sustentável 1 7 9 das florestas. Dados referentes à biodiversidade são de extrema importância porque através deles, pesquisadores podem avaliar questões triviais a respeito das dimensões dos impactos ambientais, proteção de espécies ameaçadas, recuperação de áreas desmatadas, além de apoiar decisões governamentais relevantes como definição de áreas de proteção ambiental, políticas públicas e legislações. Atualmente, há projetos e programas de pesquisa visam criar sistemas de informação capazes de extrair, armazenar, gerenciar, analisar, integrar e disseminar os diferentes dados das diversas fontes de dados de biodiversidade, tais como, Large-Scale Biosphere-Atmosphere Experiment in Amazonia (LBA, 2014) e Global Biodiversity Information Facility (GBIF, 2014). Dados de biodiversidade apresentam um alto nível de complexidade. Segundo (ALBUQUERQUE, 2009) inclui: parâmetros espaço-temporais, estrutura indefinida, multidimensionalidade, vocabulário incógnito expresso por uma linguagem particular e grande volume de dados. Ressalta-se a existência de numerosos modelos e formatos de dados, o que torna a interoperabilidade entre eles, um desafio. No que diz respeito à integração de dados, a maior dificuldade advém da falta de uma conceitualização básica de domínios. Importantes trabalhos têm sido publicados demostrando bons resultados com o uso de Ontologias para representar modelos de dados da área da Biologia (BODENREIDER, 2006) e (LEONELLI, 2008). De acordo com (ALBUQUERQUE, 2009), as bio-ontologias, que são as ontologias ligadas à biologia e ciências da vida, têm auxiliado e contribuído para grandes avanços na área, pois permitem a associação de significado aos dados gerados em experimentos, além de possibilitar a integração das várias fontes de conhecimento, uma nova abordagem para preparação de experimentos ou ainda a busca de respostas usando resultados de fontes distintas. O Ministério da Ciência, Tecnologia e Inovação implantou o Programa de Pesquisa em Biodiversidade (PPBIO, 2014), que visa desenhar uma estratégia de investimento em ciência, tecnologia e inovação que aponte prioridades, agregue competências em diversos campos do conhecimento, gere, integre e dissemine informações sobre biodiversidade. O Programa tem abrangência nacional, com diversas instituições de ensino e pesquisa vinculadas, e iniciou sua implementação nas regiões da Amazônia Oriental, da Amazônia Ocidental e do Semi-Árido, as referidas regiões possuem núcleos de coordenação das atividades de pesquisa do Programa, representadas pelo do Instituto Nacional de Pesquisas da Amazônia, Museu Paraense Emílio Goeldi e Universidade Estadual de Feira de Santana, respectivamente. A partir das bases de conhecimentos geradas pelo PPBIO, foi proposto e validado um modelo de Ontologia de domínio visando a integração e consolidação de dados de Biodiversidade (ALBUQUERQUE, 2012), que baseia-se em Ontologia de Fundamentação Unificada (UFO) (GUIZZARDI, 2005). O modelo da ontologia de Biodiversidade está dividida em sete sub-ontologias, conectadas por relações entre as suas entidades e por axiomas, são elas: Sub-Ontologia de Aquisição; Sub-Ontologia Entidade Material; Sub-Ontologia Espaço Geográfico; Sub-Ontologia Ecosfera, SubOntologia Ambiente, Sub-Ontologia Classificação Taxonômica e Sub-Ontologia Instituição de Pesquisa. A referida proposta não é um modelo fechado, e representa um domínio complexo da Biodiversidade de forma expansível e dinâmica. Ressalta-se que 180 a expansão e inclusão de novas entidades, relacionamentos e axiomas ao modelo formal da ontologia para Biodiversidade é necessário conforme o surgimento de novos dados e informações sobre espécies biológicas, assim como a utilização de formalismos e técnicas para criação de uma ontologia fortemente acoplável que possibilite a interoperação entre diversas ontologias tanto de domínio, como de aplicação. Visando expandir a representação do conhecimento sobre a Biodiversidade, este trabalho tem como objetivo propor novas contribuições e implementações a um modelo de ontologia de domínio formalizado, através da inclusão de novas entidades, relacionamentos, estereótipos da linguagem OntoUML (GUIZZARDI, 2005) e duas novas sub-ontologias – Classificação Taxonômica e Instituição Pesquisa, enriquecendo assim a semântica da ontologia e possibilitando um maior campo de mapeamento dos dados biológicos, visando expandir a representação do conhecimento sobre a Biodiversidade. 2. Um Modelo Formal de Ontologia de Domínio para Biodiversidade Atualmente, há uma ontologia de domínio referente à biodiversidade implementada por pesquisadores vinculados ao PPBIO (ALBUQUERQUE, 2012) usando Ontologia de Fundamentação Unificada (UFO), que visa prover uma conceitualização clara e precisa dos aspectos considerados em coletas de dados de biodiversidade independentes de uma aplicação específica, capaz de responder questões de competência da ontologia. A competência de uma representação diz respeito à cobertura de questões que essa representação pode responder ou de tarefas que ela pode suportar. Ao se estabelecer a competência, tem-se um meio eficaz de delimitar o que é relevante para a ontologia e o que não é. A ontologia de Biodiversidade está dividida em cinco sub-ontologias, conectadas por relações entre os conceitos e por axiomas. São elas: (i) Sub-Ontologia de Coleta; (ii) Sub-Ontologia Entidade Material; (iii) Sub-Ontologia Localização Espacial; (iv) SubOntologia Ecossistema; (v) Sub-Ontologia Ambiente, como mostra a figura 1. Figura 1. Visão Geral da Ontologia de Domínio da Biodiversidade. Sendo subdivido por cores distintas nos seguintes grupos de Sub-Ontologia: Amarelo: Representa informações sobre o Ambiente, sendo que no modelo ontológico dessa entidade está subdivida em outras duas classes que são subclasses da classe Ambiente: Microambiente e Macroambiente, as informações representadas nesse domínio do modelo são: tipo do ambiente, 1 8 1 condições climáticas, luminosidade, fases da lua, entre outros; Verde claro: Representa informações sobre Espaço Geográfico, são todas as informações relacionadas com Tipo de Região, Local de Coleta, Localidade, Ponto Geográfico de onde as espécies foram coletadas; Verde escuro: Representa informações sobre Ecossistema, são informações relacionadas com Meso, Macro e Micro Ecossistema, além de Tipo do Ecossistema e Bioma; Azul escuro: Representa informações sobre Materiais, são informações que se dividem em entidade biótica e abiótica, n a primeira encontram-se informações de Taxonomia, Animal, Micro-organismo, Sexo, Planta, flora, Vegetação, entre outros. Na segunda (abiótica) encontram-se informações sobre Solo, Água e Ar; Azul claro: Representa informações sobre Coleta, são informações relacionadas com tipo de coleta, instrumento de coleta, responsável pela coleta, ou seja como a coleta foi feita (manual ou instrumental), qual instrumento utilizado, se foi do tipo armadilha, ou por redes, entre outros. 3. Novas contribuições à Ontologia de Domínio para Biodiversidade De acordo com estudos e pesquisas no campo da biodiversidade realizadas através de informações adquiridas pelos trabalhos desenvolvidos por biólogos do Instituto Paraense Museu Emílio Goeldi, com varias entidades relacionados ao bioma, permitiu a descoberta da necessidade de criação de novas entidades, suas categorizações, relacionamentos, axiomas e duas novas Sub-Ontologias para agregar semântica e expansão na representação do conhecimento na Ontologia para Biodiversidade, grande parte das informações abaixo citadas são referenciadas nos materiais (PPBIO, 2014), (ALBUQUERQUE, 2012) e (GUIZZARDI, 2005). Na Sub-Ontologia Acquisition foram adicionadas 1 7 novas entidades correspondentes a forma de Aquisição e aos métodos de coleta que estão presentes nos protocolos de coleta científica, na Sub-Ontologia MaterialEntity foram adicionadas 21 novas entidades correspondentes a entidades Abiotics e ObjectStudy, na Sub-Ontologia Ecosphere foram adicionadas 43 novas entidades correspondentes as entidades Vegetation e Ecosystem, na Sub-Ontologia GeographicalSpace foram adicionadas 18 novas entidades correspondentes as entidades ProtectedArea e ConservationUnit, ainda foram desenvolvidas duas novas SubOntologias correspondentes a TaxonomicClassification, como mostra a figura 2 e a ResearchInstitution, como mostra a figura 3. 182 Figura 2. Sub-Ontologia TaxonomicClassification. Figura 3. Sub-Ontologia ResearchInstitution Com a inclusão de duas novas Sub-Ontologias, entidades, relacionamentos e estereótipos da linguagem OntoUML a visão geral da Ontologia de Domínio para Biodiversidade ficou dividida da seguinte forma: Sete sub-ontologias, conectadas por relações entre os conceitos e por axiomas; (i) Sub-Ontologia de Acquisition; (ii) SubOntologia MaterialEntity; (iii) Sub-Ontologia GeographicalSpace; (iv) Sub-Ontologia Ecosphere; (v) Sub-Ontologia Environment; (vi) Sub-Ontologia ResearchInstitution; (vii) Sub-Ontologia TaxonomicClassification como mostra a figura 41. 1 8 3 Figura 4. Nova Visão Geral da Ontologia de Domínio da Biodiversidade. O trabalho que utiliza a linguagem conceitual OntoUML baseia-se na a Unified Foundational Ontology – UFO (GUIZZARDI, 2005, p. 5 apud ALBUQUERQUE, 2011, p. 20). As novas contribuições resultaram em um modelo de maior abrangência a respeito da biodiversidade aumentando a capacidade de análise e validação semântica dos termos do domínio. Para que fosse alcançado o objetivo do trabalho, foi necessário estabelecer alguns objetivos específicos, dentre eles: Levantar as características do domínio da Biodiversidade referente as novas entidades. Modelar as novas classes, atributos, sub-ontologias e relacionamentos do domínio da Biodiversidade utilizando a linguagem OntoUML. Para auxiliar o processo de modelagem da entidades, usou-se o software Enterprise Architect (EA, 2013). Implementar a modelagem realizada no EA para gerar o arquivo OWL da ontologia, para auxiliar o processo de implementação do modelo, usou-se o software Protégé (PROTEGE, 2014). Realizar testes de consistência e taxonomia através da utilização do programa Racer Pro (RP, 2014), que é instalado separadamente do protégé. Abaixo a tela de inicialização do programa: 184 Figura 5. Tela inicial Racer Pro. O comando Check Consistency realizado no protégé permite que ele se comunique com o Racer para checar a consistência da ontologia, o resultado por ser visto na figura abaixo: Figura 6. Teste de Consistência da Ontologia. O comando Classify Taxonomy realizado no protégé permite que ele se comunique com o Racer para checar a taxonomia da ontologia, verificado se a hierarquia taxonômica do modelo é válida, o resultado por ser visto na figura abaixo: 1 8 5 Figura 7. Teste de Taxonomia da Ontologia. O levantamento de requisitos no contexto de dados de biodiversidade foi desenvolvido seguindo as etapas abaixo que compõem os protocolos de coleta do INPA ALBUQUERQUE, A. (2011): 1) Levantamento de Dados, o qual consistiu da coleta de documentos/registros de coletas de campo. Utilizou-se dados de projetos, organizações e institutos disponíveis via Web, além de uma pesquisa local no INPA, onde se adquiriu documentos em meio eletrônico (na sua grande maioria arquivos texto) e informações sobre o esquema conceitual de banco de dados CLOSi (Clustered Object Schema for INPA’s Biodiversity Data Collections), (CAMPOS DOS SANTOS, J. L, 2003). O período de pesquisa no INPA permitiu um estudo detalhado do domínio de dados sobre biodiversidade. Ressalta-se a importância do estágio neste Instituto, sem o qual não seria possível a construção desta ontologia, uma vez que este domínio exige um conhecimento especializado do contexto; 2) Levantamento de Requisitos, com base na coleta realizada no levantamento de dados. Possibilitou definir os aspectos comuns a maioria dos documentos adquiridos para a modelagem da ontologia. Nesta fase, definiu-se um modelo genérico de documento para registro de coleta de dados de campo: um Protocolo de 186 Coleta; A partir destas duas etapas do processo pôde-se ter a compreensão do domínio da aplicação: extremamente grande e complexo no que diz respeito à taxonomia, morfologia e morfometria. 3.1. Sistematizando a Construção de Ontologias: SABiO A Systematic Approach for Building Ontologies – (SABiO) é a abordagem sistemática adotada na construção da ontologia de domínio para Biodiversidade proposto em (FALBO, R, 2004). Ontologias que são utilizadas como modelos de domínio, devem ter sua construção considerada. O processo de desenvolvimento de ontologias envolve as atividades de Identificação de Propósito e Especificação de Requisitos, Captura da Ontologia, Formalização da Ontologia, Avaliação da Ontologia e Documentação. Identificação de propósito e especificação de Requisitos, visa identificar claramente o seu propósito e os usos esperados para ela, isto é, a competência da ontologia. A competência de uma representação diz respeito à cobertura de questões que essa representação pode responder ou de tarefas que ela pode suportar. Ao se estabelecer a competência, temos um meio eficaz de delimitar o que é relevante para a ontologia e o que não é. É útil, também, identificar potenciais usuários e os cenários que motivaram o desenvolvimento da ontologia em questão. Captura da ontologia, o objetivo é capturar a conceituação do universo de discurso, com base na competência da ontologia. Os conceitos e relações relevantes devem ser identificados e organizados. Um modelo utilizando uma linguagem gráfica, com um dicionário de termos, pode ser usado para facilitar a comunicação com os especialistas do domínio. Formalização da ontologia, ocorre quando se pretende representar explicitamente a conceituação capturada no estágio anterior em uma linguagem formal. Avaliação da ontologia, a ontologia deve ser avaliada para verificar se satisfaz os requisitos estabelecidos na especificação. Adicionalmente, ela deve ser avaliada em relação à competência da ontologia e alguns critérios de qualidade para o projeto de ontologias. Documentação, todo o desenvolvimento da ontologia deve ser documentado, incluindo propósitos, requisitos e cenários de motivação, as descrições textuais da conceituação, a ontologia formal e os critérios de projeto adotados. Assim, como a avaliação, a documentação é uma etapa que deve ocorrer em paralelo com as demais. 4. Conclusão O conhecimento sobre a Biodiversidade é uma necessidade indispensável para aplicações de políticas e programas de preservação e de exploração sustentável, e a utilização de sistemas de informações tem se tornado uma importante ferramenta aliada nesse processo. Diante dos bons resultados com o uso de Ontologias para representar dados complexos biológicos, um modelo de ontologia de Domínio foi proposto e validado a partir de dados da Biodiversidade do PPBIO. Este trabalho demostrou que o referido modelo é aberto, expandindo-o com novas contribuições de entidades de dados, de acordo com o levantamento das características do domínio da Biodiversidade. As novas contribuições resultaram em um modelo de maior abrangência a respeito da 1 8 7 biodiversidade aumentando a capacidade de análise e validação semântica dos termos do domínio. Como proposta futura, seria importante a implementação de um repositório de ontologias para tratar dos dados complexos de Biodiversidade, e que possa receber cooperações de pesquisadores do PPBIO e demais programas de pesquisas, com novas contribuições em outras classes do domínio, referentes ao espaço geográfico, habitats, hábitos alimentares de espécies, entre outras. Agradecimentos Os autores agradecem ao Conselho Nacional de Desenvolvimento Científico e Tecnológico por ter fornecidos os dados de biodiversidade que possibilitou a realização da pesquisa. Referências EA. Enterprise Architect. Disponível http://www.sparxsystems.com/products/ea/index.html, acessado em 10/2014. por LBA. LBA-Ecology Project Science Office. http://www.lbaeco.org/lbaeco/, acessado em 01/2014. por Disponível GBIF. The Global Biodiversity Information Facility – GBIF. Disponível por http://data.gbif.org, acessado em 01/2014. PPBIO. Programa de Pesquisa em Biodiversidade – PPBio. Disponível por http://www.mct.gov.br/index.php/content/view/7913.html, acessado em 01/2014. ALBUQUERQUE, A.; CAMPOS DOS SANTOS, J.; DE MAGALHÃES NETTO, J. (2009) "A Strategy for Biodiversity Knowledge Acquisition Based on Domain Ontology”. To appear in Proceedings of the 9th. International Conference on Intelligent Systems Design and Application (ISDA 2009). November 30th – Pisa, Italy. BODENREIDER, Olivier; STEVENS, Robert. Bio-ontologies: current trends and future directions. Brief Bioinform (2006) 7 (3): 256-274 doi:10.1093/bib/bbl027, 2006. LEONELLI, S. Bio-Ontologies as Tools for Integration in Biology. Biological Theory, 3 (1), pp 8-11, 2008. ALBUQUERQUE, Andréa Corrêa Flôres; SANTOS, José Laurindo Campos dos; Magalhães Netto, J. F.; CASTRO JR, A. N. (2012) OntoBio: An Ontology for the Amazonian Biodiversity. In: the International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management; 4th International Conference on Knowledge Engineering and Ontology Development, Barcelona. GUIZZARDI, G. (2005) Ontological Foundations for Structural Conceptual Models. PhD Thesis (CUM LAUDE), University of Twente, The Netherlands. Published as the same name book in Telematica Instituut Fundamental Research Series No. 15, ISBN 90-75176-81-3 ISSN 1388-1795; No. 015; CTIT PhD-thesis, ISSN 1381-3617; No. 05-74. Holanda. ALBUQUERQUE, A. (2011) Desenvolvimento de uma Ontologia de Domínio para Modelagem de Biodiversidade. Manaus: Universidade Federal do Amazonas, p. 33. 188 CAMPOS DOS SANTOS, J. L. (2003) “A Biodiversity Information System in an Open Data/Metadatabase Architecture” Ph. D. Thesis. International Institute For GeoInformation Science and Earth Observation. Enschede, The Netherlands, June, ISBN 90-6164-214-0. FALBO, R. (2004) “Experiences in Using a Method for Building Domain Ontologies”. In Proceedings of the Sixteenth International Conference on Software Engineering and Knowledge Engineering, SEKE'2004, pp. 474-477, International Workshop on Ontology In Action, OIA'2004, Banff, Alberta, Canada, June. PROTEGE. Protégé. Disponível por http://protege.stanford.edu/, acessado em 10/2014. RP. Renamed ABox and Concept Expression Reasoner. Disponível por http://www.racersystems.com/products/racerpro/index.phtml, acessado em 10/2014. 1 8 9 Uso de Criptografia para Manter a Consistência dos Dados em Redes DTN via Algoritmo MD5 José Afonso Ribeiro Serrão1, Mauro Margalho Coutinho1 1 Pós-Graduação Latu Sensu em Banco de Dados, Universidade da Amazônia (UNAMA) Tv. Quintino Bocaiuva, 1808 – 66.035-190 Belém – PA – Brazil [email protected], [email protected] Abstract. This article aims to develop a system that uses Network DTN in collecting information of Vaccination Campaigns in more distant areas of the capital, enabling the integration of social programs. To maintain consistency of the data was used MD5 algorithm, that from pure text generates a summary function called "hash" of fixed size that will serve as a digital signature document sent. As MD5 is a one-way algorithm that does not allow the return of a ciphertext back into plaintext, we developed a method that compares two signatures to be able to validate the information received. In creating this method was used Java programming language that through its API java.security.MessageDigest, allows to obtain an instance of the algorithm to be used. In creating the Database was used PostgreSql DBMS, which has a native function of the MD5 algorithm, and also for being a DBMS robust open source and have safety and reliability as its main points. Resumo. Este artigo tem como objetivo desenvolver um Sistema que utiliza a Rede DTN na coleta das informações das Campanhas de Vacinação Infantil nas áreas mais distantes da capital, viabilizando a integração dos programas sociais. Para manter a consistência dos dados foi utilizado o Algoritmo MD5, que a partir de texto puro gera uma função de resumo denominado “hash” de tamanho fixo que vai servi como uma assinatura digital do documento enviado. Como o MD5 é um algoritmo unidirecional que não permite o retorno de um texto cifrado em texto puro novamente, foi desenvolvido um método que compara as duas assinaturas para poder validar a informação recebida. Na criação desse método foi utilizada a Linguagem de programação Java que através da sua API java.security.MessageDigest, permite obter uma instância do algoritmo a ser usado. Na criação da Base de Dados foi utilizado o SGBD PostgreSql, que possui uma função nativa do algoritmo MD5, e também por ser um SGBD robusto de código fonte aberto e que tem à segurança e confiabilidade como seus pontos principais. 1. Introdução O uso de redes DTN (Delay-Tolerant Networking) ou Redes Tolerantes a Atrasos em projetos que auxiliem na inclusão digital de áreas distantes e de difícil acesso vem sendo amplamente estudada no Brasil, especialmente na região Norte, onde esta sendo desenvolvido um projeto de redes que utiliza barcos como mula de dados (Data MULE). As redes CoDPON (Continuos Displacement Plan Oriented Network) ou Redes Orientadas a Plano de Deslocamento Contínuo. São propostas com o intuito de viabilizar 190 a integração de programas sociais do governo entre comunidades remotas e grandes centros urbanos, a baixo custo (MARGALHO, 2009). Mas como garantir que as informações transmitidas por essas redes se mantenham consistentes até o seu destinatário final? Sabe-se que para manter a segurança e a integridade dos dados dos diversos ataques existentes, têm se tornado um grande desafio para sociedade tecnológica, onde, a cada dia, são criadas novas maneiras de invadir a segurança de sistemas, através do roubo de senha de clientes ou até mesmo se passar por outras pessoas, conseguindo com isso acessar informações restritas de usuários ou empresas em beneficio próprio. Muitas técnicas e métodos são utilizados para combater esses tipos de fraudes digitais, uma delas é o uso da Criptografia. Que tem como propósito levar uma mensagem ou um arquivo, chamado de texto puro, e criptografá-lo em um texto cifrado de tal modo que somente a pessoa autorizada saiba convertê-lo novamente para um texto puro (TANENBAUM, 2009). As assinaturas digitais tornam possível assinar mensagens eletrônicas e outros documentos digitais de modo que elas não possam ser posteriormente repudiadas por quem as enviou. Uma maneira comum é, primeiro, submeter o documento a um algoritmo de resumo de sentido único que seja muito difícil de inverter. A função resumo de sentido único em geral produz um resultado, denominado resumo (hash) de tamanho fixo e independente do tamanho do documento original (TANENBAUM, 2009). As funções resumo de sentido único mais conhecidas e usadas são o MD5 (message digest 5 – compêndio de mensagens 5), que produz um resultado de 16 bytes (RIVEST, 1992), e o SHA-1 (secure hash algorithm – algoritmo hash seguro 1), que produz que produz um resultado de 20 bytes (NIST, 1995). Neste artigo, será apresentada uma proposta de implantação de um sistema de vacinação, que utiliza as redes DTN na coleta dos dados das crianças e de suas respectivas cadernetas de vacinação em municípios de difícil acesso e os mais distantes da capital, e que depois são transferidos para um servidor central na capital Paraense, onde será feito o teste de consistência dos dados através das assinaturas digitais criadas a partir do algoritmo MD5. 2. Trabalhos Correlatos A utilização da Criptografia como técnica de garantir a segurança nos sistemas de informação, já fora estudado em vários artigos. Essa técnica é muito difundida no meio acadêmico pelo seu alto grau de confidencialidade. Para confecção deste artigo foram analisados alguns projetos que utilizaram as técnicas e métodos dos principais algoritmos criptográficos inseridos no mercado. O projeto “Desenvolvimento e Análise de um dos Algoritmos SHA-3 Finalistas em Smart Cards” (MARQUES, 2011) teve como objetivo geral o estudo, seleção, implementação e análise do desempenho em smart card de um dos algoritmos de hash finalistas da terceira etapa da competição do NIST. A cada fase da chamada pública para escolha da nova função de hash são realizados comentários dos avaliadores e muitos artigos são escritos, avaliados e comparados aos candidatos (NIST, 2008b). 1 9 1 A terceira e última etapa aconteceu em Dezembro de 2010, onde foram escolhidos os cinco finalistas da competição: BLAKE, Grøstl, JH, Keccak, e Skein. Apontar falhas principalmente de segurança e desempenho é o papel da comunidade científica até a escolha e definição do algoritmo vencedor. Neste contexto, o problema explorado foi à seleção consciente e justificada de um dos algoritmos finalistas. Em seguida foi definido uma plataforma para a implementação e testes do algoritmo selecionado, que no caso foi o smart card. Contribuir com o esforço da comunidade científica para a criação de parâmetros para a análise, comparação e seleção da função de hash vencedora é uma das justificativas do projeto proposto. Este trabalho tem também como objetivo mostrar como a função de hash escolhida se comporta dentro de uma arquitetura com grandes restrições de recursos e processamento. Entre os algoritmos de hash utilizados atualmente destacam-se Message-Digest Algorithm 5 (MD5) e o Secure Hash Algorithm (SHA-1 e SHA-2). O MD5 é um algoritmo de hash de 128 bits desenvolvido em 1991 por Ronald Rivest, Adi Shamir e Leonard Adleman (fundadores da RSA Data Security), atualmente é muito utilizado para verificação de integridade de arquivos e logins em softwares que utilizam o protocolo Peer-to-Peer (P2P). O SHA foi desenvolvido pela National Security Agency (NSA) e publicado pela National Institute of Standards and Technology (NIST) que padronizou a função nos EUA. Os três algoritmos SHA são diferentes estruturalmente e são conhecidos como SHA-0, SHA-1 e SHA-2. Na família SHA-2 existem ainda quatro variantes que possuem estruturas similares, porém geram hashs de tamanhos diferentes que são o SHA224, SHA-256, SHA-384 e SHA-512, e são utilizados atualmente em aplicações que exijam alta segurança da integridade. No entanto foram reportados sucessos de ataques tanto para o algoritmo MD5 (WANG et al., 2004), assim como para os algoritmos SHA-0 e SHA-1 (WANG; YIN; YU, 2005), que geram colisões (informações diferentes que produzem hashes iguais), o que fere o princípio das funções de hash, que é a de garantir a integridade de uma informação. Com esta preocupação, o NIST criou em novembro de 2008 a Competição de Algoritmos Hash Criptográficos, que irá selecionar um algoritmo dentre os vários inscritos na competição para suceder os algoritmos da família SHA. Neste projeto foi escolhido o algoritmo Keccak dentre os cinco finalistas, pois apresenta uma estrutura relativamente simples e versátil, o que facilita não só na implementação do mesmo, mas também na compatibilidade da arquitetura do smart card que é utilizado no projeto. Smart cards disponibilizam pouco poder de processamento e recursos como memória, devido ao seu corpo com dimensões de alguns centímetros, por isso é necessário que o algoritmo seja simples. Além disso, não é foco deste trabalho acertar qual será o vencedor da competição, mas sim criar mais um parâmetro para comparação em um dispositivo de baixo recurso que é o smart card. O algoritmo Keccak pertence à família de funções de esponja, que são funções de hash que utilizam a construção em esponja (descrita na seção 4.2) para transformação ou 192 permutação de tamanho fixo para construção de uma função que a partir de uma entrada de qualquer tamanho gere um saída de tamanho arbitrário (DAEMEN el al., 2009). Um dos grandes atrativos desta nova função de hash é a de que a mesma pode gerar a partir de uma entrada de tamanho variável uma saída de tamanho infinito. Além disso, funções de esponja possuem segurança comprovada contra todos os ataques genéricos existentes (DAEMEN et al., 2009). O algoritmo Keccak consiste de duas partes: a função Keccak-f[b](A,RC), que realiza as permutações e operações lógicas sobre os dados e a função de esponja Keccak[r,c](M), que organiza e prepara os dados de entrada para realizar a manipulação desses dados pela função de permutação e organiza os valores de saída para gerar o hash. Smart cards são, basicamente, circuitos integrados incorporados em cartões, geralmente com seu corpo de plástico e com dimensões de um cartão de crédito. (RANKL, 2007). Existem cartões com outras dimensões, como por exemplo, o cartão SIM, ou então GSM-SIM, muito utilizado atualmente em dispositivos móveis de telecomunicação (celulares, smartphones, etc.) para a identificação, controle e armazenamento dos dados do cliente. O smart card apesar de ter recursos restritos vêm se tornando muito utilizado em diversas áreas como transporte, médicas e principalmente em corporações bancárias e telecomunicações. Áreas como as corporações bancárias requerem grande segurança e sigilo de informações, por isso um smart card deve possuir métodos para garantir a segurança das informações contidas dentro do cartão. Muitos cartões atualmente vêm com a tecnologia Java Card incorporada, o que facilita na criação e controle de aplicações (bancárias, de segurança, telecomunicações, entre outras) pelos desenvolvedores, pelo fato de que tais aplicações são criadas com a utilização da linguagem Java, sem a necessidade de se utilizar linguagens específicas ou instruções de baixo nível para a implementação de aplicativos em smart cards. Java card é a tecnologia que permite que os smart cards sejam capazes de executar pequenos aplicativos criados na linguagem Java (com uma versão mais restrita de recursos de programação). A tecnologia Java Card define um ambiente de execução Java Card (JCRE, em inglês) e fornece classes e métodos para auxiliar no desenvolvimento de aplicações. (CHEN, 2000). A tecnologia consequentemente também disponibiliza a possibilidade de execução destes aplicativos inseridos no smart card, através do Java Card Virtual Machine (JCVM) contido no mesmo. Alguns dos benefícios do uso da tecnologia é que ela fornece facilidade para o desenvolvimento de aplicações, pois usa uma linguagem de alto nível, traz vários mecanismos de segurança, como por exemplo, o uso de firewalls para separar cada aplicação (impedindo uma acessar outra indevidamente), possui uma independência ao hardware, podendo ser executado um aplicativo em qualquer smart card com suporte a plataforma Java Card, e é possível armazenar e controlar múltiplas aplicações dentro de um mesmo cartão. (CHEN, 2000). Neste projeto foi utilizado um leitor de cartões GemPC Twin com interface USB, fabricado pela Gemalto e mostrado pela Fig. 14, que foi utilizado para a importação dos aplicativos dentro do cartão e para o envio de dados. Quanto ao smart card, utilizamos um com suporte à Java Card desenvolvido pela NXP Semiconductors¸ modelo NXP P541G072. Para o desenvolvimento do algoritmo de hash é utilizado o ambiente de 1 9 3 desenvolvimento Eclipse, juntamente com o plugin JCOP Tools, plugin desenvolvido inicialmente pela IBM e atualmente é de autoria da NXP Semiconductors. Todas as tecnologias empregadas no projeto (exceto a IDE Eclipse) foram disponibilizadas pelo Laboratório de Sistemas Integráveis Tecnológico (LSITEC) em parceria com o UNIVEM e este projeto. Foi observado que a função Keccak implementada neste projeto requer muito tempo de processamento para gerar a função de hash, o que torna seu uso ineficaz. A otimização da função deve ser realizada para diminuir este tempo e umas das formas é a utilização da memória RAM efetivamente, que fornece uma velocidade de acesso no mínimo 10x maior comparado à memória EEPROM. Outro projeto envolvendo Criptografia de dados é o “Submissão Autenticada de Ficheiros ao SIGEX” (MARTINS E CERQUEIRA, 2010) o SIGEX (Sistema de Gestão de Exames). Após a requisição de um exame por parte de um docente, irá fornecer uma chave privada e uma chave pública. A chave privada, será usada pelo professor e permite-lhe submeter os enunciados da prova, recolher todas as provas submetidas pelos alunos e controlar o tempo do exame. A chave pública é usada pelos alunos e permitelhes aceder à página do exame, onde têm acesso aos enunciados e podem submeter a sua prova. Em termos gerais são estas as funcionalidades do SIGEX, mas existem alguns problemas do foro da segurança que serão detalhados. Apesar de todas as funcionalidades deste serviço, actualmente não existe forma de saber se o exame que o professor vai corrigir é o mesmo que o aluno submeteu. O ficheiro pode ser alterado no intervalo de tempo entre a submissão e recolha enquanto está alojado nos servidores do CICA. É também importante referir que na altura do exame o aluno tem os recursos limitados, ou seja, uma forma de assinatura através de uma chave numa pen-drive não é viável. Para colmatar estas falhas de segurança e fazer face às limitações impostas surgiu este artigo. A ferramenta desenvolvida tem como objectivo garantir: ● Integridade dos ficheiros submetidos, ou melhor, permite detectar se a integridade desses mesmos ficheiros foi posta em causa, quer por alteração quer por destruição; ● Autenticidade das entidades envolvidas, isto é, as entidades são quem dizem ser; ● Irretractibilidade, ou seja, as entidades envolvidas não podem negar a sua identidade. Para o desenvolvimento da aplicação foi utilizada criptografia baseada em cifragem irreversível (uni-direccional). A ideia chave deste tipo de criptografia é calcular um número (denomindo hash value) que seja característico de um texto ou ficheiro. Uma das principais vantagens é o facto do texto original não ser recuperável após ser aplicado o algoritmo. É bastante utilizado em situações que se pretende criar um canal de comunicação que favoreça autenticação entre as entidades envolvidas e verificação de integridade das mensagens trocadas. As propriedades de um algoritmo irreversível são: ● Simplicidade - a codificação do texto original é fácil; 194 ● Não Reversabilidade - é impraticável inverter a sua função; ● Unicidade - é actualmente, computacionalmente impossível, encontrar dois textos P1 e P2 tal que H(P1) = H(P2); O algoritmo unidireccional utilizado nesta aplicação é o MD5 (Message Digest 5), desenvolvido em 1991 por Ronald Rivest MD4, usado especialmente para verificação de integridade em mensagens em que o número resultante da aplicação da função tem 128 bits. Um esquema da criptografia utilizada na aplicação após a submissão no sistema SIGEX está ilustrada na figura seguinte: Figura 1. Esquema da criptografia utilizada na aplicação após a submissão no sistema SIGEX. Fonte: (MARTINS E CERQUEIRA, 2010) O sistema inicialmente calcula um hash value do ficheiro submetido utilizando o algoritmo MD5 e transforma-o num código fixo de 128 bits. Esse ficheiro F é concatenado à palavra-passe PWa do aluno que submeteu o ficheiro e é calculado através do mesmo algoritmo um código P. Esta palavra-chave do aluno é introduzida pelo aluno após a submissão do ficheiro e o respectivo pedido de recepção dos códigos para verificação de adulteração de dados. O código P calculado anteriormente é novamente concatenado a uma palavrapasse do conhecimento do CICA e transformada através do algoritmo MD5 um código Q. Posteriormente, para a validação de ambas as palavra-passe, será calculado um código auxiliar L para esta função como na figura seguinte: 1 9 5 Figura 2. Cálculo da função que gera o código auxiliar L. Fonte: (MARTINS E CERQUEIRA, 2010). L é obtido através do hash da concatenação da palavra-passe do CICA e do aluno. Posteriormente os códigos P, Q e L são enviados para o email que o aluno especificou na altura em que submeteu o ficheiro correspondente ao resultado do exame e após ter feito um pedido de recepção dos códigos para verificação de adulteração de dados. Figura 3. Envio dos códigos P, Q e L para o e-mail especificado. Fonte: (MARTINS E CERQUEIRA, 2010) O aluno, quando suspeita de alteração e adulteração de dados do ficheiro que submeteu anteriormente (através de, por exemplo, uma nota de um exame diferente que a esperada), deve dirigir-se à entidade de disponibilizou o SIGEX (neste caso, o CICA) para proceder à validação e teste dos códigos P, Q e L com o ficheiro submetido. Após a introdução dos códigos (P, Q e L), ficheiro F submetido e a palavrapasse do aluno, é efectuada a primeira validação que corresponde à verificação de alteração dos códigos P e Q, ou seja, são comparados os ficheiros Q e a hash obtida da junção de P com a palavra-passe do CICA. 196 Figura 4. Primeira validação correspondente a verificação de alteração dos códigos P e Q. Fonte: (MARTINS E CERQUEIRA, 2010) Uma comparação equalitativa positiva valida os códigos introduzidos e o sistema passa à próxima validação, se essa igualdade não for verificada não é possível continuar devido à possibilidade dos códigos terem sido modificados pelo aluno. A segunda validação tem como objectivo a detecção de um erro na introdução das palavras-passe pelo aluno e pelo CICA. Figura 5. Segunda validação de detecção de erro na introdução das palavraspasse pelo aluno. Fonte: (MARTINS E CERQUEIRA, 2010) É utilizada uma comparação entre o hash value da concatenação de ambas as palavras-passe e o código L anteriormente enviado para o email do aluno. Se essa igualdade for verificada as palavras-passe inseridas estão correctas, se não for esse o caso as palavras-passe estão incorrectamente inseridas. A fase de teste é o objectivo do projecto, ou seja, verificar a adulteração de dados do ficheiro submetido no SIGEX. 1 9 7 Figura 6. Comparação entre as hash value envolvidas. Fonte: (MARTINS E CERQUEIRA, 2010) Para verificar a adulteração de dados do ficheiro submetido é calculado do mesmo o MD5 e posteriormente utilizado no cálculo do mesmo algoritmo utilizando a sua concatenação com a password inserida pelo aluno. O sistema verifica se o código P será igual a esse valor. Se o teste for positivo então não houve adulteração de dados do ficheiro. Se o teste for negativo então o ficheiro submetido foi modificado, e o aluno poderá reclamar da nota que lhe foi atribuída. As tecnologias utilizadas para a implementação desta aplicação são: ● HTML - utilizada para o desenvolvimento das páginas web; ● PHP - utilizada para o desenvolvimento das páginas web e para a aplicação dos algoritmos de encriptação; ● Javascript - utilizada para a validação dos e formulários e interacção com a páginas web; ● CSS - utilizada para definir a apresentação das páginas web; Os possíveis ataques ainda são baseado no brute-force, é o ataque de aniversário, que, reduz para o número de entradas a testar para 2⁶⁴, o que ainda é considerável. Outra forma de conseguir ludibriar o sistema, é o aluno conseguir de alguma forma, conseguir descobrir a palavra-passe do CICA. A segurança desta palavra passe, que estará armazenada num ficheiro, ficará a cargo do CICA. Deverá tentar, através de criptografia ou de outros métodos, manter a palavra-passe protegida de acessos não autorizados. Existe ainda a possibilidade, considerada muito remota, de haver colisões. Ou seja, diferentes ficheiros produzirem a mesma hash, ainda assim teriam de acontecer 4 colisões simultâneas (número de vezes que o algoritmo é aplicado), o que é altamente improvável e só uma infeliz coincidência poderia produzir esse resultado. A aplicação desenvolvida, se aplicada, forma uma mais valia tanto para o aluno, como para o professor e o CICA. O aluno poderá reclamar caso suspeite de uma alteração dos dados. 198 Desta forma impede-se que um sujeito com intenção de prejudicar o aluno, altere o ficheiro submetido, e impede também que o aluno tente melhorar o seu exame depois do prazo de submissão. Estas vantagens poderiam tornar-se realidade com uma simples alteração do sistema actual e que achamos ser de fácil implementação. Isto permitiria evitar situações desagradáveis, tornando o sistema mais seguro e consistente. 3. Segurança via algoritmo MD5 O algoritmo MD5 foi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que tinha alguns problemas de segurança. Por ser um algoritmo unidirecional, uma hash md5 não pode ser transformada novamente no texto que lhe deu origem. O método de verificação é, então, feito pela comparação das duas hash (uma da mensagem original confiável e outra da mensagem recebida). O MD5 também é usado para verificar a integridade de um arquivo através, por exemplo, do programa md5sum, que cria a hash de um arquivo e o compara com outro arquivo, isto se tornar útil para downloads de arquivos grandes, para programas P2P que constroem o arquivo através de pedaços e estão sujeitos a corrupção dos mesmos. O MD5 é de domínio público para uso em geral. A partir de uma mensagem de um tamanho qualquer, ele gera um valor hash de 128 bits; com este algoritmo, é computacionalmente impraticável descobrir duas mensagens que gerem o mesmo valor, bem como reproduzir uma mensagem a partir do seu digest. O algoritmo MD5 é utilizado como mecanismo de integridade baseado em vários protocolos padrão da Internet (RFC1352, RFC1446, etc.), bem como pelo CERT e CIAC. (VALE, Christiano Rodarte. Criptografia MD5. Em: http://www.devmedia.com.br/criptografiamd5/2944.>. Acessado em: 15 ago 2013.). 3.1 Vulnerabilidade Como o MD5 faz apenas uma passagem sobre os dados, se dois prefixos com o mesmo hash forem construídos, um sufixo comum pode ser adicionado a ambos para tornar uma colisão menor provável. Deste modo é possível que duas Strings diferentes produzam o mesmo hash. O que não garante que a partir de uma senha criptografada específica consiga-se a senha original, mas permite uma possibilidade de decifrar algumas senhas a partir de um conjunto grande de senhas criptografadas. (Em: <http://pt.wikipedia.org/wiki/MD5#Vulnerabilidade>. Acessado em 15 ago 20013.). Para aumentar a segurança em alguns sistemas, usa-se a tática de adicionar um texto fixo no texto original a ser criptografado. Deste modo se o texto fixo for "João” e a senha for "1234", a pseudo-senha poderá ser "João1234" e assim mesmo que alguém tenha o MD5 de 1234 por ser uma senha comum ele não terá de “João1234”, gerando uma hash totalmente diferente. Na tabela 1 é feito um comparativo entre as senhas: Tabela 1. Comparativo entre as hash criadas via MD5. SENHA RESULTADO CRIPTOGRAFADO 1234 81dc9bdb52d04dc20036dbd8313ed055 1 9 9 João1234 72802792f53d9807551ec3c08a5b8a81 Vale ressaltar que o simples fato de se colocar um espaço em branco ou qualquer outro caracter entre os demais caracteres muda-rá totalmente o resultado final da hash criada. 4. Redes DTN Redes tolerantes a atraso (DTN) é uma arquitetura de redes de computadores que visa minimizar os problemas técnicos em redes heterogêneas nas quais pode haver falta de conectividade de rede contínua (queda de Internet). Exemplos de tais redes são as redes móveis, ou de ambientes extremos (guerras, resgates, acidentes etc.), ou redes planejadas para o espaço. Recentemente, o termo redes tolerantes a “rompimento” (Disruption-Tolerant Networking - DTN) ganhou espaço nos Estados Unidos, devido ao apoio da DARPA (Defense Advanced Research Projects Agency), ou Agência de Projetos de Pesquisa Avançada de Defesa, que fundou vários projetos relacionados a DTN. Esse rompimento pode ocorrer por causa dos limites do alcance da wireless, dispersão dos nós móveis, recursos energéticos, ataques e ruído(interferência). (Em: <http://pt.wikipedia.org/wiki/Delay-tolerant_networking>. Acessado em: 15 ago 2013.). 4.1. Roteamento A habilidade de transportar ou rotear dados de uma fonte para um destino é fundamental, e todas as redes de comunicação devem tê-las. As Redes DTN, são caracterizadas pela falta de conectividade, resultando na falta de caminhos fim-a-fim instantâneos. Nesses ambientes desafiadores, protocolos de roteamento populares de adhoc, como o AODV e o DSR falham em estabelecer rotas. Isso se deve ao fato desses protocolos tentarem primeiramente estabelecer uma rota completa, e então, após a rota ter sido estabelecida, encaminhar os dados. No entanto, quando caminhos fim-a-fim são difíceis ou impossíveis de se estabelecer, protocolos de roteamento devem tentar uma estratégia “armazenar e encaminhar” (store and forward), onde os dados são movidos incrementalmente e armazenados por toda a rede, esperando-se que eles irão eventualmente atingir o seu destino. Uma técnica comum usada para maximizar a probabilidade de uma mensagem ser transmitida com sucesso é replicar várias cópias da mensagem (roteamento de epidemia) na esperança de que uma delas terá sucesso atingindo o seu destino. Isso é factível apenas em redes com grandes quantidades de armazenamento local e largura de banda entre os nós proporcional ao tráfego esperado. Em vários cenários, essa ineficiência é superada pela eficiência crescente e pelos tempos de entrega reduzidos possibilitados tomando-se a maior vantagem possível de oportunidades de encaminhamentos não agendados disponíveis. Em outros (cenários), onde o armazenamento disponível e as oportunidades entre os nós são mais restritos, um algoritmo menos imparcial é necessário. 4.2. Segurança Tratar os problemas de segurança nas redes DTN, têm sido um dos seus maiores obstáculos. As preocupações envolvendo esse tipo de rede variam dependendo do ambiente e da aplicação, apesar de que os problemas de autenticação e privacidade 200 tendem a ser críticos. Essas garantias de segurança são difíceis de se estabelecer numa rede sem conectividade persistente, porque a rede coloca entraves em protocolos criptográficos complicados, na troca de chaves, e cada dispositivo deve identificar outros dispositivos intermitentemente visíveis. Soluções originais da comunidade de pesquisa de tolerância a atraso incluem: 1) O uso de encriptação baseada em identidade, que permite que nós recebam informação encriptada com seu identificador público; e 2) O uso de tabelas de falsificações evidentes, com um protocolo “fofoqueiro”. (Em: <http://pt.wikipedia.org/wiki/Delay-tolerant_networking>. Acessado em: 15 ago 2013.). 5. Estudo de caso O Sistema DTN de Vacinação tem como proposta a implantação de um sistema de vacinação que utiliza as redes DTN na coleta das informações das crianças e de suas respectivas cadernetas utilizando Mula de Dados, para colher essas informações. Assim como no projeto CoDPON que tem como proposta viabilizar a integração de programas sociais do governo entre comunidades remotas e grandes centros urbanos, a baixo custo. A proposta é resumida na Figura 7 e mostra o uso da malha hidrográfica para permitir o acesso de localidades remotas aos sistemas do governo. Figura 7. InfraEstrutura Fim a Fim CoDPON. Fonte: (Margalho, 2009) A criptografia no Sistema DTN de Vacinação, tem como objetivo manter a consistência dos dados obtidos, e para isso foi desenvolvido um método em linguagem de programação Java com o JDK (Java Development Kit) ou quite de desenvolvimento para aplicações em Java; a API (Application Programming Interface) ou Interface de Programação de Aplicativos, Message Digest (java.security.MessageDigest), que permite obter uma instância do algoritmo a ser usado no método; o NetBeans IDE (Integrated Development Environment) ou Ambiente de Desenvolvimento Integrado, que permite o desenvolvimento de aplicações Java desktop, móvel e aplicações para Internet, além de fornecer suporte para outras linguagem de programação como PHP, C/C++, Python. Para criar a base de dados foi utilizado o PostgreSql SGBD (Sistema de Gerenciamento de Banco de Dados) relacional, que já possui uma função nativa para criptografar os dados da coluna seleciona e também por ser um SGBD robusto de código fonte aberto e que tem à segurança e confiabilidade como seus pontos principais. 2 0 1 O sistema utiliza criptografia com cifragem irreversível (uni-direcional), fazendo apenas uma passagem que criará a hash. Essa hash servirá como assinatura digital do novo objeto, e será formada a partir da soma de todos os campos da tabela selecionada com uma variável CONSTANTE, do tipo private static final, que terá um valor único e inalterável, como mostra a figura 8. Figura 8. Criação da hash que servirá como assinatura digital do objeto criado A figura 9, mostra, a criação do script sql (Structured Query Language) ou Linguagem de Consulta Estruturada de inserção com a função MD5( ), que criptografa o campo “MD5” da tabela “criança” criando a hash que vai ser usada como assinatura digital da tupla na hora da realização do teste de consistência dos dados. Figura 5. Criação do script de inserção e criptografia via algoritmo MD5( ) A interface gráfica do Sistema DTN de Vacinação, foi desenvolvida com a API do Java GUI Swing (javax.swing), que apresenta um mecanismo amigável ao usuário para interagir com o sistema. Uma GUI (graphical user interface) dá ao aplicativo uma ‘aparência’ e um ‘comportamento’ distintos. Fornecer aos diferentes aplicativos componentes de interface com o usuário consistentes e intuitivos permite, de certa maneira, que ele se familiarize com um aplicativo, para que possa aprendê-lo mais rapidamente e utilizá-lo com mais produtividade. (DEITEL, 2005). A figura 10 mostra a tela inicial do Sistema e o formulário de cadastro de criança que informa se os dados foram cadastrados com sucesso no banco de dados. 202 Figura 6. Interface Gráfica do Sistema DTN de Vacinação Após a confirmação, as informações referentes à criança cadastrada são armazenadas no banco de dados PostgreSql, que vai fazer o gerenciamento de cada informação de acordo com as regra estabelecidas pelo sistema. Para fazer a confirmação que a criança realmente foi cadastrado no banco basta acessar a opção Execute arbitrary SQL queries, do PostgreSql, e realizar uma consulta do tipo select * from, e o nome da tabela neste caso CRIANCA, para retornar todos os campos da tabela ou selecionar os campos mais relevantes, neste caso, por questões de visualização vão ser apresentados apenas 04 (quatro), e em destaque esta o ultimo registro inserido na tabela CRIANCA e a sua respectiva assinatura digital no campo md5. Figura 7. Tela do Execute arbitrary SQL do PostgreSql retornando a consulta solicitada 2 0 3 Quando as diversas bases de dados se sincronizarem com o servidor principal serão realizados testes de consistência das informações recolhidas pelas mulas de dados. Através das assinaturas digitais, para saber se a informação não está corrompida ou se houve tentativa de fraudar o sistema. Esse processo utiliza um ArrayList da API (java.util.ArrayList), porque como o algoritmo MD5 é unidirecional não há uma maneira de decifrá-lo. A única maneira de saber se as assinaturas digitais são iguais, é fazendo uma comparação entre a assinatura salva no banco de dados com uma nova assinatura gerada a partir de um loop, que vai percorrer novamente todos os campos do objeto e soma-los novamente com a mesma variável do tipo CONSTANTE, e armazená-la em uma posição do ArrayList que será novamente criptografado, só que agora pela função messageDigest que vai gerar uma nova hash e armazená-la e uma nova variável do tipo String e assim compará-las. Figura 8. Trecho do código de criação da nova hash que será usada na comparação entre as assinaturas Em seguida é feita a comparação entre as assinaturas digitais através do método equalsIgnoreCase() da linguagem Java. Se as assinaturas forem iguais, o campo areaTeste irá receber a informação que os dados referentes aquela criança estão “CONSISTENTES!”, senão, houve algum problema e é informado que os dados daquela criança estão “INCONSISTENTES!”. 204 Figura 9. Trecho do código que compara as duas assinaturas Para ter acesso ao Teste de Consistência do Sistema DTN de Vacinação, basta ir até a opção “Arquivo” no menu principal e acessar a opção “Teste de Consistência”, que será exibida a tela do teste, e para realizá-lo basta clicar no botão Executar Figura 10. Interface da Tela inicial e do formulário que executa o Teste de Consistência do Sistema DTN de Vacinação 6. Conclusão O Sistema DTN de Vacinação foi desenvolvido, com a finalidade de manter a consistência das informações no processo de coleta nas redes DTN. Tendo a criptografia como sua ferramenta principal. O uso do algoritmo MD5 impede que seja feito qualquer tipo de alteração nas informações colidas pelas mulas de dados, gerando uma assinatura 2 0 5 digital única para cada tupla inserida na base de dados do sistema que é usada no teste de consistência das informações. Para isso foi criado um ambiente de desenvolvimento que utiliza as principais tecnologias no mercado como a linguagem de programação Java e suas API’s, a IDE Netbeans e o SGBD PostegreSql. Todos softwares possuem licença gratuita, o que torna viável o desenvolvimento do sistema principalmente para programas sociais do governo, que tenta levar a integração social entre as comunidades de difícil acesso e as grandes cidades. Referências CRIPTOGRAFIA MD5. Entre no mundo da criptografia, conheça os usos desta técnica e saiba como proteger seus dados utilizando a criptografia MD5. Disponível em: < http://www.devmedia.com.br/criptografia-md5/2944 >. Acessado em: 15 ago 2013. DEITEL, H.M. Java como programar. 6º ed. São Paulo: Pearson Prentice Hall, 2005. P. 373. MARQUES Fernando Yokota. Desenvolvimento e Análise de um dos Algoritmos sha3 Finalistas em Smart Cards. Marília, novembro de 2011. Projeto de Graduação(Bacharel em Ciências da Computação) Centro Universitário Eurípides de Marília – UNIVEM, 2011. Martins, José; Cerqueira Marcelo, Submissão Autenticada de Ficheiros ao SIGEX. Cidade do Porto, julho de 2010. NIST (National Institute of Standards and Technology). FIPS Pub. 180-1, 1995. TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3 ed. São Paulo: Pearson Prentice Hall, 2009. 382p e 384p. WIKIPÉDIA. Delay-tolerant networking. Disponível em: < http://pt.wikipedia.org/wiki/Delay-tolerant_networking >. Acessado em: 15 ago 2013. WIKIPÉDIA. MD5. Disponível em: < http://pt.wikipedia.org/wiki/MD5 >. Acessado em: 15 ago 2013. 206 Uso de redes DTN para coleta automatizada de dados oriundos de radares de trânsito da Região Metropolitana de Belém Jessica Santos1, Heverson Silva 1, Mauro Margalho1 1 Centro de Ciências Exatas e Tecnologias – Universidade da Amazônia (Unama) Av. Alcino Cacela, 287 – 66.060-902 – Belém – PA – Brasil [email protected], [email protected], [email protected] Abstract. This paper presents a new proposal to collect data and information (such as fines and infractions) radar located in the Metropolitan Region of Belém and transfer this information efficiently to AMUB (Municipality Urban Mobility of Belém) using the buses that travel in RMB. These vehicles use a receiver that collects the information from radar. However, connectivity between the radar and the bus will not continuously, so it is necessary to use network DTN (Delay / Disruption Tolerant Network). Resumo. Este artigo apresenta uma nova proposta para coletar dados e informações (como multas e infrações) de radares localizados na Região Metropolitana de Belém e transferir essas informações de forma eficiente, para a AMUB (Autarquia de Mobilidade Urbana de Belém), utilizando os ônibus que trafegam na RMB. Esses veículos utilizam um receptor que coleta as informações dos radares. No entanto, a conectividade entre o radar e o ônibus não se dá de forma contínua, dessa forma é necessária a utilização de Redes DTN (Delay / Disruption Tolerant Network). 1. Introdução A melhoria de qualidade da mobilidade urbana tem sido um enorme desafio às autoridades brasileiras. Muito desse problema se deve à falta de planejamento associada ao crescimento das grandes metrópoles. Sem espaços para estacionar e com o aumento quase que exponencial da frota de automóveis e motocicletas, o trânsito se torna caótico, especialmente por causa das frequentes infrações cometidas por motoristas impacientes e imprudentes. Em muitos casos, a única forma de minimizar o desrespeito ao Código Nacional de Trânsito é através dos sistemas de fiscalização eletrônica instalados em pontos estratégicos das grandes cidades. Na maioria dos casos, esses sistemas de monitoramento não possuem nenhuma conectividade com as entidades reguladoras de trânsito, sendo a coleta dos dados feita manualmente, dentro de uma periodicidade previamente definida. Isso ocorre não somente por restrições da tecnologia, mas principalmente pelos custos associados a esse processo. Este artigo propõe a utilização de uma rede colaborativa de mula de dados, baseada no princípio de redes tolerantes a atrasos e desconexões ou Delay Tolerant Network (DTN), como forma de automatizar a coleta dos dados dos radares de forma simples e a baixo custo. O estudo de caso, feito através de simulação na Região Metropolitana de Belém (RMB), aponta claramente para a viabilidade da proposta, assim como diminui significativamente o intervalo de coleta dos dados de infrações, tornando o processo mais ágil e barato. 2 0 7 Os radares são equipamentos responsáveis pela fiscalização eletrônica das vias urbanas e, em geral, ficam localizados em vias muito movimentadas ou naquelas que registram as maiores estatísticas de acidentes. Esses radares são compostos, em sua maioria, por sensores que enviam pulsos eletromagnéticos até os computadores de medição, nos quais são realizados os cálculos que indicam a velocidade na qual os motoristas trafegam pelas vias. Sendo confirmado o excesso de velocidade, as câmeras registram e armazenam a imagem da placa do veículo. Os equipamentos mais sofisticados já possuem algoritmos de reconhecimento de padrões que conseguem capturar as informações obtidas nos registros de vídeo e convertê-las em formato apropriado ao banco de dados. Na Região Metropolitana de Belém, o recolhimento desses dados ainda ocorre de forma totalmente manual. Neste caso, os técnicos se deslocam até os radares, coletam os dados e, em seguida, retornam à entidade gestora do sistema de transporte e de trânsito que, neste estudo de caso, chama-se AMUB (Autarquia de Mobilidade Urbana de Belém). Este artigo propõe o uso de redes DTN para a realização da coleta e da transferência dos dados obtidos pelos radares. 2. Redes Tolerantes a Atrasos e Desconexões (Delay/Disruption Tolerant Network) As Redes DTN constituem uma arquitetura de rede que pode ser entendida como uma rede sobre redes heterogêneas, onde cada uma é chamada de região DTN. Esse tipo de rede se utiliza de armazenamento persistente e comutação de mensagens para se comunicar entre regiões onde diferentes redes trocam mensagens específicas. No entanto, essas regiões só conseguem se comunicar devido à arquitetura DTN implementar uma camada abaixo da camada de aplicação, e acima da camada de transporte do protocolo TCP/IP, chamada de Camada de Agregação (Bundle Layer). Esta sobrecamada se utiliza de um único protocolo para comunicação entre diversas redes DTN [Memória et al. 2007]. As aplicações de redes DTN trocam mensagens de tamanhos variados, que mensagens são modificadas pela Camada de Agregação em uma ou várias unidades de dados de protocolos denominados de agregados que, através do dispositivo de armazenamento embutido, são armazenados e enviados pelos nós de Redes DTN. No contexto desta proposta, os nós da rede podem ser: um host, que envia e/ou recebe mensagens dos radares ou dos transportes coletivos, mas não as repassa; um roteador, que encaminha mensagens entre uma única rede DTN; ou um gateway, que encaminha mensagens entre duas ou mais regiões DTN. Esse tipo de rede pode operar utilizando diferentes protocolos de roteamento. Como exemplo, pode-se referenciar o First Contact Router, o Epidemic Router, o Direct Delivery Router e o Spray And Wait Router. No protocolo de roteamento First Contact Router, o nó de origem envia a mensagem para o primeiro nó com o qual vier a estabelecer uma conexão. O nó, em seguida, transmite a mensagem para a primeira região DTN que estabelece contato e, assim, até que ocorra a transmissão completa da mensagem ao seu destino final [Jain et al.2004]. Já no protocolo Epidemic Router, os pacotes se espalham pelos nós da rede quando um deles entra no alcance de transmissão de outro. Neste caso, quando é estabelecida uma conexão, os pacotes ficam armazenados e transmitidos, aleatoriamente, ao entrarem em contato [Campos et al. 2010]. Esse protocolo alastra a mensagem como 208 se fosse uma epidemia, já que, quanto mais cópias da mensagem forem enviadas, maiores serão as chances de entrega e menor o atraso. [Villares et al. 2013]. O protocolo Direct Delivery Route permite que o nó de origem só transmita uma mensagem se o próximo contato for diretamente com o nó de destino [Rashid et al. 2011], e o protocolo Spray and Wait Router tem o objetivo de gerar um número pequeno de cópias, para que o número de transmissões seja menor e controlado. Este protocolo consiste em duas fases: o Spray, que distribui um determinado número de vezes a mesma mensagem e, se não encontrar o destinatário, a segunda fase, Wait ou o estado de espera, é acionada. Neste estado, os nós permitem uma entrega diretamente ao destinatário [Spyropoulos et al. 2005]. Em uma rede DTN, existem diversos tipos de contato, dentre os quais destacamse: contatos oportunistas, persistentes, contatos sob demanda, programados e os previsíveis. Os Contatos Oportunistas são aqueles que acontecem sem serem previamente programados. Neles um nó emissor e um nó receptor estabelecem contato em momento não planejado, neste caso os nós DTN, ao se movimentarem, podem fazer contato e troca de informações no momento em que o contato oportunista ocorre, bastando encontrar-se dentro da área de cobertura de outro nó DTN. Já no tipo de Contatos Persistentes as variações de contatos sempre está disponível [Oliveira et al. 2007]. O Contato sob Demanda caracteriza-se pela solicitação de uma ação, a qual o nó de origem envia um sinal wake-up (“acordar”) para um nó de destino que se encontra em standy by (“adormecido”), e este altera seu estado para um estado wake-up. A partir de então, passa a atuar como um contato persistente, enviando ou recebendo informações. O Contato Programado caracteriza-se pelo agendamento de horários para a comunicação entre os nós DTN, antes da troca efetiva das informações, sendo necessário estes horários de comunicação serem previamente estabelecidos entre os nós DTN comunicantes. Já os Contatos Previsíveis são aqueles em que os nós das Redes DTN conseguem manter contato fazendo uma previsão de horário e duração dos contatos com base em um histórico de contatos previamente armazenados [Memória et al. 2007]. 2.1. Data Mule (Mula de Dados) Diversos projetos já foram desenvolvidos com objetivos de reduzir os níveis de exclusão tecnológica em regiões sem infraestrutura de comunicação. Esses projetos utilizam uma tecnologia alternativa chamada de mula de dados (Data MULE) para fazer o transporte de dados entre essas regiões. “O termo MULE é um acrônimo Mobile Ubiquitous LAN Extensions usado por [Shah et al. 2003]. Uma mula de dados representa um dispositivo móvel que recolhe dados em um campo de sensores fisicamente, visitando nó a nó em uma rede de sensores, para coletar os dados. As mulas possuem grande capacidade de armazenamento e se comunicam com os pontos de acesso. Mulas de dados podem ser ônibus, motos, caminhões, pessoas, animais e barcos” [Ferreira and Coutinho 2009]. No contexto do trabalho proposto, as mulas de dados são os ônibus que trafegam na Região Metropolitana de Belém, conforme ilustra a Figura 1. 2 0 9 Figura 1. Cenário Proposto (RMB) 3. Metodologia e Ferramentas Para avaliar o desempenho e, consequentemente, a viabilidade desta proposta, optou-se pela técnica de simulação. Para tanto, foi utilizado o software “The Opportunistic Network Environment Simulator” The ONE [Keranen and Ott 2009] apresentado na seção 3.1. Para compor o ambiente de simulação, foram selecionados oito radares baseados em pontos fixos e localizados nos principais pontos na RMB. Também foram consideradas nove linhas de ônibus urbanos, cujas rotas possibilitam contatos oportunísticos com os radares, conforme descrito na Tabela 1. Tabela 1. Localização dos Radares e Linhas de Ônibus na RMB Radares Localização Coordenadas Geográficas Radar 01 Av. João Paulo II. Latitude: 1°25'45.91"S/ Longitude: 48°26'51.54"O Radar 02 Av. Roberto Camelier X R. dos Mundurucus. Latitude:1°27'52.17"S/ Longitude: 48°29'33.01"O Radar 03 Av. Nazaré X Tv. Dr. Moraes. Latitude: 1°27'13.00"S/ Longitude: 48°29'28.22"O Radar 04 A Av. Gov. José Malcher X Castelo Branco. Latitude: 1°26'54.46"S/ Longitude: 48°28'14.97"O Radar 05 Av. Conselheiro Furtado X Tv. Alc. Cacela. Latitude: 1°27'23.17"S/ Longitude: 48°28'37.91"O Radar 06 Rua Antônio Barreto X Tv. 14 de Abril. Latitude: 1°26'32.47"S/ Longitude: 48°28'19.21"O Radar 07 Av. Duque de Caxias X Tv. Mauriti. Latitude: 1°26'0.24"S/ Longitude: 48°27'50.54"O Radar 08 Tv. José Bonifácio X Barão do Igarapé Miri. Latitude: 1°28'3.07"S/ Longitude: 48°28'6.85"O Linhas de Ônibus UFPA Padre Eutíquio, Cremação Alcino Cacela, UFPA Alcino Cacela, UFPA Tamoios, UFPA Ver o Peso, Cremação Estrada Nova, UFPA Pedreira, Pedreira Lomas e Cidade Nova 6. 210 Para mapear e analisar a trajetória das linhas de ônibus selecionadas, utilizou-se o software Maverick GPS Navegation (Versão 1.6), disponível gratuitamente na plataforma Android. Esse software viabilizou o traçado das rotas, além de coletar dados como a distância, velocidade média e tempo do percurso. O Maverick, ao traçar a rota, gera um arquivo no formato “.gpx”, que pode ser importado e visualizado no Google Earth. O objetivo foi obter uma referência para ser usada na modelagem do ambiente a ser feita no software de georeferenciamento chamado OpenJump. O Open Jump é um software baseado em um Sistema de Informação Geográfica de código aberto (SIG), escrito na linguagem de programação Java [Open Jump 2012], que permite a criação de modelos representativos do ambiente real feito em escala. Os pontos representados pelos radares, a agência reguladora AMUB e as rotas dos ônibus foram modelados neste software com vistas à geração de arquivos no formato “.wkt”, que são reconhecidos pelo simulador The One. A Figura 2 ilustra as rotas e as trajetórias traçadas no Software Open Jump. Figura 2. Rotas dos ônibus e radares no Open Jump 3.1. O Simulador de Redes Oportunísticas “The One” O “The One Simulator” é um simulador gratuito, desenvolvido em Java, cujo objetivo é a investigação em Redes Tolerantes a Atrasos e Desconexões (DTN’s). Ele permite aos usuários criar cenários com base em diferentes modelos de movimento e, também, oferece uma estrutura para a implementação de diferentes protocolos de roteamento. Ao avaliar o desempenho de protocolos de DTN, é importante ressaltar que eles são parametrizados sob diferentes configurações, que podem ser ajustadas para coincidir com o cenário de aplicação pretendida. Este software permite uma visualização interativa e ferramentas de pós-processamento para apoiar a avaliação das simulações, além de produzir uma variedade de relatórios de movimentos dos nós, desde repasse de mensagens até a apresentação de estatísticas gerais [Keranen and Ott 2009]. 2 1 1 O software “The One” permite a inclusão de arquivos no formato “.wkt” para implementar os modelos de movimento. Os arquivos “.wkt” consistem em uma linguagem de marcação para representar vetores geométricos, inclusive mapas [Villares at al. 2013]. 4. Parametrização da Simulação Para simular um cenário realista, foram consideradas as características do tráfego urbano baseadas nos dados coletados pelo software Maverick. Com exceção dos radares de fiscalização, os nós móveis foram configurados para se deslocarem de acordo com as rotas das linhas pré-estabelecidas. Neste caso, os ônibus partem de um terminal e trafegam na RBM em formato de anel, retornando, ao final, para o ponto de partida. Durante o percurso, os ônibus podem realizar a aquisição dos dados sempre que estiverem dentro do alcance da rede sem fio acoplada aos radares, conforme ilustrado na Figura 3. Cabe ressaltar, que a transferência de dados é realizada somente quando os ônibus estiverem dentro da área de cobertura das redes IEEE 802.11 associadas aos nós DTN instalados. Os parâmetros de simulação foram definidos com base nas rotas dos ônibus e localização dos radares, conforme apresentado na Tabela 02. Figura 3. Simulação com o Software The One Tabela 2. Parâmetro das Simulações Período de Simulação. 24h. Interface de Rede dos Equipamentos DTN. Wi-Fi (802.11b – Ad hoc) Velocidade de Transmissão de dados. 1375 kbps. 212 Alcance da comunicação durante o contato oportunista. 100 m. Tamanho das mensagens. 500k a 3000 k. Protocolo de Roteamento. Epidemic Router. Numero de mensagens criadas. 971. Velocidade dos nós. 14,4km/h–21,6 km/h. 5. Resultados Nesta seção, serão analisados os resultados obtidos através das várias simulações realizadas. A primeira simulação utiliza como parâmetro principal a quantidade de ônibus em cada linha. O objetivo é verificar como esta quantidade influencia no desempenho das mensagens entregues. O número de linhas de ônibus analisadas foi nove e o protocolo de roteamento utilizado foi, iniciamente, o Epidemic Router. O gráfico da Figura 4 mostra os resultados dessa simulação. Figura 4. Nº de Mensagens Entregues x Nº de Linhas Observa-se que o número de ônibus influencia no desempenho das entregas das mensagens. Além disso, aumentar a quantidade de ônibus não significa necessariamente que o número de mensagens entregues aumente. Essa variação pode ocorrer por diversos fatores, dentre ele o não determinismo do cenário, pois, dependendo de determinado evento o número de mensagens entregues podem variar. Pode ocorrer, por exemplo, que um determinado ônibus carregue uma quantidade de mensagens e não as consiga transferir todas elas em sua totalidade, diminuindo o desempenho da entrega mesmo com um número superior de ônibus. Os melhores resultados obtidos foram com quatro e sete ônibus em cada linha. Na segunda simulação, foram selecionadas, aleatoriamente, as linhas para a realização das simulações, cujo objetivo foi verificar o desempenho das entregas das mensagens com diferentes números de linhas. Com base na primeira simulação, o número de ônibus escolhido para representar o padrão em todas as linhas foi de quatro ônibus. 2 1 3 Figura 5. Nº de Mensagens Entregues x Nº de Linhas Observou-se, conforme demonstrado no gráfico da Figura 5, que os melhores desempenhos obtidos foram com duas, seis e sete linhas, quando 791, 747 e 731, respectivamente, mensagens foram entregues. Os dados revelaram que o número de mensagens entregues oscilam à medida que aumentam o número de linhas. A oscilação se deve ao fato de que nem sempre as linhas incluídas no teste possuem rotas com interseção nos pontos de conexões com os radares, poia a quantidade de mensagens entregues depende do número de contatos efetivos realizados com os radares. Na terceira simulação, foram escolhidas as linhas de forma criteriosa, utilizandose as melhores combinações, para a realização das simulações, com o objetivo de obter as linhas com as rotas ideais, verificando o desempenho das entregas das mensagens com diferentes números de linhas e buscando sempre as linhas com os melhores desempenhos especialmente no que diz respeito à relação custo-benefício, conforme ilustra a Figura 6. O número de ônibus escolhidos foram quatro e o roteamento foi o Epidemic Router. Figura 6. Nº de Mensagens Entregues x Nº de Linhas Observou-se que os melhores desempenhos obtidos foram com 6 Linhas. A Figura 6, mostra a comparação dos resultados das simulações referente a segunda e a terceira simulação. 214 Figura 7. Nº de Mensagens Entregues x Nº de Linhas (Simulação 02 e 03) Observou-se no gráfico da Figura 7, que as melhores rotas que permitem a relação custo-benefício foram obtidos na terceira simulação, já que o número de mensagens entregues é considerado alto, se comparado às outras combinações. Além disso, a partir de 6 linhas de ônibus, o desempenho diminui consideravelmente. No quarto teste, foram utilizadas as linhas de ônibus com as melhores rotas, baseadas na terceira simulação. O objetivo foi verificar o desempenho das entregas das mensagens, utilizando diferentes protocolos de roteamento baseados em rede DTN. O Nº de ônibus por Linha foram quatro e os protocolos de roteamentos Epidemic Router, First Contact Router, Epidemic Oracle Router, Direct Delivery Router, Spray And Wait Router. Figura 8. Desempenho das simulações com diferentes protocolos Dentre os protocolos de roteamento escolhidos, o que teve o melhor desempenho, com 96,2 %, foi o Spray and Wait Router, como mostra o gráfico da Figura 8 . Esse protocolo gera um pequeno número de cópias, a fim de assegurar que o número de mensagens replicadas seja pequeno e controlado. 6. Considerações Finais 2 1 5 Esse artigo propôs uma análise de desempenho do tráfego das mensagens obtidas pelos radares e transmitidas pelos ônibus da Região Metropolitana de Belém até o seu destino, ou seja, a AMUB, através de simulações em uma rede tolerante a atrasos e interrupções, com o objetivo de verificar o desempenho da rede. Apesar das características de comunicação das redes DTN, verifica-se que o número de linhas e as quantidades de ônibus influenciam no desempenho do sistema, porém, não necessariamente, a maior quantidade de linhas e de ônibus garantem maior efetividade das entregas das mensagens. Verificou-se que é possível que a AMUB receba os informações de seus radares de forma eficaz, utilizando a frota de ônibus existente na Região Metropolitana de Belém. Os resultados das simulações foram satisfatórios, apresentando índices consistentes que mostram a viabilidade do uso dos transportes coletivos para coletar os dados dos radares. Referências Memória E., Secco F. and Coutinho, M.(2007) “Provendo Integração de Comunidades Excluídas Tecnologicamente através de Redes Tolerantes a Atrasos”. Ferreira J. and Coutinho, M.(2009) “Uso de Mula de Dados no Processo de Reintegração Social Vítimas de Escalpelamento na Amazônia e Suas Famílias”. Villares T., Campos, C. and Viana A.(2013). “A Influência de Nós Especiais na Entregas de Mensagens nas Redes Tolerantes a Atrasos”. Keränen, A., Ott J. e Kärkkäinen, T. (2009). The ONE Simulator for DTN Protocol Evaluation. Em 2nd International Conference on Simulation Tools and Techniques. Ribeiro F., Pedroza A and Costa L.(2012). Deepwater Monitoring System in Underwater Delay/Disruption Tolerant Network, IEEE LATIN AMERICA TRANSACTIONS, VOL. 10, NO. 1, JAN. 2012 Keranen, A. and Ott, J. The one: The opportunistic network environment simulator. http://www.netlab.tkk.fi/tutkimus/dtn/theone.Último acesso em 06/08/2013. Thrasyvoulos Spyropoulos, Konstantinos Psounis, and Cauligi S. Raghavendra. Spray and wait: An efficient routing scheme for intermittently connected mobile networks. In Proceedings of the 2005 ACM SIGCOMM workshop on Delay-tolerant networking, WDTN ’05, pages 252–259. ACM, 2005. Jain, S.; Fall, K. e Patra, R. Routing in a delay tolerant network. . In: Special Interest Group on Data Communication (SIGCOMM), 12., 2004, Portland, Oregon, USA. Proceedings ... ACM SIGCOMM, 2004.p. 145–158. Silva, R., Campos, C. A. V., and de Moraes, L. F. M. (2010). Caracterizacão da mobilidade veicular e o seu impacto nas redes veiculares tolerantes a atrasos e desconexões. In Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos– SBRC 2010. Sulma Rashid, Qaisar Ayub, M. Soperi Mohd Zahid et al., E-DROP: An E ective Drop Bu er Management Policy for DTN Routing Protocols, International Journal of Computer Applications (0975 – 8887), January 2011. 216 Shah, R., Roy, S., Jain, S. e Brunette, W. (2003). Data MULEs: Modeling a three-tier architecture for sparse sensor networks. Em IEEE International Workshop on Sensor Network Protocols and Applications (SNPA). Open Jump (2012). Disponível em: http://www.openjump.org. Último acesso em 04/05/2013. 2 1 7 218