Escolar Documentos
Profissional Documentos
Cultura Documentos
Anais Cat I 2016
Anais Cat I 2016
Acadêmico de Tecnologia e
Informática (CATI 2016)
21 a 25 de novembro de 2016
Curso de Ciência da Computação - FACET
UNEMAT - Barra do Bugres
Anais do 8º Congresso Acadêmico de Tecnologia e
Informática (CATI 2016)
21 a 25 de novembro de 2016
Curso de Ciência da Computação - FACET
UNEMAT - Barra do Bugres
Este trabalho foi realizado com apoio do Edital FAPEMAT nº. 001/2016 - Edital de Apoio à
Realização de Eventos Científicos, Tecnológicos ou de Inovação, Processo nº. 241861/2016, da Fundação
de Amparo à Pesquisa do Estado de Mato Grosso – FAPEMAT – Mato Grosso – Brasil
Realização:
Apoio:
ISSN 2448-119X
(Online: http://bbg.unemat.br/publicacoes/index.php/anaiscati)
21 a 25 de novembro de 2016
Barra do Bugres - MT
© 2016. Curso de Ciência da Computação – UNEMAT – Barra do Bugres e
Centro Acadêmico de Ciência da Computação (CACC).
Publicação elaborada com fins educativos. ACESSO GRATUITO. Permissão para fazer
cópias impressas ou digitais de todo ou parte desta publicação para uso pessoal ou
acadêmico sem taxas, desde que as cópias não sejam feitas ou distribuídas para renda ou
vantagem comercial e que as cópias contenham referência a esta publicação.
___________________________________________
Contato
Pedro Taques
Governador
Carlos Fávaro
Vice-Governador
Luzia Helena Trovo Marques de Souza
Secretária de Estado de Ciência, Tecnologia e Inovação
Lucia Braga Sousa
Superintendente de Desenvolvimento Científico, Tecnológico e de Inovação
Antônio Carlos Maximo
Presidente da Fundação de Amparo à Pesquisa do Estado de Mato Grosso
Flávio Teles Carvalho da Silva
Diretor Técnico-Científico da Fundação de Amparo à Pesquisa de Mato Grosso
Washington Fernando da Silva
Gestor do Parque Tecnológico de Mato Grosso
Julio Florindo
Prefeito
João Alves dos Santos
Vice-Prefeito
Rudiney Linhares
Secretário Municipal de Finanças
Ivone Rocha
Secretária Municipal de Educação, Cultura e Esportes
Viviane Ribeiro da Silva
Secretária Municipal de Desenvolvimento Econômico e Turismo
Vanderson Vitor da Silva
Presidente da Câmara Municipal de Vereadores
8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Coordenação
Luan Felipe dos Santos da Silva
Fernando Selleri Silva
Comissão Organizadora
Adriana Estéfany Conceição da Silva
Alexsandra Nascimento Carneiro
Anderson da Costa Ritter
Anna Paula Pereira
Armando da Silva Filho
Brenda Caroline Santos da Silva
Bruno de Souza
Christhoffer Alves de Lima Freitas
Cosme da Silva Lorim
Diógenes Antonio Marques José
Douglas Teles de Oliveira
Elias Antonio Morgan
Gustavo Alencar Silva
Hevelyn Hespanhol Câmara
Jonatan William Pereira Fernandes
José Fernandes Torres da Cunha
Julio Cesar de Camargo Junior
Klesley Hiago da Rocha Tavares
Leonardo Elias Alves
Luan Lino Madalena
Lucas Ribeiro Monti
Magaywer Moreira de Paiva
Priscila Larissa da Silva Antunes dos Santos
Rainner Steinheires Vilas Boas
Reyllan Raphael dos Santos
Rodrigo Fernando Shimazu
Romulo Stenio Billieri
Roniffer Samuel Soares Ribeiro de Oliveira
Ronygullity Petriky Silva oliveira
Samuel Bezerra de Lima
Thayna Ribeiro dos Santos
Thiego Ramos Moura
Victor Bitencourt de Oliveira
Weder Henrique Rodrigues da Silva
Willyan Alves da Silva
Apoio Técnico e Logístico
Adenir Rodrigues
Carlos Barbosa Andrade
Djalma Dias Bispo
Fábio Aparecido de Campos
Graziella Selleri Silva
Heliofábio da Rocha Santos
João Milani Junior
Marcelo Pereira Justino
Marcos Antonio Guerra
Mauro Aparecido Ferreira
Rodney Campos Faria
Thiago H. de B. Guedes
Tópicos de Interesse
Os principais tópicos que norteiam as submissões ao CATI estão sintetizados da seguinte
forma, não se restringindo a eles:
Algoritmos e Otimização;
Arquitetura de Computadores;
Avaliação de Desempenho;
Banco de Dados;
Bioinformática;
Computação Aplicada à Saúde;
Computação Gráfica e Processamento de Imagens;
Computação Ubíqua e Pervasiva;
Engenharia de Software;
Geoprocessamento;
Gestão do Conhecimento;
Governança e Empreendedorismo;
Informática na Educação;
Inteligência Computacional;
Interação Humano-Computador;
Jogos e Entretenimento Digital;
Linguagens de Programação;
Matemática e Física Computacional;
Redes de Computadores e Sistemas Distribuídos;
Redes Sociais;
Robótica e Sistemas Digitais;
Segurança da Informação;
Sistemas de Informação;
Sistemas Embarcados e Móveis;
Sistemas Multimídia e Web;
Telecomunicações.
Apresentação
Artigos Completos
Uso dos Métodos Numéricos de Passo Simples e Passo Múltiplo para Aproximar
a Solução de Problemas de Valor Inicial .................................................................... 83
Robson Araújo Lima, Luciano Zamperetti Wolski e
Minéia Cappellari Fagundes (UNEMAT/Barra do Bugres)
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Controlando um Auto Modelo com um Programa Escrito em
Java e o Hardware Arduino
Elaine A. R. Pires1, Elisângela A. R.2, Ivan Luiz P. Pires3
1
Instituto Federal de Mato Grosso – Campus Juína (IFMT)
Caixa Postal 255 – 78.320000 – Juína – MT – Brasil
2
Universidade Tecnológica Federal do Paraná – Campus Curitiba (UTFPR)
Departamento de Computação
3
Universidade Estadual de Mato Grosso (UNEMAT) – Colíder, MT – Brasil
elaine.rocha@jna.ifmt.edu.br, eli_a_rocha@hotmail.com,
ivanpires@unemat.br
Abstract. The Java programming language has been growing as a highlevel
language with great support of new functionalities through a wide variety of
available libraries. Furthermore, the communication between Java program
and hardware device, like a Arduino, is possible through a serial
communication. Thus, this article presents a Java and Arduino
communication approach, for auto model control.
1. Justificativa
Com o crescimento da linguagem de programação Java como uma linguagem de alto
nível e com grande suporte de novas funcionalidades, foram desenvolvidas uma vasta
variedade de bibliotecas, sendo desenvolvida sob uma Máquina Virtual a qual
possibilita a portabilidade entre diferentes sistemas operacionais. Uma das grandes
características desta linguagem é sua interação com a comunicação serial, possibilitando
o controle de dispositivos de hardware com microcontroladores, como a plataforma de
hardware livre Arduino. O controle de dispositivos físicos através de software abre uma
gama de possibilidades através da interação do mundo real com uso de sensores e
atuadores, para diversas áreas de aplicação, sejam elas educacionais, comerciais e para
fins de pesquisa.
Este artigo apresenta um protótipo para a comunicação de um software com um
dispositivo de hardware para controle de um auto modelo, mediado pela plataforma de
1
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
2. Fundamentação Teórica
Os microcomputadores vem equipados com um recurso de comunicação que permite a
troca de dados entre dois sistemas, este tipo de comunicação pode ser tanto via serial
quanto paralela: na serial, os dados são enviados via sequencial e; na paralela, os dados
são enviados de forma paralela. Para fazer um sistema comunicarse com outro sistema,
é necessário conhecer circuitos, padrões de comunicação e uma linguagem de
programação (RABELLO, 2009).
A linguagem de programação Java é uma linguagem de alto nível, que vem se
destacando no cenário de programação orientada a objeto, que pode ser caracterizada
pela simplicidade, arquitetura neutra, orientada a objeto, portável, distribuída, de alta
performance, multithreaded, robusta, dinâmica e segura (ORACLE, 2016). Esta
linguagem é desenvolvida sobre a Máquina Virtual Java (LINDHOLM e YELLIN,
1999), e disponível para diferentes sistemas operacionais, sendo que a mesma classe é
capaz de ser executada tanto para Windows (MICROSOFT, 2016), Solaris (SUN,
2016), Linux (LINUX, 2016) ou Mac OS (APPLE, 2016). Uma forte característica da
linguagem Java é o uso de bibliotecas para diferentes aplicações, como a API RXTX
(RXTX, 2016) e suas classes CommPortIdentifier, SerialPort, SerialPortEvent,
SerialPortEventListener usadas nesta pesquisa, as quais possibilitam a comunicação de
um programa escrito em Java com a porta Serial do hardware hospedeiro.
A comunicação serial é um processo de transferência de dados de um bit por
vez, podendo incluir os dispositivos de rede, teclados, mouses, modems e terminais.
Quando é feita uma comunicação serial, cada byte (caractere) de dados que é enviado ou
recebido é feito a um bit por vez. Cada bit pode ser representado pelo estado lógico
ligado (1) ou desligado (0). A velocidade de envio dos dados por uma porta serial é
expressa em bits por segundo, representado por bps, na nomenclatura inglesa, ou em
baudot rate (“Taxa de Baud”), que representa o número de bits (zeros ou uns) que
podem ser enviados ou recebidos em um segundo (COMER, 2001). Com a
comunicação serial, um software pode interagir com dispositivos eletrônicos para
interpretar os envios de bits de mensagem e executar determinadas funções e comunicar
com programas embarcados nestes dispositivos, tais como placas compostas por
microcontroladores ou hardwares que são disponibilizados com toda a estrutura física
para estas aplicações, como o caso da plataforma de hardware livre Arduino, utilizado
nesta pesquisa.
O Arduino (ARDUINO, 2016) é uma plataforma de prototipagem eletrônica
opensource que se baseia em hardware e software fáceis de usar, sendo destinado a
qualquer pessoa interessada em criar objetos ou ambientes interativos. O Arduino pode
sentir o estado do ambiente que o cerca por meio de sensores que receptam os sinais e
pode interagir com os seus arredores, controlando luzes, motores e outros atuadores,
conectados através de suas portas digitais e analógicas. O microcontrolador na placa é
2
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
programado com a linguagem de programação C (SCHILDT, 1997), com bibliotecas
próprias e no ambiente de desenvolvimento Arduino. Os projetos desenvolvidos com o
Arduino podem ser autônomos ou podem comunicarse com um computador para a
realização da tarefa, com uso de software específico. Existem várias placas que podem
se comunicar com o Arduino, estas podem ser adquiridas já montadas ou construídas
manualmente. A figura 1 apresenta o Arduino Duemilanove.
3. Metodologia
Inicialmente realizouse uma pesquisa bibliográfica como aporte teórico sobre a
linguagem de programação Java, bem como a busca por bibliotecas e APIs que
possibilitem a comunicação de um programa Java com a porta serial para leitura e
escrita. Além disso, foram levantadas as informações sobre o Arduino, desde a
identificação dos componentes e seus estudos até as suas funções e aplicações de
exemplos.
Após foi realizado um estudo sobre a arquitetura do auto modelo, no intuito de
compreender o funcionamento de seus componentes eletrônicos. O auto modelo
utilizado é um simples brinquedo de controle remoto sem recursos de hardwares para
programação.
Em seguida, foi construído o dispositivo eletrônico usado como interface entre
o auto modelo e o programa Java, além de testes para comunicar o controle de rádio
frequência do auto modelo com o Arduino. Para estes testes foram realizados pesquisas
até concluir a necessidade do uso de transistores para chavear a alimentação do controle
remoto do auto modelo e o Arduino, uma vez que trabalham respectivamente em 9 e 5
volts.
Por fim, foi desenvolvido um software em Java para comunicar com o
Arduino. Esta comunicação foi possível com o uso da API RXTX, uma biblioteca com
vários métodos implementados para enviar e receber bytes pela porta USB, entre outras
funcionalidades.
4. Desenvolvimento do Protótipo
Como passo preliminar, foi desenvolvido um protótipo composto por um auto modelo
3
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
controlado por rádio frequência (RF), um software embarcado no microcontrolador do
Arduino e um software Java para interação do HumanoHardware. A figura 2 ilustra
esta arquitetura.
O primeiro passo foi desmontar o controle do auto modelo para identificar em
sua placa os componentes eletrônicos usados para a rádio frequência, e o envio das
informações para avanço, retrocesso, virar à direita e à esquerda. Após a identificação,
foi realizada a solda dos fios para conexão ao Arduino, organizados da seguinte forma:
o fio 1 corresponde a ré, o fio 2 corresponde ao avanço do auto modelo, o fio 3 vira a
roda para a direita, o fio 4 gira a roda para esquerda e o fio 5 é o condutor elétrico
neutro responsável pelo aterramento (fio terra). A figura 3 ilustra os fios identificados.
Após, os 5 fios foram soldados em uma placa padrão para melhor organização
e o uso de quatro transistores para regulagem e chaveamento entre a voltagem
adequada, a fase e o neutro. A figura 4 ilustra os fios soldados na placa padrão e os
transistores, no qual o número 1 indica o fio terra conectado ao controle de RF do auto
modelo, os números 2 indicam contatos do aterramento para cada transistor, os números
3 indicam os fios responsáveis por enviar comando para o auto modelo, sendo da
esquerda para a direita respectivamente: avançar, retroceder, virar as rodas dianteira
para a direita, virar as rodas dianteiras para a esquerda, e os fios 4 conectam os fios 3 de
comandos às portas do Arduino, após passagem pelo transistor.
Como fonte de alimentação, utilizouse uma bateria de 9 volts, para alimentar o
4
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
controle de rádio frequência, e esta foi conectada ao Arduino possibilitando o envio
correto dos comandos para o controle de rádio frequência. Em função do uso desta fonte
de alimentação, houve a necessidade do uso destes transistores, pois o controle de Rádio
Frequência do auto modelo se alimenta de 9 volts e o Arduino de 5 volts, assim o
transistor foi utilizado como chaveador.
No Arduino os fios recebidos da placa padrão foram conectados da seguinte
forma: o comando avançar foi conectado na porta 8, retroceder na porta 5, virar as rodas
dianteiras para a direita na porta 2 e virar as rodas dianteiras para a esquerda na porta
11. Após foi desenvolvido um pequeno programa escrito em C e embarcado no
microcontrolador do Arduino.
Neste programa foi indicado a taxa de Baud 9600 bits por segundo para
comunicação serial do Arduino com o programa Java desenvolvido, as portas utilizadas
como saída para controle do auto modelo, além da leitura de entrada serial. Ao receber
os caracteres pela porta serial, o programa executa as seguintes funções: caractere 1 para
o auto modelo avançar, 0 para parar de avançar; 3 para retroceder, 2 para parar de
retroceder; 5 para virar à direita, 4 para parar de virar à direita; 7 para virar à esquerda, e
6 para parar de virar à esquerda.
O Arduino Duemilanove usado possui 32 KB de memória flash para armazenar
o código, 1 KB de SRAM e 512 Bytes de EEPROM (que pode ser lido e escrito com a
biblioteca EEPROM). Cada um dos 14 pinos digitais no Duemilanove pode ser usado
como uma entrada ou saída, operando em 5 volts, utilizando as funções pinMode ,
digitalWrite e digitalRead presentes na biblioteca própria do Arduino (ARDUINO,
2016).
Para o desenvolvimento do programa embarcado foram utilizadas as funções
pinMode, digitalWrite e digitalRead. A função pinMode foi utilizada para indicar o uso
de cada porta como entrada ou saída, a função digitalWrite foi utilizada para o envio de
bits para as portas especificadas e a função digitalRead foi utilizada para receber os
dados enviados pelo software Java enviado pela porta serial.
O software para interação com o usuário, desenvolvido em Java, utiliza a API
RXTX para comunicação na porta serial, pois, de acordo com SCHILDT (1997), como o
Java utiliza uma máquina virtual e não comunica diretamente com o Sistema
Operacional (SO), a comunicação com o hardware tornase um pouco mais complexa,
dependendo do uso de API´s. A API RXTX é baseada na API Javacomm distribuída pela
própria SUN e possibilita a comunicação da porta paralela e USB de forma simplificada
(RXTX, 2010), sendo para o desenvolvimento do Software de interação com o usuário,
5
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
5. Conclusão e Trabalhos Futuros
Esta pesquisa apresentou o controle de um dispositivo físico por um software,
utilizando a linguagem Java e o hardware Arduino. O uso da linguagem Java com a
biblioteca RXTX possibilitou o desenvolvimento do software de forma simples e a
plataforma Arduino simplificou a interação com o dispositivo eletrônico.
A principal contribuição deste trabalho é apresentar uma forma de controlar um
dispositivo físico por um software. Além disso, esta pesquisa pode servir de base para
6
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
novas abordagens de integração de software com hardware.
Como trabalhos futuros estão a: extensão para controles de novos hardwares e
software de controle pode ser substituída por um agente de software ou um sistema
multiagentes. Com estas características podese automatizar questões complexas no
cenário de TI em diferentes aplicações (Bergenti et al, 2004).
Referências
Apple. (2016) “Mac OS X website”, http://www.apple.com/br/macosx/, Junho.
Arduino. (2016) “Arduino Website: playground”,
http://www.arduino.cc/playground/Portugues/HomePage, Junho.
Bergenti, F.; Gleizes, M. e Zambonelli, F. (2004) “Methodologies and Software
Engineering For Agent Systems – The AgentOriented Software Engineering
Handbook”, Kluwer Academic Publishers, p. 505.
Comer, D. (2001) “Redes de Computadores e Internet”, Bookman, 2ª edição traduzida,
Porto Alegre – RS, p. 4852.
Lindholm, T. e Yellin, F. (1999) “The JavaTM Virtual Machine Specification”, Prentice
Hall, 2ª edição, Palo Alto, Califórnia, p. 496.
Linux. (2016) “Linux Online Website”, http://www.linux.org/info/index.html, Junho.
Microsoft. (2016) “Windows Website”,
http://www.microsoft.com/windows/default.aspx, Junho.
Oracle Corporation. (2016) “The Java Tutorials Website”,
http://java.sun.com/docs/books/tutorial/index.html, Junho.
Rabello, L. M. (2009) “Comunicado Técnico: Programa em Linguagem JAVA para
Comunicação Serial”, Embrapa Publicações, São Paulo SP, p. 7.
Rxtx. (2016) “RXTX Original Website”, http://www.rxtx.org, Junho.
Schildt, H. (1997) “C Completo e Total”, Markron Books, 3ª edição, p. 827.
Sun. (2016) “Solaris Website”, http://br.sun.com/practice/software/solaris/, Junho.
7
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Aplicação de um Agente de Software para Controle de um
Veículo Robótico Utilizando o Arduino
Elaine A. R. Pires1, Elisângela A. Rocha2, Ivan Luiz P. Pires3
1
Instituto Federal de Mato Grosso – Campus Juína (IFMT)
Caixa Postal 255 – 78.320000 – Juína – MT – Brasil
2
Universidade Tecnológica Federal do Paraná – Campus Curitiba (UTFPR)
Departamento de Computação
3
Universidade Estadual de Colíder (UNEMAT) – Colíder, MT – Brasil
elaine.rocha@jna.ifmt.edu.br, eli_a_rocha@hotmail.com,
ivanpires@unemat.br
Abstract. This paper presents an integrated approach of a software agent and
hardware devices using the Arduino prototyping board, sensors and electronic
actuators and SemantiCore framework. The aim of this work is to demonstrate
a prototype that can divert objects without human intervention through a
software agent.
Resumo. Este artigo apresenta uma abordagem de integração de um agente
de software e dispositivos de hardware utilizando a placa de prototipagem
Arduino, sensores e atuadores eletrônicos e o framework SemantiCore. O
objetivo deste trabalho é demonstrar um protótipo que consegue desviar de
objetos sem intervenção humana por meio de um agente de software.
1. Introdução
Agentes de Software e Sistemas MultiAgentes (SMAs) são poderosas tecnologias para
lidar com os diversos cenários na área de TI (Tecnologia da Informação) (Bergenti,
Gleizes e Zambonelli, 2004), com conceitos e estruturas de dados que permitem aplicar
características como autonomia, aprendizado, adaptabilidade e habilidade social. O
estudo relacionado à construção de Agentes de Software e SMAs converge em
conceitos da Inteligência Artificial (IA) e da Engenharia de Software (ES),
sistematizando metodologias e plataformas de desenvolvimento que implementam as
teorias que os caracterizam.
Uma das principais características de um Agente é o uso de sensores e atuadores
para perceber e atuar no ambiente e, o processo de decidir quais ações tomar em
resposta a cada percepção. Estas características constituem de uma forma geral, o
processo deliberativo de um Agente. Existem dois tipos de Agentes: Reativos: reagem à
alterações no ambiente ou à mensagens de outros Agentes através de regras e planos
prédefinidos e Cognitivos: podem criar ações e planos para seguirem com base em suas
crenças e intenções (WOOLDRIDGE, 2009). Com o uso de uma estrutura mecânica e
eletrônica que possua sensores e atuadores físicos, que sentem e atuem em um ambiente
8
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
real, têmse a possibilidade de criar um protótipo físico integrado com um Agente de
software Reativo, que possa aplicar as características de Agentes de Software em
artefatos físicos, levando sua aplicação a um ambiente real. Além disso, esperase que
este protótipo possa ser utilizado como ferramenta didática no auxílio de aplicações
práticas de conceitos da IA.
O objetivo deste trabalho é demonstrar a aplicação prática de um Agente de
Software autônomo capaz de controlar um Robô equipado com sensores e atuadores. O
agente foi construído utilizando o framework SemantiCore (Escobar, 2006) e o Robô foi
construído com servo motores e um sensor de obstáculos controlados por um software
escrito na linguagem C e embarcado na plataforma de hardware Arduino (Arduino,
2016).
A pesquisa deste artigo é um passo preliminar na demonstração da autonomia de
um Agente de Software integrado a um artefato de hardware. O foco deste trabalho está
no desenvolvimento do Agente de Software e na interação com o Arduino, abstraindo
detalhes eletrônicos e mecânicos envolvidos, como por exemplo a construção do auto
modelo utilizado.
2. Fundamentação Teórica
Segundo (Wooldridge, 2009), um Agente de Software é um sistema de computador que
está situado em algum ambiente e é capaz de atuar autonomamente neste ambiente, a
fim de cumprir seus objetivos, através de atuadores e sensores. São denominados
Agentes Inteligentes quando são capazes de perceber seu ambiente e responder às
mudanças deste ambiente, e apresentar comportamentos orientados a objetivos, ou seja,
tomam iniciativas proativas para satisfazer seus objetivos interagindo ou não com outros
agentes (Figura 1).
9
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
para entendimento de sensores: os olhos, a boca e o nariz; e de atuadores: as pernas e os
braços. Desta forma, um Agente Robótico poder ter sensores como câmeras que
detectariam o ambiente e motores como atuadores.
Pires et al (2010) apresentam um exemplo de integração de um software escrito
em Java e a plataforma de hardware Arduino. Este trabalho aborda a linguagem de
programação Java, bibliotecas e APIs que possibilitem a comunicação de um programa
Java com a porta serial para leitura e escrita. Além disso, também é apresentado
informações sobre o Arduino, a identificação de componentes e suas funções, e uma
aplicação de exemplos. O objetivo deste trabalho é integrar um auto modelo com um
programa Java, para isto, o controle de rádio frequência do auto modelo comunica com
o microcontrolador Arduino e o Arduino comunica com um software Java.
Simões et al (2006) apresentam a possibilidade de desenvolvimento de um
motor de inferência em um ambiente embarcado, utilizando o encadeamento
progressivo em um robô lego deixandoo capaz de tomar decisões em busca de um
objetivo específico de forma autônoma, considerando as limitações do hardware. Para
demonstrar a implementação foi realizado testes em um ambiente com caixas de papel
preenchidas com metal onde o robô deveria desviar dos objetos, o robô conseguiu
desviar dos objetos, porém não conseguiu executar mais de sete ciclos de inferência por
limitações de hardware do Lego.
Fernandes et al (2008) apresentam uma experiência com agentes inteligentes em
um jogo de cartas utilizando o framework JADE, que funciona como uma “thread”,
empregando múltiplas tarefas ou comportamentos e conversações simultâneas. O
protótipo possui agentes que desempenham dois papéis, que são: Agente Jogador e
Agente Juiz. Para a interação necessária, o jogo possui quatro agentes Jogadores e um
agente Juiz. Para iniciar o jogo devese iniciar o agente Juiz e posteriormente os quatro
agentes Jogadores, onde estes enviam uma mensagem ao juiz solicitando um registro,
após o juiz registrar quatro jogadores, ele define as equipes e inicia a partida, o jogo
termina quando uma equipe completa um total de 12 pontos.
3. Metodologia
Inicialmente foram realizadas pesquisas bibliográfica como aporte teórico sobre a
linguagem de programação Java, uma vez que o Agente de Software foi construído
nesta linguagem. A linguagem Java foi escolhida por ser relatada no trabalho
relacionado de (Pires et al, 2010), além disso, a opção em utilizar o framework
SemantiCore foi decisiva para a escolha da linguagem Java.
Foram realizados vários estudos e testes para a comunicação de um software
Java com o Arduino, e optouse por utilizar a biblioteca RXTX para a comunicação
serial através de envios de bytes na interface RS232 a uma taxa de baud específica de
9600 bits por segundo.
Em seguida foram pesquisadas algumas plataformas de implementação de
software agente, e optouse por utilizar o framework SemantiCore para a construção do
Agente de Software. Esta escolha baseouse na fácil manipulação da ferramenta, e nos
bons resultados apresentados nos testes realizados.
10
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Além disso, foram levantadas as informações necessárias sobre eletrônica e o
uso do Arduino como ambiente de prototipagem. Foram realizados testes com diversos
sensores e atuadores digitais e analógicos para experimentar este ambiente de
hardware. Assim optouse por utilizar o Arduino por sua facilidade de uso.
Após a identificação dos componentes e suas formas de utilização, foi abordada
a programação do Arduino, que é baseada na linguagem C com o uso de bibliotecas
específicas que o acompanham. Além disso, o Ambiente de Desenvolvimento Integrado
do Arduino facilita todo o processo de upload para a placa e monitoramento da interface
serial, além de apresentar um compilador integrado.
Com as informações e testes necessários foi desenvolvido um protótipo dividido
em quatro etapas: a construção física de um Robô, representado por um auto modelo
com três rodas e um sensor ultrassônico, que possa desviar de obstáculos; A construção
de software para embarcar no Arduino, contendo os controles dos sensores e atuadores
mecânicos e o envio e recebimento de informações do Agente de Software; A
comunicação entre o Robô e o Agente de Software através da porta serial; e a
construção do Software Agente que receba as informações lidas do ambiente e decida as
ações a serem executadas em respostas às suas percepções.
4. Desenvolvimento e Integração do Agente de Software e do protótipo
Para aplicar os conceitos de Agente de Software, como a pró atividade, o processo
deliberativo, a atuação e a percepção em um ambiente, em dispositivos físicos, foi
construído um Robô com sensores e atuadores eletrônicos e mecânicos, com uso do
Arduino. O Robô foi confeccionado em um processo artesanal, utilizandose de carcaça
de um brinquedo de plástico, duas rodas traseiras de borracha conectadas à servo
motores, um em cada roda, uma roda livre na frente acompanhando as direções da
tração nas rodas traseiras, um radar composto por um servo motor de rotação de 180° e
um sensor ultrassônico.
Para alimentar os dispositivos foi utilizado uma fonte de 12 volts de 500
miliamperes, conectados ao Arduino, e este controla as tensões devidas para os
dispositivos, com uso de um oscilador de cristal. Para perceber o ambiente, este
protótipo usa um Sensor Ultrassônico GH311 para detectar a presença de objeto a uma
pequena distância (de no máximo até 8 metros) e retornar a detecção através de sinais
digitais.
Para atuação no ambiente, o Robô faz uso de dois Servo motores analógicos com
rotação de 360°, capacidade de 60 rotações por minuto e torque de 3,3 kg/cm. Nestes
dois servos motores foram conectadas rodas de borrachas que garantem aderência ao
solo permitindo mover o Robô satisfatoriamente. Como o Servo motor utiliza ângulos
para rotacionarse, utilizamos 90° para que a roda permaneça parada, 180° para
direcionar em sentido horário e 180° para o sentido oposto. A combinação das duas
rodas permite o Robô ir para a frente, com uso sincronizado dos servo motores, e virar
para os lados, com um servo motor parado e outro rotacionando para a direção desejada.
Como o sensor utilizado possui um ângulo restrito de observação de obstáculos,
foi adicionado ao protótipo um micro servo motor analógico, modelo SG90, com
rotação de 180° e torque de 1,5 kg/cm para otimizar o campo de percepção. Com este
11
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
servo motor e o sensor conectado a ele, podese direcionálo para frente, esquerda e
direita para sentir a presença ou ausência de obstáculos. Para direcionar o servo motor
para a direita, deve posicionálo a 0°, para a frente a 90° e para a esquerda a 180°.
A programação que controla os sensores e atuadores do Arduino é feita através
da linguagem de programação C e embarcada em uma memória EPROM (Erasable
Programmable ReadOnly Memory) de 32k que acompanha o hardware, juntamente
com um microcontrolador que o processa. Esta programação é realizada no Arduino
IDE, um ambiente que integra a programação, compilação, monitoramento da porta
serial e envio do software para a memória programável do hardware.
A arquitetura do software embarcado baseiase em duas funções básicas que
devem ser implementados: setup e loop. A função “setup” é chamada somente quando
inicia o software, e é usado para inicializar variáveis, atribuir cada variável à portas
digitais ou analógicas para leitura ou escrita de valores, entre outros. A função “loop()”
faz laços de repetição permitindo a execução contínua do programa, usada para
controlar efetivamente a placa Arduino (Arduino, 2016).
Para sincronizar os valores lidos com a comunicação serial, utilizouse a
constante “Serial”, para atribuir a taxa de baud necessária para a transmissão de dados
sem erros de enquadramento. Neste protótipo foi optado por utilizar a taxa de 9600 bits
por segundo, através de testes realizados com resultados satisfatórios.
A interação entre o Software Agente e o Software Embarcado no Arduino
acontece com as trocas coordenadas de mensagem via comunicação serial. Para tal, foi
criado um simples protocolo onde envia valores booleanos para o Software Agente, a
partir das leituras do sensor Ultrassônico, para indicar se o caminho está livre para
prosseguir ou deve tomar decisões de mudança de percurso ou contorno do obstáculo
detectado. Para as tomadas de decisões, o Agente envia os caracteres f, d, e, t, p, a, b ou
c, de forma serializada para indicar respectivamente, ir para a frente, virar para a direita,
virar para a esquerda, ir para trás, parar e direcionar o sensor Ultrassônico para a frente,
direita ou esquerda.
Ao receber os caracteres do Software Agente, o Arduino com o software
embarcado executa a ação solicitada, através de funções programadas que ativam a
direção dos servo motores, direcionando o Robô e seu radar. As funções utilizadas neste
programa, e suas funcionalidades são: Função frente; Função trás; Função esquerda;
Função direita; Função radarDireita; Função radarFrente; Função radarEsquerda e
Função frenteDois realiza a mesma ação da função frente, porém com um atraso de
5000 milissegundos.
Com estas funções é possível mover o robô e seu radar em todas as posições,
respondendo a comandos recebidos pela interface serial. Toda a comunicação serial é
realizada através de bytes e utilizase a porta USB para o recebimento e envio de
mensagens.
Para o programa em Java ser capaz de enviar e receber informações pela
interface serial utilizouse a API RXTX. Esta API é uma biblioteca com conjunto de
classes que permitem de forma simples a comunicação desejada.
O primeiro passo para a integração do programa Java com a comunicação serial
12
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
13
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
conforme indicada na marcação 2 na Figura. Esta interação é uma via dupla, pois o
Arduino envia dados dos sensores para o Agente e este envia comandos como resposta
para ação dos atuadores. A marcação 3 apresenta o Arduino e o software embarcado em
sua memória, além dos dispositivos de sensor Ultrassônico e dos três servo motores que
atuam como roda direita, esquerda e radar, que estão conectados em portas digitais.
5. Resultados Obtidos
Após a conclusão do protótipo foi preparado o ambiente para a realização dos testes. O
ambiente foi construído em um amplo espaço necessário para que o Robô deslocasse a
partir de um ponto de partida sem destino final, uma vez que o objetivo do agente é
desviar dos obstáculos inseridos neste ambiente. Os testes foram divididos em duas
etapas contendo obstáculos inseridos propositalmente, de forma gradual.
Na primeira etapa foi colocado um obstáculo na frente do robô. Inicialmente o
Robô deslocouse para frente e ao perceber o obstáculo, parou e contornou o obstáculo,
virandose para a esquerda, andando por tempo determinado a sua frente e virandose
para a direita, e ao contornar, seguiu em linha reta.
Na segunda etapa, foram colocados dois obstáculos no cenário, um na frente do
robô e o outro um pouco mais distante, para ser percebido pelo robô ao terminar o
desvio do primeiro. O Robô partiu em linha reta, e assim que percebeu o obstáculo à
frente, desviou como no primeiro teste. Ao terminar este desvio, deparouse com o
outro obstáculo que novamente repetiu a ação de desviar e realizou um novo desvio, e
conseguiu alcançar seu objetivo.
Estas percepções foram possíveis através de um servo motor que permite o
sensor ultrassônico. O Robô obteve o resultado esperado nas duas etapas, desviando de
todos os objetos que estavam a sua frente, sem haver colisões e sem a necessidade de
intervenção humana.
6. Conclusão e Trabalhos Futuros
Neste artigo foram demonstrados os passos para a construção de um Robô e sua
programação com o Arduino, a comunicação deste Robô com um software Java e um
Agente de Software, e uma forma de aplicar as características da inteligência artificial
que compõem as bases de um Agente de Software em linguagem de programação no
controle de dispositivos físicos.
14
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Além disso, constatouse a prototipação de um Robô autônomo, controlado por
um Agente de Software com sensor e atuadores que percebeu e atuaram no ambiente
sem a intervenção humana. Com este protótipo foram aplicadas as características de
próatividade, de reatividade, além do processo deliberativo de um Agente, no qual é
decidido o que fazer com um rol de planos e ações a serem executadas e as execuções
das mesmas que podem ser mediadas por pré e póscondições. Contudo, este protótipo
está pronto para interagir com outros protótipos controlados por Agentes, pois a
plataforma SemantiCore permite a troca de mensagens entre Agentes para cooperação e
coordenação no alcance de um objetivo coletivo da sociedade do SMA, sob barramento
de rede.
Como trabalhos futuros, é indicado: o estudo de outras plataformas de
implementação de Sistemas MultiAgentes; melhorar as percepções do ambiente
trocando o Sensor Ultrassônico utilizado por um Sensor Ultrassônico com retornos
analógicos que possam mensurar com certa precisão a distância do sensor ao obstáculo
em ângulos razoáveis; e por fim, o uso de um sensor GPS aliado a um sensor de unidade
de medição inercial que permite ao Robô navegar em um plano tridimensional traçando
rotas de caminhos e possibilitando ao agente aplicar medidas de desempenho para
constatação do alcance de seu objetivo de forma prática.
Referências
Arduino (2016) “Arduino Website: Playground”,
http://www.arduino.cc/playground/Portugues/HomePage, Setembro.
Bergenti, F.; Gleizes, M. P. e Zambonelli, F. (2004) “Methodologies and Software
Engineering for Agent Systems: The AgentOriented Software Engineering”,
Handbook Springer, edição 1.
Escobar, M.; Lemke, A. P. e Ribeiro, M. B. (2006) “SemantiCore 2006: Permitindo o
Desenvolvimento de Aplicações Baseadas em Agentes na Web Semântica”, In:
Workshop on Software Engineering for AgentOriented Systems (SEAS), p. 7282.
Fernandes, R.; Floriani, P. E.; Kraus, H. M.; Oliveira, D. e Santos, V. P. (2008) “Uma
experiência com Agentes Inteligentes e Jogos de Cartas”, In: Anais do V SEGET –
Simpósio de Excelência em Gestão e Tecnologia, AEDB, Rezende RJ.
Pires, E. R.; Rocha, E. A. e Pires, I. L. P. (2010), “Controlando um auto modelo com
um programa escrito em Java e o hardware Arduino”, Mato Grosso.
Rocha, E. A. (2011), “Aplicação de um Agente de Software para Controle de um
Veículo Robótico Utilizando o Arduino”. 78 f. Trabalho de Conclusão de Curso –
Universidade Estadual de Mato Grosso – campus Colíder.
Russel, S. e Norvig, P. (2004), “Inteligência Artificial”, Elsevier, 2ª edição, RJ.
Simoes, C.; Estrela, D. A.; Montenegro, S. e Aragao, H. (2006), “Uma implementação
de um Motor de Inferência Embarcado em Robôs Lego”, In: Anais do VI ERBASE e
IV WTICGBASE, p. 954960.
Wooldridge, M. (2009), “An introduction to MultiAgent Systems”, John Wiley & Sons
Ltd. , 2° edição, ChichesterUK.
15
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Abstract. A theme that has aroused the curiosity of scientists linked to sport is
the observation and analysis of the game, called Scout, which has gained
increasing importance in the world of soccer, and it is increasingly common
for coaches surround themselves of experts to collect information on their
teams. Based on this assumption, the Data Warehouse is a database
technology that comes with the purpose of presenting historical data reports of
the respective business area. This work consisted in the use of analysis
technologies and support decision-making in order to produce a Data
Warehouse for analysis of information gathered from soccer matches.
16
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
3. Ferramentas de desenvolvimento
De acordo com Kimball e Ross (2002), o componente principal do ambiente do Data
Warehouse são as ferramentas de acesso aos dados. São as ferramentas que
disponibilizam recursos para que os usuários possam fazer as consultas dos dados na
área de apresentação.
Para que seja considerada uma ferramenta de Data Warehouse, a ferramenta
deve estar conectada com diversas fontes de dados, por meio das quais irá extrair os
dados, organizá-los e armazená-los nas dimensões ou cubos do Data Warehouse.
Dentre as muitas ferramentas disponíveis para o desenvolvimento de um Data
Warehouse, existem algumas que se destacam, como o Analysis Services da Microsoft
que, de acordo com manuais online do SQL Server 2008 [MSDN, 2015], está integrado
ao sistema gerenciador de banco de dados SQL Server. Além de executar as operações
de extração, transformação e carregamento, a ferramenta possui avançadas ferramentas
gráficas para criar soluções e modelos de objetos extensivos.
4. Metodologia de Desenvolvimento
A metodologia usada no desenvolvimento do Data Warehouse proposto, foi baseada na
metodologia descrita por Kimball e Ross (2002), a qual está organizada em quatro fases
principais: 1. Levantamento de requisitos, que é a fase de entender quais respostas os
analistas de desempenho desejam obter, ou seja, quais perguntas o Data Warehouse terá
17
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
que responder através das somas e medições de suas tabelas fato; 2. Análise das fontes
de dados e ETL (Extract, Transform and Load), que consiste em analisar todas as fontes
de dados de origem que fornecem dados operacionais do dia-a-dia da organização e
fazer o cruzamento dos dados que tragam indicadores sobre o comportamento da
organização em determinado período de tempo; 3. Criação do cubo de dados e modelos
dimensionais, o cubo de dados manterá toda a grande massa de dados que poderá ser
filtrada de acordo com a forma estruturada do modelo dimensional; 4. Acesso aos
dados, que é a fase em que serão disponibilizados os dados para o usuário final. Nesta
etapa, alguns fatores devem ser levados em consideração na escolha da ferramenta de
acesso aos dados, tais como: facilidade de utilização por parte dos usuários finais;
compatibilidade com as diferentes aplicações empregadas no projeto; eficácia nas
emissões de gráficos e relatórios.
No que se refere a metodologia científica, o trabalho empregou a pesquisa
bibliográfica e a pesquisa experimental com tecnologias, de acordo com Borba e
Villarreal (2005). Quanto à abordagem, foi empregada a análise qualitativa e
quantitativa, conforme a natureza dos dados analisados.
18
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
19
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
20
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
7. Considerações
Devido à crescente inserção de tecnologias no universo do esporte e o crescente
aperfeiçoamento de técnicas de Business Intelligence que podem ser aplicadas aos mais
variados ramos do mercado, o Data Warehouse mostra sua utilidade àqueles que
analisam o futebol através dos números.
Este trabalho teve como objetivo aplicar as características da ferramenta de Data
Warehouse em um ambiente que fornece uma enorme quantidade de dados e que, com
uma estratégia de observação, extração e processamento dos mesmos, é possível
identificar padrões que respondem a diversas questões em relação aos dados coletados
de uma partida de futebol.
Concluído o desenvolvimento deste trabalho, nota-se que a ferramenta de Data
Warehouse desenvolvida poderá facilitar e agilizar a análise dos dados e,
consequentemente, diminuir o tempo de resposta para uma possível tomada de decisão.
Como proposta de trabalhos futuros está o aperfeiçoamento da ferramenta a partir de
demandas identificadas mediante a sua utilização e a adequação da ferramenta para
atender a outros esportes.
Referências
Borba, M. C.; Villarreal, M. E. (2005). Humans-with-media and the reorganization of
mathematical thinking: information and communication technologies, modeling,
visualization and experimentation. New York: Springer.
Corey, M. et al. (2001). Oracle 8i Data Warehouse: planeje e construa um data
warehouse e uma solução de análise resistente. Rio de Janeiro: Campus.
Ferreira, R. B.; Paoli, P. B.; Costa, F. R. (2008). Proposta de 'scout' tático para o futebol.
Buenos Aires: Revista Digital. Disponível em: <http://www.efdeportes.com/efd118/
scout-tatico-para-o-futebol.htm>. Acesso em: 5 set. 2015.
Kanashiro, A. (2007). Data Warehouse de publicações científicas: indexação automática
da dimensão tópicos de pesquisa dos data marts. Tese de mestrado. São Carlos: USP.
Kimball, R.; Ross, M. (2002). The Data Warehouse toolkit: guia completo para
modelagem dimensional. Rio de Janeiro: Campus.
MSDN, Microsoft Developer Network. (2015). Manuais online do SQL Server 2008:
SQL Server integration services. Disponível em <http://msdn.microsoft.com/pt-
br/library/ms141026.aspx>. Acesso em: 1 set. 2015.
Penegassi, L. F. (2006). Data Warehouse. Monografia. Jaguariúna: Faculdade de
Jaguariúna.
21
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Vendite, C. C.; Vendite, L. L.; Moraes, A. C. (2005). Scout no Futebol: uma Ferramenta
para a Imprensa Esportiva. Rio de Janeiro. XXVIII Congresso Brasileiro de Ciências
da Comunicação - UERJ.
Ventura, N. (2013). Observar para ganhar: o scouting como ferramenta do treinador. Ed.
Arganil: Primebooks.
22
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
1. Introdução
A Tecnologia da Informação é vista como um meio de investimento, organização,
otimização de processos, personalização de serviços, entretanto, ainda é um desafio
determinar de maneira consistente os benefícios obtidos nos investimentos com os
serviços de TI. A GTI se refere aos critérios de definição, gestão e acompanhamento de
resultados dos investimentos em TI, pois está relacionada diretamente com a autoridade
e a responsabilidade ligadas ao uso da TI e a sua administração [CARVALHO 2014].
Nesta pesquisa será investigado o uso da GTI sob a ótica dos domínios da GTI
propostos pelo IT Governance Institute (2003), analisando a visão dos gestores da em-
presa União Avícola Agroindustrial quanto ao uso da GTI. A União Avícola é um abate-
douro de aves (frango), sendo considerada uma empresa bem difundida no mercado
brasileiro, produzindo os mais variados produtos de diversas marcas multinacionais.
2. Governança em TI
A TI vem permeando todos os processos gerenciais e operacionais das organizações,
fazendo com que se produza mais com menos, com menores custos. A tomada de
23
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Ferramenta/Framework Utilização
BSC Planejamento e desempenho
COBIT Governança e controle
ITIL e ISO 20000 Serviço
PMBOK Projeto
CMMI e MPS BR Engenharia de Software
Val IT Investimento em TI
TOGAF Framework de arquitetura de negócio, aplicações e tecnologia
NBR ISSO/IEC 38500 Governança corporativa de Tecnologia da Informação
SIX SIGMA Qualidade
24
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
3. Estratégia Metodológica
Para a realização desta pesquisa foi feita uma pesquisa bibliográfica quanto aos
Domínios da GTI, e um estudo de campo, através do qual efetuou-se a coleta de dados.
Para coletar os dados, optou-se pela aplicação de um questionário objetivo, buscando
maximizar o nível das análises obtidas, e de modo a concentrar sobre cada uma das
questões aplicadas, que têm relação direta com os domínios da GTI, propostos pelo IT
Governance Institute (2003) em Briefing on IT Governance.
25
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
4. Resultados
Com base nos dados coletados, foram gerados os gráficos a seguir, com o intuito de
compreender sob o ponto de vista dos funcionários da Empresa União Avícola, sobre o
quanto a aplicação da Governança em Tecnologia da Informação (GTI) está focada nos
domínios da GTI propostos pelo IT Governance Institute.
A Q1 (Gráfico 1) buscou identificar, na visão dos funcionários, para qual
propósito a TI é aplicada na empresa. Observou-se que 100% (6/6) dos entrevistados
apontaram que na empresa a TI é utilizada para auxiliar na organização e no apoio a
tomada de decisão, para agregar valor ao negócio, assim como para dar segurança e
rapidez na coleta e análise de dados. Sendo assim, observou-se que os entrevistados
tiveram uma mesma opinião acerca do propósito que a TI apresenta no seu comprome-
timento em alinhar seus serviços ao negócio da empresa. Haja vista, que o propósito da
empresa foi analisado através das legendas que avaliaram a organização e apoio a
tomada de decisões, agregação de valores ao negócio e segurança, rapidez na coleta e
análise dos dados. Com base nas respostas, acredita-se que a empresa pesquisada tem
um mínimo de alinhamento estratégico entre as soluções de TI e o negócio da empresa.
Gráfico 1 - Com que propósito(s) a TI é utilizada?
26
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
27
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
da TI. Observou-se que quanto as suas ferramentas de trabalho (computadores), 4/6 dos
participantes revelaram que a compra de novas ferramentas é feita com frequência,
embora tenha havido certa discordância ao analisar se a compra de novas ferramentas é
feita baseada apenas na observação do técnico de TI (3/6 responderam sim, e 3/6
responderam que essa observação ocorre parcialmente), e alguns entrevistados (4/6)
consideraram que de certa forma (parcialmente) não existe uma frequência estimada,
pois as ferramentas de TI são trocadas quando oportuno e não em data predeterminada.
Gráfico 5 - Com que frequência novas ferramentas operacionais,
como hardware e software são comprados na organização?
Com base no Gráfico 6 pode-se verificar que a maioria dos entrevistados (4/6)
alega não existir ou existir apenas de maneira parcialmente (2/6) um planejamento
financeiro para as despesas da empresa com o setor de TI. No entanto, verifica-se que
embora não haja um planejamento, 50% (3/6) dos entrevistados afirmam que as despe-
sas deste setor são estabelecidas pela necessidade de cada área às aplicações de TI, em
contrapartida 2/6 dos participantes afirmam que tal situação não ocorre. Sendo assim,
não é possível tirar conclusões a respeito desta questão, já que de certa forma as respos-
tas dadas foram distribuídas quase que uniformemente entre as respostas possíveis.
Gráfico 6 - É feito planejamento de recursos financeiros visando despesas para o setor de TI?
28
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
29
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
6. Considerações Finais
Este trabalho permitiu uma visão prática e aprofundada de como a empresa visualiza e
descreve os benefícios e as contribuições da Governança de TI, que é reconhecida como
de grande importância na organização e no direcionamento da área de TI, tendo papel
destacado no alinhamento da TI com o negócio e objetivos estratégicos da empresa.
A utilização de questionário objetivo para o estudo da GTI na empresa permitiu reduzir
o nível de subjetividade das análises sobre a Governança de TI na empresa, e concentrou
o estudo sobre cada uma das questões aplicadas de tal modo a fazer um delineamento
baseado nos Domínios da GTI, propostos pela IT Governance Institute (2003).
A partir desta pesquisa conclui-se que os itens que mais apresentaram comparações com
os objetivos dos domínios de Governança de TI, foram aqueles que melhor contribuíram
para que fossem identificadas as características e objetivos da GTI, observando-se que a
GTI está bem definida e suas fronteiras estão claramente delimitadas, além de ser clara a
sua natureza e escopo dentro da empresa União Avícola Agroindustrial. Um exemplo
disso pode ser observado em diversos aspectos, entre eles cita-se: a sua busca por maior
alinhamento entre a TI e os negócios, o estabelecimento de processos operacionais e de
gestão formais baseados nas diretrizes estratégicas da TI, a implantação de controles e
indicadores de desempenho que visam promover uma maior visibilidade sobre os
resultados, a segurança sobre o retorno dos investimentos e o compartilhamento de
responsabilidades das decisões sobre a TI com a empresa.
Referências
Gama, Fernanda de Assis; Martinello, Magnos. “Governança de Tecnologia da
Informação: Um estudo em Empresas Brasileiras”. 4º Simpósio FUCAPE de
Produção Científica. Vitória - ES, 2006. Disponível em: <http://www.fucape.br/
simposio/4/artigos/ fernanda.pdf>. Acesso em: 25 nov. 2014.
IT Governance Institute. “Board Briefing for IT Governance”. 2. ed. Information
Systems Audit and Control Association, 2003.
Terzian, F. “Especial: Um guia de certificações e melhores práticas de TI”, Revista
Computerworld, 2004. Disponível em: <http://computerworld.com.br/gestao/2004/
05/17/idgnoticia.2006-05-15.9653154774>. Acesso em: 24 nov. 2014.
Weill, Peter; Ross, Jeanne W. “IT Governance on One Page” (November 2004). MIT
Sloan Working Paper No. 4517-04; CIS Research Working Paper No. 349.
Disponível em: <https://ssrn.com/abstract=664612>. Acesso em: 25 nov. 2014.
30
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
1. Introdução
A busca pela eficiência de processos tem sido uma necessidade das organizações,
especialmente em instituições públicas de ensino. Com as operacionalizações das técnicas
e conceitos de gerenciamento de processos (do inglês: Business Process Management –
BPM), é possível alinhar as estratégias para tornar a gestão de uma instituição/empresa
mais eficiente e competitiva no mercado. Conforme a OMG Object Management Group
(2016), BPM é um conjunto de técnicas para a melhoria contínua e iterativa dos processos
de negócio de uma organização. Jeston e Nelis (2008) afirmam que BPM é “a realização
dos objetivos de uma organização através da melhoria, gestão e controle de processos de
negócio essenciais”, em uma definição mais exemplificada, implantar o BPM na
organização traz benefícios como implementar metas de melhoria; eliminar retrabalho,
burocracia e custos desnecessários; alinhar as atividades da organização à estratégia e
padronizar atividades dentro das unidades organizacionais [Baldan 2008].
A partir disso, foi proposto otimizar os processos de negócio no Núcleo de
Educação Aberta e à Distância (NUTEAD) da Universidade Estadual de Ponta Grossa
(UEPG). O NUTEAD é o órgão suplementar a Reitoria, criado em 2007. O Núcleo tem
por responsabilidade atuar nas ações que envolvem educação à distância e educação
aberta da UEPG. Uma das atividades executadas pelo núcleo é a disponibilização e o
gerenciamento de um ambiente virtual de aprendizagem (AVA) para EAD (educação à
distância) institucional: sistema onde são mantidos os cursos e suas disciplinas aos alunos
da instituição.
31
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
3. Metodologia
O conceito de BPM foi aplicado na elaboração de solução para organizar e estruturar o
processo de negócio do presente estudo de caso. Foram analisados casos de uso da
produção do material para elaborar um processo próprio, podendo dinamizar toda a cadeia
de produção de material didático digital do NUTEAD. Foram adotados conceitos de
Gestão de Tecnologias de Informação para organizar, estruturar e desenvolver os
procedimentos estabelecidos nesse processo.
A primeira etapa compreendeu o estudo de todas as etapas envolvidas no setor de
criação e diagramação de material. Foi realizado o levantamento dos dados no transcorrer
de oito meses, verificando aspectos das atividades relacionadas desde o tempo de
elaboração, a entrega, a montagem, o tempo de diagramação, a qualidade do material final
e a disponibilização final para a comunidade acadêmica.
32
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
4. Resultados Alcançados
Uma das primeiras etapas realizadas foi a elaboração de um modelo geral, com os atores
que fazem parte da cadeia funcional. Foram removidas, incluídas e atribuídas funções aos
atores do começo ao fim do processo de produção. A elaboração de um diagrama de fluxo
do trabalho permitiu o posicionamento de cada entidade em sua área e com suas
atribuições. Foram feitas as modificações necessárias, adequando-se o processo para
aumentar a eficiência de entrega e execução dos serviços.
Todo o processo do BPM foi implantado no decorrer de 10 meses, sendo avaliado
e reavaliado conforme necessidade. O ultimo diagrama elaborado (Figura 1) está
disponível para visualização no seguinte endereço eletrônico:
http://ead.uepg.br/site/suporte/diagramador.
33
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
34
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
35
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
36
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
5. Considerações Finais
Sugere-se atualização constante e elaboração de novos roteiros específicos e detalhados
para os recursos avançados que são oferecidos no ambiente virtual, permitindo
disponibilizar recursos com maior grau de complexidade e diversificar o número de itens
para os usuários do sistema.
Ressalta-se que por utilizar-se um sistema baseado em software de comunidade,
será necessário manter uma equipe de desenvolvimento trabalhando nas atualizações e
modificações do software.
Após o período de adaptação e implantação do processo estabelecido, foi possível
destacar alguns resultados obtidos por meio de análise do dashboard do centro de suporte.
Um dos itens observados foi o tempo médio de finalização dos pedidos: antes da
implantação era de aproximadamente 7 dias, após o BPM, o tempo médio caiu para 3 dias
na produção de material didático digital. Outra situação melhorada foi a distribuição de
materiais, tornando-se melhor nivelada entre a equipe de diagramação. Os gestores
passaram a atribuir igualmente os trabalhos entre os diagramadores, permitindo tempo
37
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Referências
BALDAM, R. et. Al. (2008) “Gerenciamento de processos de negócios: BPM”, 2ª Edição.
JESTON, J.; NELIS, J. (2008) “Business process management, practical guidelines to
successful implementations”, 2ª Edição.
NUTEAD UEPG (2016). “Núcleo de Educação Aberta e a Distância da Universidade
Estadual de Ponta Grossa”. http://ead.uepg.br, Setembro.
OMG (2016). “Business process management with OMG specifications”. Object
Management Group. http://www.bpm-consortium.org/ literature.htm, Setembro.
SANTIS, S. et. Al. (2012) “A Metodologia Business Process Modeling (BPM) para
implantação do sistema de gestão de qualidade” em Educação, Gestão e Sociedade:
revista da Faculdade Eça de Queiros, Ano 2, Número 7.
38
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Utilização do Moodle como Ambiente Virtual de
Aprendizagem no projeto IF Sem Distâncias
Ricardo Figueiredo Scarpatt¹, Pedro Clarindo Da Silva Neto²
1Instituto Federal de Mato Grosso (IFMT) campus Tangará da Serra Tangará da Serra
Mato Grosso (MT) Brasil
²Instituto Federal de Mato Grosso (IFMT) campus Tangará da Serra Tangará da Serra
Mato Grosso (MT) Brasil
{ricardo, pedro}@tuxcuiabano.com
Abstract. As the main theme was Distance Education along with elearning.
The discussion is based on active teaching in this area of education, other
aspects are also shown, as providing the system for other projects and
institutions. First we will show what distance learning is and how it works
based on network (Internet), the issue of "Virtual Learning Environments" is
also discussed, because it is very important to know what it is and how it
works. Materials and methods present the using of Moodle in other projects
and the proposed use of virtual environments for learning within the
municipal education in the city of Tangará da Serra. The importance and the
transparency of distance education have been worked on some topics of this
article. The history and stages, or generations of distance education must be
understood, even if only the main moments, in order to understand better this
form of teaching.
Resumo. Como tema principal, foi Educação a Distância juntamente com e
learning. A discussão se baseia no docente atuante nesta área da educação,
outras vertentes também são mostradas, como fornecimento do sistema para
outros projetos e instituições. Primeiramente será mostrado o que é ensino a
distância e como ele funciona baseado em rede (Internet), o assunto
“Ambientes Virtuais de Aprendizagem” é discutido também, pois, é de grande
importância saber o que é e como funciona. Materiais e metodologias
apresentam a utlização do Moodle em outros projetos e a proposta de
utilização de ambientes virtuais para a aprendizagem dentro da rede
municipal de educação na cidade de Tangará da Serra. A importância e
transparência da educação a distância é trabalhada em alguns tópicos deste
artigo. A história e etapas, ou gerações, do EaD devem ser entendidas, mesmo
que apenas os principais momentos, para que entendase melhor essa forma
de ensino.
1. Introdução
Existem diferentes formas de ensino, as mais conhecidas são o ensino presencial e o
ensino a distância. O ensino a distância contrapõe à ideia de que o ensino funciona
39
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
apenas de forma presencial, portanto, ensino a distância trabalha com a interação de
professor e aluno, mas não pessoalmente e sim pelo uso de tecnologias que intermediam
a comunicação entre professor e aluno. Com os passares dos anos os professores
aprenderam somente uma maneira de ensino, o presencial, e com o EaD houve um
grande impacto quando se tratava de professores “tradicionais” terem que se adaptar às
novas formas de ensino [Saviane, Lombardi e Andrade 2007]. [Mill e Brito 2013]
afirmam que o problema está na falta de docentes capacitados em ensino a distância.
De acordo com o Censo de Ensino a Distância do Brasil, realizado em 2010, o
número de alunos matriculados em cursos onlines cresceu 90% de 2008 para 2009. Isso
mostra que o EaD passa a ser algo mais comum na vida dos brasileiros em meados da
primeira década de 2000.
No Brasil, o EaD faz diferença na educação. O tamanho do país dificulta que
escolas ou alunos cheguem aos pontos mais remotos. Quando se utiliza a internet como
meio de educação esta “barreira” geográfica que existe se torna fútil [Mill e Brito 2013].
Este trabalho oferecerá solução para o problema com a docência dentro do EaD e será
demonstradas as propostas e iniciativas executadas em prol deste problema.
2. Ensino a Distância
O EaD, sendo considerada uma forma de ensino menos reconhecida que o ensino
presencial, necessita de um investimento maior para chamar a atenção do aluno, um
trabalho maior deve ser feito em torno das propostas que serão feitas referentes aos
cursos oferecidos. Ambientes Virtuais de Aprendizagem são muito versáteis para
proporcionar espaços de aula virtual que não sejam enjoativos, tanto para professor
quanto para aluno. Para facilitar essa manipulação desses espaços virtuais existem
softwares que disponibilizam Ambientes Virtuais de Aprendizagem com diversos meios
para modificações pelo responsável do sistema [Ribeiro, Mendonça e Furtado 2007].
EaD utiliza ferramentas tecnológicas como: computadores, internet, smartphones
e tablets, quando o ensino a distância se faz por tecnologias computacionais é chamado
de elearning. O elearning, sendo o conjunto de ferramentas tecnológicas que
disponibilizam o ensino, ele ainda necessita de um software que disponibilize um
ambiente para que docentes e discentes possam ser relacionar e trocar informações. Esse
ambiente é chamado de Ambiente Virtual de Aprendizagem (AVA). Por definição,
Ambiente Virtual de Aprendizagem são softwares que apoiam a educação a distância,
funcionam via internet oferecendo ferramentas tecnológicas que possibilitam
desenvolver atividades, [Ribeiro, Mendonça e Furtado 2007]. Esses ambientes onlines
fazem o papel de integrar os estudantes com seus colegas, tutores e atividades
disponibilizadas. Os AVAs disponibilizam suporte a vários tipos de mídias como
vídeos, textos, imagens e áudios essa característica torna essa ferramenta bastante
flexível, pois, como o ensino a distância não possibilita uma interação direta entre
professores e alunos o AVA faz esse trabalho levando informações de um para o outro.
Segundo [Messa 2010] os AVAs devem atender as diferentes faixas etárias.
Com o avanço do EaD a necessidade de ferramentas mais produtivas também
aumentou, e os ambientes eletrônicos devem estar cada vez melhores para atender toda
de demanda de informações. Esses espaços eletrônicos devem fazer, ou até obrigar, que
40
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
haja uma interação muito grande entre aluno/tutor com o sistema. Com os
aperfeiçoamentos dos AVAs foi possível a utilização de educação a distância com
pessoas de diferentes idades. De acordo com os dados de [Barros 2008], o EaD surge
inicialmente para atender adultos e jovens e no final do século 20 passou a trabalhar
com crianças, adolescentes e pessoas da 3ª idade.
2.1. Um pouco de história
A EaD tem sua história dividida em gerações. Cada uma destas gerações está ligada a
dois aspectos que foram determinantes para que essa forma de ensino pudesse evoluir,
esses aspectos são: o avanço da tecnologia e o incentivo do governo [Vilaça 2010].
Para simplificar o entendimento destas gerações observe a tabela abaixo.
Tabela 1. Gerações de EaD de acordo com [Vilaça 2010].
3. Materiais e métodos
O termo “IF Sem Distâncias” vem a partir de uma linha de pensamento que afirma que
os Ambientes Virtuais de Aprendizagem juntamente com os recursos tecnológicos
servem para acabar com a distância que há entre estudante e professor.
No Instituto Federal de Mato Grosso Campus Avançado Tangará da Serra
surge a necessidade de um sistema que auxilie os alunos no curso de Libras e nas
atividades do IFeducATIVO (Projeto de extensão do IFMT Tangará da Serra), com o
objetivo de ser uma ferramenta que complemente o ensino presencial. A partir daqui
que se idealiza todo o projeto e é determinado os objetivos e propostas do IF Sem
Distâncias.
IF Sem Distâncias é um projeto de extensão do Instituto Federal de Mato Grosso
Campus Avançado Tangará da Serra que trabalha com a modalidade de ensino a
distância, utilizando de recursos tecnológicos, com o objetivo de complementar os
estudos em sala de aula, trabalhando tanto no ensino presencial como no ensino virtual.
41
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Os cursos que são oferecidos por este projeto, inicialmente, estão e vão capacitar os
professores a ministrarem aulas através de um ambiente virtual de aprendizagem no
IFMT e no município de Tangará da Serra para toda a rede profissional de educação do
município, depois desta etapa o próximo objetivo é expandir os cursos para a rede
estadual. Visase que antes de todo o processo de aprendizagem virtual devese ter bons
profissionais e para isso o IF Sem Distâncias proporciona cursos para que isso ocorra.
Trabalhar com AVAs pode ser fácil para os docentes que já estão inseridos em um
contexto tecnológico, portanto, para os quais não têm esse “costume com a tecnologia”
fica mais difícil ministrar suas aulas sem antes ter passado por uma preparação, pois, os
AVAs contam com um grande número de ferramentas que precisam ser analisadas
passo a passo. O site pode ser acessado de qualquer lugar do mundo através da internet,
a interface do AVA é simples e possui as cores do IFMT para impor uma
familiarização, esse visual (tema) pode ser alterado e reconfigurado.
O projeto visa, inicialmente, a capacitação dos docentes do IFMT de Tangará da
Serra e dos profissionais de educação da rede municipal e estadual de Tangará. O curso
será ofertado por meio de encontros semanais que acontecerão no laboratório de
informática do IFMT. O aluno receberá um material didático onde acompanhará as
aulas de forma prática, aprendendo a criar uma sala de aula virtual. Como projeto piloto,
o IF Sem Distância já realizou a capacitação de um profissional do campus que
atualmente ministra um curso de extensão de curta duração com a temática “Linguagem
brasileira de sinais LIBRAS”, que possui aulas presenciais semanais. Esta primeira
experiência serviu para obter parâmetros de quais assuntos deveriam ser abordados no
curso e quais melhorias deveriam ser feitas dentro do AVA. Na figura 1 é possível
visualizar a página inicial do IF Sem Distâncias.
42
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Figura 1. Página inicial site do IF Sem Distâncias.
43
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
organização e as mais utilizadas são Semanais e Tópicos, ambas organizam bem todo o
material didático e oferece total controle para o professor em relação ao que o aluno
pode ver ou não no momento.
4. Resultados e discussões
Este projeto oferece subsídio a 2 outros projetos que estão no mesmo campus que o IF
Sem Distâncias e também possui 162 usuários, apenas do IFMT de Tangará da Serra,
cadastrados no Moodle. Duas matérias do curso de Manutenção e Suporte a Informática
utilizam o AVA para complementar o ensino passado dentro da sala de aula. O curso de
Libras utiliza o ambiente para disponibilizar mídias e textos para os alunos. O Moodle
oferece também atividades para os estudantes realizarem após os estudos.
O projeto de extensão IFeducATIVO é um grande utilizador do IF Sem Distâncias e
uma vantagem de trabalhar com esse projeto de extensão é que seu público é jovem e
bastante entusiastas para trabalhar com tecnologia e, com a integração de ensino
presencial com tecnologia, foi relatado um aumento de interesse, por parte dos alunos,
pelo curso.
As pessoas que estão utilizando do IF Sem Distâncias receberam o treinamento, no dia
26 de Julho de 2016, para oferecerem uma boa aula virtual aos seus alunos. Esses
treinamentos foram e são feitos através de explicações em forma de seminários e
materiais de apoio (como o manual para utilizar o AVA do Moodle que foi criado pela
equipe do IF Sem Distâncias). A rede municipal de educação de Tangará da Serra foi
informada sobre a existência e objetivos do IF Sem Distâncias, que quer, como no
IFMT Tangará da Serra, fazer deste AVA uma ferramenta dos docentes para que eles
possam complementar suas aulas virtualmente. O processo de integração entre a
educação e Moodle é complicado pelo fato de que os professores devem conhecer todo
o sistema e saber o que fazer e como fazer, ou seja, há a necessidade de minicursos
preparatórios para a utilização do Ambiente Virtual de Aprendizagem oferecido pelo
Moodle e isto será feito pelo IF Sem Distâncias.
5. Conclusões
Este artigo tratara de um pouco de cada parte que compõe o EaD, portanto, pode se
expandir ainda mais os conceitos e trabalhos que envolvem essa forma de ensino
surpreendente que, como foi visto na história, surgiu desamparada pela maioria das
organizações e empresas mas conseguiu e consegue surpreender o mercado, que
também lucra muito com ensino a distância que vem sendo uma tendência para as
instituições privadas de ensino, pois, é mais fácil montar um sistema de ensino virtual
do que construir um imóvel para ensino presencial que ainda possui vagas relativas ao
tamanho da construção.
Foi relatado durante o minicurso que, os professores ainda se interessam mais
pelo ensino presencial, porém, quando vêem as diversas ferramentas que um AVA
oferece ficam entusiasmados. Um grande interesse por simplicidade e facilidade na
postagem de materiais didáticos foi encontrado dentre esse grupo de professores.
A partir do fatos e conceitos discutidos aqui é possível afirmar que EaD é uma
forma de ensino flexível podendo ser totalmente online apenas cursos a distância onde
44
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
não tem necessidade de haver uma simultânea conexão entre docente e discente, e pode
ser semipresencial e complementar que são duas maneiras bastante interessantes quando
se quer iniciar um processo de integração entre EaD e ensino presencial. Há uma
flexibilidade também nos utilizadores de sistemas para ensino virtual, tanto em relação
ao aluno como em relação ao professor, e, embora possa parecer mais complexa de se
usar, a facilidade ou não de usar ambientes virtuais de aprendizagem vai depender da
interação que aluno e professor tem como tecnologias digitais. Ensino virtual também
vai depender de como cada empresa ou instituição a usa, pois, como não se tem uma
forma totalmente padrão de se aplicar ensino a distância, as maneiras ficam à mercê.
Pode se visualizar também um processo de crescimento do EaD no Brasil de
acordo com que a tecnologia vai deixando de ser algo distante na vida dos brasileiros e
a internet vai chegando aos pontos mais remotos. O ensino a distância vai depender
muito da conscientização que as pessoas têm e vão ter em relação a essa forma de
ensino e para isso deve se executar palestras e seminários que repassem toda a ideia de
EaD para as pessoas, ensinar a filosofia dessa forma de ensino e mostrar maneiras de
como usá la é indispensável. Então devese mostrar, falar e discutir sobre ensino a
distância com os docentes, essa é a nova missão para a equipe do IF Sem Distâncias.
A Tecnologia Assistiva também deve ser integrada aos AVA’s, pois, pessoas
que têm deficiências auditivas ou visuais não podem ser impossibilitadas de adquirirem
conhecimento a partir de seus computadores ou dispositivos móveis. Já existe um
arsenal de ferramentas tecnológicas que proporcionam aos deficientes inclusão social
uma vida mais independente [Galvão Filho 2009]. Contudo, o próximo passo é
melhorar o arsenal de tecnologia em Ambientes Virtuais de Aprendizagem destinada às
pessoas especiais.
Referências
Messa, W. Utilização de ambientes virtuais de aprendizagem – AVAS: a busca por uma
aprendizagem significativa. Vol. 9. São Paulo, 2010.
Barros, D. Educação a distância: desafios atuais / Daniela Melaré Vieira, João Pedro
Albino, Vera Lúcia Messias Fialho Capellini, Olga Maria Piazentin Rolim Rodrigues
In: Práticas em educação especial e inclusiva na área da deficiência mental / Vera
Lúcia Messias Fialho Capellini (org.). – Bauru : MEC/FC/SEE, 2008. 12 v. : il.
Ribeiro, E.; Mendonça, G. e Furtado, A. A importância dos ambientes virtuais de
aprendizagem na busca de novos domínios da ead. 2007.
Censo do Ensino a Distância do Brasil. (Associação Brasileira de Educação a
Distância). São Paulo: Pearson Education do Brasil, 2010.
Mill, D. e Brito, N. In: Estudo sobre a aprendizagem da docência na atuação na
educação a distância: uma ánalise da percepção dos professores: V Seminário
Internacional de Educação a Distância, 2013, Belo Horizonte. Seminário, Belo
Horizonte: 2013.
Saviani, D.; Lombardi, J. e Andrade, S. In: O processo histórico da educação a distância
e duas implicações: desafios e possibilidades, VII Jornada do HISTEDBR, 2007,
45
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
UNICAMP. História, Sociedade e Educação no Brasil. Campo Grande: UNIDERP,
2007.
Sabbatini, R. Ambiente de Ensino e Aprendizagem via Internet. Instituto Edu Med.
2007.
Vilaça, M. Educação a Distância e Tecnologias: conceitos, termos e um pouco de
história. Revista Magistro Revista do Programa de Pós Graduação em Letras e
Ciências Humanas – UNIGRANRIO, v. 1, Num. 2. 2010. ISSN: 21787956.
Galvão Filho, T. A. A Tecnologia Assistiva: de que se trata? In: MACHADO, G. J. C.;
SOBRAL, M. N. (Orgs.). Conexões: educação, comunicação, inclusão e
interculturalidade. 1 ed. Porto Alegre: Redes Editora, p. 207235, 2009.
46
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
1. Introdução
Um dos grandes desafios impostos aos docentes atualmente é como aproveitar as
ferramentas tecnológicas a favor do ensino. Compreender como os recursos
computacionais podem contribuir para o desempenho das ações humanas e ser capaz de
explorar programas de computadores e seus componentes é requisito mínimo de
domínio dos alunos, conforme as exigências do atual mundo do trabalho . Para despertar
mais o interesse por pesquisa nos alunos, é importante a divulgação do desenvolvimento
de projetos de pesquisa, pela importância da exposição dos resultados obtidos pelos
alunos nos estudos realizados, assim como pela valorização do trabalho discente (COX,
2003).
Os dispositivos móveis estão cada vez mais presentes no cotidiano da sociedade,
estes enriquecem a experiência de aprendizado ao agregar à metodologia alguns dos
47
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
2. Revisão Bibliográfica
Nesta seção são apresentados os conceitos básicos da ferramenta APP Inventor e sua
utilização no contexto educacional.
48
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
49
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
50
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
3. Procedimentos Metodológicos
Nesta seção são apresentados os aspectos metodológicos utilizados na condução do
estudo.
O Desafio de Aplicativos do Instituto Federal de Goiás campus Luziânia teve
como objetivo fomentar dentro do IFG a produção e a promoção de novos aplicativos,
com a exploração das potencialidades do APP Inventor, estimulando a criatividade e a
participação dos alunos em trabalhos em grupo, ampliando também os conceitos
aplicados ao técnico em informática, colocando em prática o que é estudado e abordado
dentro das salas de aula, aplicando conhecimentos básicos de programação, estimulando
a criatividade e aceitação de novos desafios, explorando trabalho em equipe e
competitividade.
Para que um aplicativo fosse elegível a participar da atividade, ele deveria ser
um aplicativo (mobile) em versões final. Participaram alunos matriculados nas
disciplinas de programação para web do curso técnico em informática para internet do
Instituto Federal de Goiás campus Luziânia. Os aplicativos submetidos deveriam:
concordar com regulamento e regras estabelecidas no regulamento; deter os direitos de
uso de todos os recursos criado pelos participantes; executar corretamente na plataforma
indicada; as equipes não poderiam ultrapassar 3 (três) integrantes; as equipe deveriam
utilizar, obrigatoriamente, o APPInventor para o desenvolvimento do aplicativo. Quanto
à desclassificação ficou estabelecido que: quaisquer aplicativos que utilizassem obras de
terceiros seriam desclassificados; não seriam aceitos aplicativos submetidos com teor
pornográfico, racismo, preconceito, questões éticas ou morais, sexo explícito, violência,
intimidação, incitação ao ódio, falsificação de identidade ou comportamento enganoso,
informações pessoais e confidenciais sem autorização prévia, atividades ilegais, jogos
de azar, produtos maliciosos e a não utilização do APP Inventor.
Os aplicativos submetidos considerados elegíveis foram avaliados por uma
banca avaliadora definida pela comissão organizadora. Os membros desta banca
avaliadora foram formados por professores do Instituto Federal de Goiás campus
Luziânia. A banca avaliadora analisou os aplicativos submetidos e atribuiu uma nota de
1 a 5, onde 1 significa “Muito fraco” e 5 significa “Excelente”, para cada um dos
critérios listados: Inovação e Criatividade. Apresentação de soluções inovadoras e não
convencionais que fundamentem o aplicativo. Qualidade de uso. Planejamento da
interface de forma a propiciar a efetividade (eficácia e eficiência) e satisfação da
interação. Projeto. Organização, qualidade da apresentação, profundidade e clareza da
51
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
4. Resultados Obtidos
4.1. Bhaskara
Este aplicativo tem como objetivo ajudar as pessoas na resolução do cálculo de
Bhaskara, dando a resposta rapidamente dos valores de X’ e X”, onde é necessário
informar os valores e o aplicativo apresenta a resposta final, pois muitas pessoas têm
dificuldades em cálculos assim, e o aplicativo pode ajudá-las na confirmação dos
valores.
Para se utilizar o aplicativo, é necessário apenas que a pessoa informe os valores
de A, B e C, e apertar em OK. Rapidamente o aplicativo irá informar os valores de X’ e
X’’. O aplicativo possui uma interface simples onde é apresentado ao usuário apenas os
locais onde ele irá informar os valores necessários para o calculo de Bhaskara e assim
52
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
que for apertado ok, serão apresentados os valores encontrados, conforme ilustra a
Figura 2.
4.2. Calc
O aplicativo consiste em um modelo de calculadora que realiza todas as funcionalidades
padrão, como multiplicar, dividir, somar, e subtrair, e, além disso, calcular a raiz
quadrada e potência. O aplicativo foi criado através de iniciativa própria, devido ao
grande contato com a criação de programas que tivessem as funcionalidades de
calculadora.
O aplicativo possui um teclado, enumerado de 0 a 9, e botões com o ponto, sinal
de igual, soma, subtração, multiplicação, divisão, raiz quadrada, potência e o botão de
limpar. Seu funcionamento se assemelha ao de uma calculadora normal, são
selecionados os números e as operações que se deseja realizar com os devidos números.
A estrutura de organização do aplicativo é simples e objetiva, apresentando todas as
suas funcionalidades, conforme ilustra a Figura 3.
5. Considerações Finais
O APP Inventor, ferramenta utilizada no desenvolvimento do projeto utiliza
programação orientada a eventos para celulares com sistemas operacionais Android e é
de fácil utilização, apresenta inúmeras funcionalidades e já vem sendo empregada em
salas de aulas para estimular o aprendizado no desenvolvimento de aplicativos para
dispositivos móveis. Ficou evidenciado na realização deste projeto, o potencial que o
53
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Referências
App Inventor. Site do APP Inventor. Disponível em: <http://beta.appinventor.mit.edu>.
Acesso em 10 outubro. 2015.
Brás, C. M. Plataforma Android: Os Sensores e a Física. Anais do I Encontro
Internacional da Casa das Ciências, 2013.
Cox, K. K. Informática na educação escolar. Campinas: Autores Associados, Coleção
Polêmicas do nosso tempo, 2003.
Gestwicki, P., & Ahmad, K. APP Inventor for Android with Studio-Based Learning.
Journal of Computing Sciences in Colleges , pp. 55-63, 2011.
Gomes, T. C.S.; Melo, J. C. B. APP Inventor for Android: Uma Nova Possibilidade para
o Ensino de Lógica de Programação. Anais do II Congresso Brasileiro de Informática
na Educação, p.620-629, 2013.
Lake, P., Lanerolle, T., Limardo, N., Morelli, R., & Uche. Can Android APP Inventor
Bring Computational Thinking for K-12? Technical Symposium On Computer
Science (SIGCSE), 2011.
Massachusetts Institute of Technology. Massachusetts institute of technology. Fonte:
MIT APP Inventor: appinventor.mit.edu/ Acesso em 10 de novembro. 2015.
Smutny, P. Visual programming for smartphones. Proceedings of 12th International
Carpathian Control Conference - ICCC, p. 358-361, 2011.
Spertus, E., Chang, M. L., Gestwicki, P., & Wolber, D. Novel approaches to CS 0 with
app inventor for android. Proceedings of the 41st ACM Technical Symposium on
Computer Science Education, 2010.
Wolber, D. APP Inventor and Real-World Motivation. Fonte:
http://cs.usfca.edu/~wolber/appinventor/wolberSigCse11.pdf, 2010.
Wolber, D., Abelson, H., Spertus, E., & Looney, L. APP Inventor: Create your own
Android Apps. Sebastopol: O’Reilly Media, 2011.
54
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
1. Introdução
Ferramentas de autoria são softwares que permitem ao tutor humano manipular (criar,
alterar ou excluir) sessões de ensino, de modo a compor um ambiente informatizado
para ensino e aprendizagem de algum conteúdo. A materialização dos conteúdos se
dá sob a forma de Objetos de Aprendizagem (OAs), que são concebidos e construı́dos
pelo professor. A forma como será a interação do aluno com os exercı́cios e as questões
propostas, dependerá de como estes objetos foram criados e como a ferramenta de autoria
os trata. De acordo com [Leite 2015], na maioria dos OAs, a remediação de erros tem
sido aplicada de forma mais restrita. Normalmente disponibiliza-se os OAs aos alunos
com pouca ou nenhuma consideração sobre a possibilidade de retroação ao estado de
erro, nem sua mediação. As tentativas de mediação, nesses casos, concentram-se apenas
em proporcionar um retorno simples, por meio de mensagens, se a resposta está correta
ou incorreta.
Considerando uma ferramenta computacional que proporcione a retroação ao
contexto do erro e permita sua mediação através da interação entre alunos e professores,
55
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
2. Resenha literária
Os primeiros registros sobre o uso da informática aplicada à educação, sob
uma perspectiva construtivista e construcionista, datam do final de década de
1970. Experimentos realizados pelo Laboratório de Estudos Cognitivos (LEC),
da UFRGS exploravam a potencialidade do uso do computador com a linguagem
Logo, uma linguagem de programação interpretada, voltada para crianças e jovens.
[Nascimento 2007]. Segundo o autor, esses trabalhos procuravam compreender o
raciocı́nio lógico-matemático das crianças. Esses experimentos foram apoiados nas
teorias de Piaget e Papert, sobre cujos conceitos a proposta da FARMA-ALG tem forte
embasamento, usando a intervenção como forma de promover a aprendizagem autônoma.
Nos cursos de computação e engenharias, as disciplinas introdutórias de
algoritmos são de extrema importância para que o aluno tenha uma base sólida, que
assegure seu bom desempenho no decorrer do currı́culo. Entretanto, geralmente o tempo
reservado para essas disciplinas é restrito, o que compromete o bom aproveitamento do
aluno nas disciplinas subsequentes. Até mesmo a perı́cia do futuro egresso pode ser
influenciada, afetando sua prática profissional [Krynski 2013]. Trabalhar a capacidade
1
http://farma-alg.com.br
56
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
2
http://farma.educacional.mat.br/
57
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
3. Conceitos da FARMA-ALG
A proposta central da FARMA-ALG é promover a mediação do erro no ensino
de programação de computadores considerando uma abordagem sócio-interacionista
[Kutzke 2014]. Sua implementação teve como base a ferramenta FARMA, um arcabouço
que permite a construção de exercı́cios de conceitos matemáticos. A escolha se justifica
por ela apresentar um mecanismo eficiente para autoria de OAs e possuir um mecanismo
de armazenamento automático de respostas, que permite a retroação aos estados de erros.
Adicionalmente, a FARMA-ALG oferece um mecanismo de visualização das respostas
considerando os grafos de relações existentes entre vários registros.
O esquema de funcionamento da FARMA-ALG foi herdado da FARMA, sobre a
qual foram adicionadas novas funcionalidades. Para tal, foi proposto um novo arcabouço,
que contempla quatro sub-módulos: armazenamento, recuperação, visualização e
manipulação. Sua organização pode ser conferida na Figura 1 e suas caracterı́sticas e
principais funcionalidades são abordadas a seguir.
3.1. Armazenamento
O mecanismo de armazenamento automático de respostas da FARMA foi mantido
na FARMA-ALG. Foram adicionadas duas novas funcionalidades: a máquina de
similaridade e o grafo de similaridade. A máquina de similaridade permite calcular o grau
de semelhança entre duas respostas, de acordo com parâmetros definidos. São verificadas
falhas de segmentação, erros de compilação, utilização de memória, tempo de execução e
as semelhanças entre a saı́da obtida para cada conjunto de testes. Também são verificados
os graus de semelhança entre os códigos-fonte das repostas e entre as saı́das obtidas para
cada caso de teste.
O grafo de similaridade é formado à medida em que os alunos vão submetendo
suas respostas na FARMA-ALG. A máquina de similaridade procura por semelhanças
em respostas de alunos que sejam da mesma turma à uma mesma questão. Caso não
58
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
sejam encontradas semelhanças, é realizada uma nova comparação para a mesma questão,
entretanto de turmas diferentes. Por fim, a resposta é comparada com outras questões, em
busca de similaridades de código-fonte.
3.2. Recuperação
A recuperação de respostas é composta pelas funcionalidades de busca de registros e
de recomendação. A funcionalidade de busca permite que professores e alunos possam
encontrar respostas de assuntos especı́ficos, relevantes para o processo de mediação do
erro. O sistema de busca é também capaz de recuperar trechos de código-fonte presentes
nas respostas dos alunos, permitindo que o professor busque por construções comuns,
como array[min..max], por exemplo. Durante o procedimento de busca, o professor
pode filtrar os resultados por intervalo de tempo, usuário, turma, objeto de aprendizagem,
questão ou categoria.
A funcionalidade de recomendação tem como base a análise do grafo de
similaridade das respostas. Ao realizar a análise, o sistema encontra registros que podem
ser relevantes para um determinado grupos de alunos, sugerindo recomendações. O
sistema então oferece a oportunidade do professor aceitar as recomendações e enviar
comentários sobre elas aos alunos.
3.3. Visualização
Para que o professor possa manipular os registros armazenados na FARMA-ALG, é
necessário que ele tenha ao seu dispor as ferramentas de visualização necessárias. Os
seguintes modos estão disponı́veis: grafo, linha do tempo, visualização de respostas e
outras visualizações. No sentido de auxiliar o professor na tarefa de manipulação dos
registros, a funcionalidade de visualização gráfica do grafo de similaridade é um recurso
de destaque. Ao visualizar o grafo, é possı́vel observar caracterı́sticas de uma única
resposta bem como das relações entre respostas diferentes. A Figura 2 mostra a tela com
um grafo de similaridade e as opções disponı́veis em um menu vertical, como adicionar
ou remover respostas, adição de aresta, pausa do movimento do grafo, centralização e
remoção de respostas.
3.4. Manipulação
As respostas incorretas são apresentadas como vértices de cor preta e as respostas corretas,
em vértices de cor verde. Ao selecionar a aresta de uma relação entre vértices, é
59
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
apresentada uma visualização com os detalhes da relação. A partir dessa tela, o professor
pode executar operações como comparar as respostas e então confirmar ou rejeitar a
similaridade entre elas.
Uma das principais funcionalidades é o agrupamento automático de respostas
similares. O professor tem a opção de operar sobre os agrupamentos, apropriar-se das
informações armazenadas e aplicar as intervenções que considerar necessárias. O sistema
oferece um mecanismo de atribuição automática de relações entre respostas, realizada
pela máquina de similaridade. É permitido ao professor a manipulação dos registros,
inserindo ou removendo relações entre eles, nos casos em que a máquina de similaridade
não foi capaz de fazê-las automaticamente.
Quanto mais o professor interage com o sistema através de suas ações de
manipulação dos registros de respostas, mais ”treinada”a aplicação se tornará. A
FARMA-ALG oferece ao professor duas formas distintas para que ele realize a
manipulação dos registros. Ele pode operar diretamente o grafo de similaridade, o que
facilita sua abstração e compreensão, ou acessar as respostas disponı́veis em uma linha
do tempo, de forma que ele pode analisar o contexto da formação dos conceitos do
aluno. Assim, o docente contribui com subsı́dios para que a máquina de semelhança
possa melhorar as generalizações automáticas das categorizações das respostas.
4. Avaliação da FARMA-ALG
A ferramenta permite criar e disponibilizar objetos de aprendizagem para o ensino de
programação de computadores. Dessa forma, torna-se possı́vel ao professor manipular,
classificar e entender as relações entre as repostas de seus alunos. A plataforma
é disponibilizada via Web, sua interface é limpa, leve, intuitiva e agradável, o que
caracteriza desde o acesso, a vocação sócio-interacionista proposta.
4.1. Interface
Ao acessar a FARMA-ALG, a tela inicial oferece as opções de entrar como um usuário
já cadastrado, registrar-se ou obter informações detalhadas sobre a ferramenta. Ainda na
tela inicial, são mostradas miniaturas de alguns módulos especı́ficos, com breves porém
sucintas explicações sobre as funcionalidades de cada uma delas, como manipulação das
respostas, recomendações automáticas para análise de respostas relevantes e os diferentes
tipos de visualizações disponı́veis. Os desenvolvedores se dedicaram aos detalhes de
Interface Humano-Computador (IHC), visto que, ao selecionar a opção entrar, o usuário,
que já deve estar cadastrado, será direcionado para a tela de autenticação. Caso ainda não
tenha efetuado o registro, é possı́vel selecionar a opção para registrar-se, que aparece na
parte inferior da mesma tela, sem necessidade de voltar à tela inicial.
Ao acessar o sistema pela primeira vez, é apresentada uma mensagem de boas
vindas ao usuário, com explicações sobre as opções disponı́veis. Após a leitura, o usuário
pode optar em fechar o aviso ou selecionar a opção para que a mensagem não seja exibida
novamente, otimizando a vizualização de outros itens. A tela inicial da FARMA-ALG
é bastante simples e intuitiva contando com um painel de mensagens relevantes para o
professor, que exibe itens como número de respostas corretas e incorretas, quantidade
de turmas e alunos, comentários e mensagens, as últimas respostas das turmas e as
recomendações feitas automaticamente pelo sistema. Na lateral esquerda encontramos
60
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
um completo menu que dá acesso à todas as funcionalidades disponı́veis. A interface foi
desenvolvida considerando que o acesso pode ser efetuado em qualquer tipo de dispositivo
e portanto, conta com recurso de responsividade, permitindo que seus elementos gráficos
e menus se ajustem automaticamente à qualquer resolução de tela.
4.2. Utilização
Destacamos como diferencial, a funcionalidade do grafo de similaridade, que possibilita
a comparação entre respostas de diferentes alunos. Após a criação dos OAs e exercı́cios,
a inserção de questões também se demonstrou ser simples, sendo efetuada em poucos
passos. Em todos os passos é disponibilizado um editor embutido no formulário, com
recursos de formatação no estilo WYSIWYG (What You See Is What You Get). Ao criar
uma ou mais questões para um determinado exercı́cio, é solicitado ao autor que marque
a opção que determina em qual linguagem de programação o aluno deve submeter seu
código, devendo optar entre Pascal ou C.
A utilização do grafo de manipulação de respostas é simples e provida de vários
recursos para busca, filtragem e manipulação das respostas que aparecem. Através da
visualização do grafo, foi possı́vel facilmente analisar as relações entre as respostas, o
que constitui poderoso recurso pedagógico ao professor.
Referências
Ainsworth, S. (2006). Deft: A conceptual framework for considering learning with
multiple representations. Learning and Instruction, 16(3):183–198.
61
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
62
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
1. Introdução
A maior causa relacionada a ocorrência de acidentes nas estradas
brasileiras ainda é o comportamento humano. Em 2014, segundo dados da
PRF (2014), foram registrados mais de 165 mil acidentes de trânsito, dos
quais 32% se deram pela falta de atenção, 20% pela velocidade incompatível
e 12% por ultrapassagens indevidas. Dentre as causas que mais geram
acidentes com óbito (normalmente causada por colisões frontais) está a falta
de visibilidade [PRF 2014].
De acordo com DPVAT (2014), os acidentes que mais geraram
indenizações no ano de 2014 aconteceramdurante o anoitecer, representando
23% do total. Quando considerados os acidentes ocorridos no período da
63
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
64
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
65
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
3. Considerações Finais
Através do protótipo inicial foi possível perceber que com mais estudos e
testes o sistema tem potencial para se tornar um produto. Os sensores foram
capazes de captar diferentes intensidades luminosas, o que tornou o sistema apto
a controlar automaticamente os LEDs que simulam os faróis altos.
Novos testes serão realizados com intuito de verificar qual a distância
máxima que os módulos LDR conseguem captar mudanças na luminosidade.
Além disso outros sensores de luminosidade e distância serão agregados ao
protótipo e testados, para identificar o melhor conjunto possível de sensores para
solução do problema.
Ainda, pretende-se integrar esse sistema em um automóvel, com objetivo
de investigar variáveis e fatores que possam interferir no projeto e que não foram
identificados nos testes já realizados. Sendo assim, as próximas etapas do projeto
consistem em analisar a real aplicabilidade do sistema.
4. Referências
ARDUINO (2016) - https://www.arduino.cc/, Setembro.
DENATRAM – Departamento Nacional de Trânsito (2016) “Código de Trânsito Brasileiro”,
http://www.planalto.gov.br/ccivil_03/leis/L9503.htm, Setembro.
DPVAT - Seguro de Danos Pessoais Causados por Veículos Automotores de Vias Terrestres
(2014) “Boletim Estatístico – Ano 04 – Volume 04 – Janeiro a Dezembro de 2014”,
http://www.seguradoralider.com.br/Documents/boletim-estatistico/Boletim-Estatistico-Ano-
04-Volume-04.pdf, Setembro.
PRF – Polícia Rodoviária Federal (2014) “PRF – Balanço de Atividades 2014”,
https://www.prf.gov.br/portal/noticias/nacionais/prf-balanco-de-atividades-2014, Setembro.
66
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
1. Introdução
Contemporaneamente a área da Inteligência Artificial (IA) tem prosperado e se
modificado, tornando possível a implementação de algoritmos complexos. Para este
cenário têm-se novas formas que apoiam a interação entre homem e computador, sendo
uma dessas formas a tecnologia chatterbot, agentes inteligentes de conversação.
Utilizando técnicas de IA os chatterbots são capazes de simulação de diálogo [Ferreira;
Uchôa 2013]. O mecanismo responsável pelo funcionamento de chatterbots é o
algoritmo GraphMaster e seu comportamento espelha-se na busca em profundidade
[Moura 2008].
Utilizando a pesquisa bibliográfica em uma abordagem metodológica descritiva
do comportamento do algoritmo GraphMaster o artigo está estruturado em três seções, a
seção 2 trata sobre conceituar inteligência computacional, linguística computacional e
chatterbots. A seção 3 trata explorar o objeto de investigação neste artigo que é o
algoritmo GraphMaster. Por fim, a seção 4 trata das considerações finais em relação ao
que foi exposto e os apontamentos de trabalhos futuros e melhorias.
67
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
2. Fundamentação Teórica
O termo inteligência computacional ou inteligência artificial são termos que remetem ao
mesmo conceito, no entanto, consagrou-se uso do termo Inteligência Artificial (IA)
[RABUSKE 1995]. Define-se “[...] a inteligência artificial é um subrefúgio, um
artifício, destinado a dominar as máquinas conferindo-lhes uma inteligência” [Ganascia
1993, p. 27]. De outro modo, considera-se a IA como “[...] o estudo do comportamento
inteligente (em homens, animais e máquinas) e a tentativa de encontrar formas pelas
quais esse comportamento possa ser transformado em qualquer tipo de artefato por meio
de engenharia” [Whitby 2004, p. 19]. Em outra definição “[...] a IA tem por objetivo
implementar numa máquina a possibilidade de realizar tarefas que uma criança é capaz
de realizar, mas o mais poderoso dos supercomputadores ainda não” [Rosa 2011, p. 2].
A linguística computacional explora as relações entre linguística e informática,
sobretudo, é a área da ciência da linguística voltada para o tratamento computacional
das linguagens e das línguas naturais [Martins 2011]. A linguística computacional torna
possível a construção de sistemas com capacidade de reconhecer e produzir informação
apresentada em linguagem natural, sendo dividida em duas subáreas: a Linguística de
Corpus e o Processamento de Linguagem Natural (PLN). Contudo, considerando que há
muitos trabalhos que envolvem as duas subáreas então esta divisão nem sempre é nítida.
[Othero; Menuzzi 2005].
Os chatterbots surgiram no contexto do Processamento de Linguagem Natural
[Moura 2008], no entanto, a forma com que o chatterbot tem seu funcionamento não
caracteriza processamento de linguagem natural, mas sim como uma simulação de
diálogo [Ferreira; Uchôa 2013] que segue o padrão de estimulo-resposta [Santos;
Camilo; Kamienski 2009]. O nome (chatterbot) vem da junção de duas palavras
inglesas: chat (conversar, bater papo) e bot (abreviação de robot, robô) [Moura 2008]. O
primeiro chatterbot foi proposto figurava a comunicação em linguagem natural e
batizado pelo nome de Eliza [Weizenbaum 1966].
3. O algoritmo GraphMaster
O algoritmo GraphMaster é utilizado pelo motor de inferência de chatterbots baseados
na tecnologia ALICE (Artificial Linguistic Internet Computer Entity], utilizam a
linguagem AIML (Artificial Intelligence Markup Language), padronizada e espelhada
na linguagem XML (eXtensible Markup Language), para representar conhecimento
[Leonhardt et al. 2003].
O algoritmo GraphMaster é implementado tendo com base um grafo como
estrutura de dados [Wallace 1995], assim as categorias codificadas em um arquivo
AIML são lidas e introduzidas neste grafo. Para facilitar a compreensão observa-se a
Figura 1 que trás um exemplo de arquivo AIML.
68
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Uma vez que o algoritmo GraphMaster tenha montado o grafo de busca a partir
do arquivo AIML, então com o padrão é feito uma busca em profundidade, técnica esta
que consiste em ir até o mais profundo do grafo [Ziviani 2004] e até que seja encontrado
o pattern. Portanto, o algoritmo faz a busca de uma resposta na base de conhecimento,
analisando a entrada do usuário (input) e o uso de caracteres coringas disponível em
AIML. Outro ponto a destacar é que a representação dos pattern em um grafo é feito
palavra a palavra, desconsiderando os espaços em branco, o que resulta em uma
compactação na estrutura representada e consequentemente uma diminuição no volume
de dados armazenado em memória.
69
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
4. Considerações finais
Com a crescente popularização do acesso a Internet, chatterbots baseados na tecnologia
ALICE foram facilmente difusos, pois são baseados em AIML que facilitou a criação de
diversas bases de conhecimento e a criação e otimização de motores de inferência,
sendo possível encontrar implementações em diversas linguagens de programação.
Pode-se então compreender chatterbots como agentes inteligentes de software que são
capazes de simular diálogo em linguagem natural.
A abordagem deste artigo concentrou-se apresentar o mecanismo de
funcionamento de chatterbots baseados na tecnologia ALICE, possibilitando que
pesquisadores no assunto possam ter subsídios norteadores para fazerem suas
implementações. Aponta-se como trabalhos futuros a implementação do algoritmo
GraphMaster em uma linguagem de programação e sua aplicação em um base de
conhecimento de teste.
Referências Bibliográficas
Ferreira, L. P. e Uchôa, J. Q. () “Desenvolvimento de um chatbot para auxiliar o ensino
de Espanhol como Língua Estrangeira”, https://goo.gl/ssYuYW, Agosto.
Ganascia, J. G. (1993) Inteligência Artificial, Instituto Piaget.
Leonhardt, M. D. et al. (2003) “ELEKTRA: Um Chatterbot para Uso em Ambiente
Educacional”, https://goo.gl/6E5BYM, Agosto.
Martins, R. T. (2011) “E se as máquinas não precisarem de regras para aprender a
linguagem humana”, https://goo.gl/Yh1aVA, Outubro.
Moura, D. S. de (2008) “Psicochat: chatterbot aplicado ao ensino de psiquiatria”, Centro
Universitário Feevale.
Othero, G. A.; Menuzzi S. M. (2005) “Linguística Computacional: teoria e prática”,
Parábola.
Rabuske, R. A. (1995) “Inteligência Artificial”, UFSC.
Rodrigues, R. L. 2009, “Chatterbot: Agente inteligente simulador de linguagem natural
aplicado a educação”, Universidade Estadual da Paraíba
Rosa, J.L. G. (2011) “Fundamentos da inteligência artificial”, LTC.
Santos, M.; Camilo, E.; Kamienski, C. (2009) “Desenvolvimento de um chatterbot com
reconhecimento e síntese de voz na web que realiza cálculos de expressões
matemáticas simples”, IV CONNEPI.
Wallace, R. (1995). “Alice: artificial linguistic internet computer entity - the a.l.i.c.e.a.i.
foundation”, http://www.alicebot.org/, Outubro.
Weizenbaum, J. (1966) “ELIZA: A computer program for the study of Natural
Language Communication between man and machine”, Communications of ACM.
Whitby, B. (2004) “Inteligência artificial: um guia para iniciantes”, Madras.
Ziviani, N. (2004) “Projeto de algoritmos: com implementação em Pascal e C”, Pioneira
Thomson Learning.
70
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
1. Motivação
Nos dias de hoje, onde grande parte das informações que são produzidas e acessadas estão
armazenadas no formato digital, ou seja, estocadas em algum tipo de sistema computaci-
onal, certas informações tem um valor imensurável ou podem desencadear catástrofes se
colocadas em mãos erradas, portanto é extremamente importante que estes sistemas com-
putacionais sejam seguros e confiáveis. Segundo [Schneier 1996], para alcançar estes
requisitos um sistema deve garantir confidencialidade, integridade e disponibilidade. A
confidencialidade assegura que as informações devem somente ser acessadas por usuários
autorizados. Integridade se trata de garantir que informações não sejam modificadas por
usuários não autorizados, e por último, disponibilidade é a garantia de que o acesso ao
sistema não será negado de forma maliciosa aos usuários autorizados.
Quando um sistema não apresenta este tipo de segurança e confiabilidade, pessoas
mal intencionadas podem aproveitar-se disto para acessar informações confidencias bus-
cando o autobeneficio ou até mesmo denegrir a imagem de alguém. Exemplo disto foi o
que aconteceu em Julho de 2015, em que um grupo de hackers intitulados como The Im-
pact Team invadiram os servidores do site de infidelidade AshleyMadison.com roubando
71
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
2. Levantamento bibliográfico
Um teste de penetração, ou penetration test, ou pentest, é um processo de avaliação de
segurança que simula ataques reais de atacantes maliciosos a um sistema, visando encon-
trar e remover potenciais vulnerabilidades [Farah 2015]. Para obter sucesso na execução
do mesmo, é preciso escolher um entre os inúmeros padrões para execução de testes de
penetração disponı́veis no mercado. Entretanto, segundo [Farah 2015], apesar das me-
todologias apresentarem nomes ou uma ordem diferente para execução das etapas do
teste, as tarefas a serem executadas são fundamentalmente as mesmas. Por ser uma me-
todologia recomendada por vários autores e possuir uma carga teórica consideravelmente
pequena, a metodologia adotada neste trabalho será a do (PTES), que divide o pentest
em 7 etapas descrevendo as tarefas que devem ser cumpridas em cada uma destas. Par-
tindo da comunicação inicial com o cliente e motivação do teste, passando pela coleta
de informações, modelagem de ameaças, análise de vulnerabilidades, exploração, pós-
exploração e por fim a criação do relatório técnico [pentest-standard.org 2016].
A fase de acordos prévios consiste em discutir com o proprietário da rede ou
sistema, os aspectos referentes ao escopo do teste, como horário para execução, hosts
que participarão do teste, tipos de ataque que podem ser empregados, entre outros, além
de se obter por escrito uma autorização para a realização do teste. Já na fase de coleta
de informações, o objetivo é conseguir a maior quantidade de informação possı́vel sobre
o alvo a ser testado, uma vez que, quanto mais informação se tem sobre o alvo, maior
será a gama de vetores de ataque que poderão ser empregados na fase de modelagem das
ameaças [pentest-standard.org 2016].
Na modelagem de ameaças determina-se qual é o objetivo do testador perante ao
alvo e quais os métodos de ataque mais eficientes para alcançar este objetivo, ou seja,
como o testador pode causar o maior dano ao alvo e como ele fará isso. Na fase seguinte,
a análise de vulnerabilidades, o testador busca efetivamente por potenciais falhas que
irão determinar quão efetivas serão suas estrategias de ataque definidas na fase anterior
[Weidman 2014]. Na fase de exploração o testador executa os exploits que são capazes
de explorar as falhas encontradas na fase anterior, tentando assim comprometer o sistema
alvo. A fase de pós-exploração consiste em determinar se é possı́vel comprometer algo
a mais a partir do sistema comprometido. Por fim, na ultima fase, deve ser criado um
relatório técnico, descrevendo todas as vulnerabilidades encontradas, como foram explo-
radas, o que foi comprometido a partir disto e acima de tudo, indicar medidas que possam
ser tomadas para eliminar as vulnerabilidades encontradas[pentest-standard.org 2016].
72
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
3. Metodologia
Seguindo a metodologia descrita na seção anterior, o primeiro passo será definir o escopo
do teste e obter o termo de autorização para a execução do mesmo. Após finalizada esta
etapa, propõe-se o uso das ferramentas Whois, Netcraft1 e Nmap2 para coletar informações
sobre o alvo. As duas primeiras são capazes de extrair informações sobre os domı́nios
registrados e a terceira é capaz de escanear redes de computadores listando hosts ativos,
suas portas abertas e seus sistemas operacionais. De posse da informações coletadas sobre
o alvo, deve ser possı́vel ter uma visão geral de como os sistemas em teste operam, o que
possibilita a determinação dos meios pelos quais o testador será capaz de causar dano aos
usuários e/ou administradores do sistema.
Com o fim de encontrar potenciais vulnerabilidades, o escâner desenvolvido pela
empresa Rapid7, chamado de NeXpose, será utilizado. Este é capaz de analisar os hosts
ativos e encontrar potenciais falhas, sugerindo quais exploits pode ser utilizados para
explora-las, bem como suas respectivas remediações. Para a fase de exploração, o fra-
mework Metasploit será utilizado pois este possui uma grande variedade de exploits e
payloads prontos para o uso, facilitando e muito a exploração das falhas. Na fase de
pós-exploração, será analisado o cenário com o objetivo de determinar o que mais pode
ser explorado a partir do que foi comprometido na fase anterior. Por fim, será criado um
relatório técnico contendo os detalhes de cada faze do teste, as potenciais vulnerabilida-
des encontradas, como podem ser exploradas, o que pode ser comprometido caso isso
aconteça e seus respectivas correções.
4. Resultados esperados
Espera-se que sejam encontradas várias falhas nas redes e sistemas avaliados utilizando
a metodologia proposta, uma vez que segurança dificilmente é um aspecto tratado com a
devida atenção dentro de organizações que não são especializadas na área de computação.
Após finalizado o teste, espera-se que seja possı́vel a criação de gráficos como ilustra a
Figura 1, apresentando quais são as vulnerabilidades mais comuns encontradas.
73
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Referências
Farah, T. (2015). SQLi Penetration Testing of Financial Web Applications : Investigation
of Bangladesh Region. (WorldCIS) World Congress on Internet Security, 2015, pages
146–151.
pentest-standard.org (2016). Penetration testing execition standard. acessado em 04/2016.
Prandini, M. and Ramilli, M. (2010). Towards a practical and effective security testing
methodology. ISCC ’10, pages 320–325. IEEE Computer Society.
Schneier, B. (1996). Applied Cryptogarphy: Protocols, Algorithms and source code in C.
John Wiley & Sons, Inc.
Weidman, G. (2014). Penetration Testing.
74
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
1. Introdução
A história dos games começou com jogos simples, como "Spacewar" e "Pong",
que eram criados por poucas pessoas no início da década de 1970 - a maioria dos
envolvidos eram programadores experimentando novas linguagens. Hoje, os games se
tornaram superproduções que exigem equipes numerosas e de diversas áreas - desde
artistas até engenheiros G1 (2009).
Ao ver das pessoas, jogos tem o objetivo apenas de entretenimento. Mas com o
desenvolvimento tecnológico e o apoio de pesquisadores da educação, jogos com o
objetivo de aprendizado, vem sendo desenvolvidos com a visão de auxiliar a população
em geral.
Uma das etapas mais importantes do desenvolvimento de um jogo, é a parte de
programação, que é a parte de dar vida aos cenários e personagens produzidos pelos
artistas e modeladores. O estágio de programação de um jogo, passar por vários
processos de experimento e desenvolvimento de testes. A programação de jogos, é uma
das subáreas de desenvolvimento de jogos.
Jogos Sérios (Serious Games) visam principalmente a simulação de situações
práticas do dia-a-dia, com o objetivo de proporcionar o treinamento de profissionais,
situações críticas em empresas, conscientização para crianças, jovens e adultos
Rodrigues et al, (2009).
75
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
3. Programação de Jogos
A programação de jogos, é algo muito peculiar entre os programadores, pois
muitos que estão acostumados a desenvolver sistemas, passam por alguma dificuldade
pelo tratamento da física e matemática do game.
A programação orientada a eventos é um paradigma de programação que não
segue um fluxo de controle padronizado, sendo que seus fluxos de controles são guiados
por sinais externos. Portanto sua aplicação está diretamente ligada com o
desenvolvimento de interfaces voltada para o usuário. (Silveira et al. [2007?])
Segundo Gonçalves (2016), programação orientado a eventos é largamente
utilizado em interfaces (como formulários, botões, caixas de texto) e em arquiteturas de
jogos, onde eventos desencadeiam outros eventos.
Como um exemplo que podemos dizer, é um evento que ocorre em um jogo
quando uma tecla é segurada pelo jogador, se programado corretamente, pode fazer com
que o personagem possa andar. Na Figura 2 observa-se um Script para movimento do
personagem desenvolvido em Unity 5 (C#), onde o método Movimentar() é chamado
por um FixedUpdate que é um evento que acontece constantemente e tem o objetivo de
atualizar os frames do jogo.
76
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
4. Serious Games
Os Serious Games, são jogos eletrônicos que tem o objetivo de ensinar os
jogadores. Um exemplo que pode ser citado é o Food Force publicado pela ONU no ano
de 2005, onde os jogadores tem o objetivo de distribuir alimentos e alguns países
eradicados pela fome, até o país se tornar novamente auto-sustentavel.
Como pode-se notar na Figura 3, o jogo Code Cave (Desenvolvido pelo autor) é
um serious game desenvolvido para a área da educação. O Code Cave funciona da
seguinte forma, o jogador controla um personagem representado por um minerador
dentro de uma mina, que tem por objetivo pegar um minério aleatório que surgirá numa
localização randomizada dentro do mini mapa da caverna. Ao se movimentar através
dos métodos escritos em um textbox o personagem poderá chegar até o minério e assim
utilizando o comando “cavar();” ressurgirá outro minério em uma localização
randômica.
O objetivo do Code Cave, é ensinar crianças com idade entre 8 e 16 anos a
escrever códigos básicos para manipular o personagem. Como pode ser observado na
Figura 3, o jogo possui um balãozinho com algumas falas, onde estas se ajustam de
acordo com a quantidade de comandos que o jogador utiliza.
Figura 3. Code Cave jogo produzido para ensinar programação (Desenvolvido pelo autor)
77
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
mover(); Move o personagem de acordo com a direção que ele está, o objeto
sempre se moverá para frente.
girar(); Rotaciona o personagem emu ma escala de 90° para conseguir se
movimentar para cima, baixo, frente ou atrás.
cavar(); Ao o minério, o jogador poderá utilizar este comando para conseguir
pegar o minério.
Após usar uma sequencia de comandos, o jogador precisa apertar o botão
“COMPILAR”, que este garantirá que o objeto se mova, de acordo com os comandos
apresentados pelo jogador.
5. Conclusão
Neste trabalho apresentou-se uma breve introdução sobre os estágios completo
de desenvolvimento de um game, desde a programação até suas fases de testes. E a
elaboração e testes de um Serious Games para auxilio pedagógico de programação para
crianças, onde se espera obter um aumento na capicidade de raciocinio lógico e uma
melhor compreensão de funções de códigos.
Referencias
Frayze, D. “Programação Orientada a Objetos: uma introdução.” Disponível em:
<http://www.hardware.com.br/artigos/programacao-orientada-objetos/>. Acesso
em: 23 ago. 2016.
G1, “Conheça as etapas de produção de um game moderno”. Disponível em:
<http://g1.globo.com/Noticias/Games/0,,MUL1241561-9666,00-
CONHECA+AS+ETAPAS+DE+PRODUCAO+DE+UM+GAME+MODERNO.ht
ml>. Acesso em: 26 ago. 2016.
Gonçalves, Moises. “C# Orientado a Eventos - Delegates e Eventos”. Disponível em:
<http://www.devmedia.com.br/c-orientado-a-eventos-delegates-e-eventos-revista-
net-magazine-99/25654#>. Acesso em: 22 ago. 2016.
Novak, Jeannie. “Desenvolvimento de Games”. Traducao . 2. ed. [s.l.] CENGAGE
LEARNING, 2010. p. 340 – 350.
Machado, H. “Os 4 pilares da Programação Orientada a Objetos - POO.” Disponível
em: <http://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-
objetos/9264>. Acesso em: 23 ago. 2016.
Rodrigues, Herbet Ferreira, L. dos S. Machado, and Ana Maria Gondim Valença. "Uma
proposta de serious game aplicado à educação em saúde bucal." anais do Workshop de
Realidade Virtual e Aumentada, Santos, Brazil, CDROM. 2009.
Silveira, M. P.; Rafael; Vargas P. T. “Programação Orientada a Eventos.” Disponível
em:
<http://www.dcc.unimontes.br/renato/2009/sdi/materiais/2007_1_paradigmas_orientado
_eventos.pdf>. Acesso em: 10 ago. 2016.
78
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Aplicativo para Comércio Eletrônico Conforme Princípios
da Economia Solidária1
Valter Luis Estevam Júnior, João Luis Dremiski, Cleverson Sebastião dos Anjos,
Thalita Scharr Rodrigues Pimenta, Tiago Gerke, Elisson Otávio Gaievski, Lucas
Fernando Pontes Castro
Instituto Federal de Educação, Ciência e Tecnologia do Paraná – Irati, PR Brasil
[valter.junior, joao.dremiski, cleverson.anjos, thalita.pimenta,
tiago.gerke]@ifpr.edu.br, elissongaievski@hotmail.com,
lucas_pontes@outlook.com
Abstract. This article describes an application's modeling for an ecommerce
production of small farmers in the region of Irati / PR according to the
principles of solidarity economy. The application requirements, the
architectural model adopted and entered resources in order to preserve the
solidarity enterprise features are discussed. The application will be
implemented, deployed and it is expected to enable increased access to quality
organic food raising the income of farmers..
Resumo. Este artigo descreve um trabalho de modelagem de um aplicativo
para comércio eletrônico da produção de pequenos agricultores da região de
Irati/PR conforme os princípios da economia solidária. São discutidos os
requisitos da aplicação, o modelo arquitetural adotado e os recursos
inseridos de modo a preservar as características de empreendimento
solidário. A aplicação será implementada, implantada e esperase que
possibilite aumentar o acesso a alimentos orgânicos de qualidade e a
aumentar a renda dos produtores.
1. Introdução
Este trabalho tem por objetivo descrever a modelagem de um aplicativo para comércio
de produtos orgânicos tendo como premissa os fundamentos da economia solidária. O
seu desenvolvimento se justifica pela dificuldade encontrada pelos produtores
agroecológicos da região de Irati/PR em comercializar seus produtos. Há ainda a
dificuldade dos consumidores em adquirir produtos orgânicos de qualidade.
Em discussão com representantes do Fórum Municipal de Economia Solidária
de Irati surgiu a proposta do desenvolvimento de uma plataforma para comércio de
produtos orgânicos composta por um sistema web e um aplicativo para smartphones e
tablets. Será abordada neste trabalho a modelagem do aplicativo com enfoque na
interface entre a aplicação de comércio eletrônico e os princípios da economia solidária
que devem ser respeitados bem como aspectos arquiteturais da solução.
O trabalho está assim organizado: na Seção 2 são apresentadas as
fundamentações para o trabalho tais como os conceitos de agroecologia e economia
1
Trabalho financiado com recursos do Instituto Federal do Paraná e da Fundação Araucária.
79
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
solidária além de discutir as características de aplicativos híbridos. Na Seção 3 temse
os resultados e a discussão e na Seção 4 as considerações finais.
2. Fundamentação Teórica
2.1. Agroecologia e Economia solidária
A agroecologia é uma ciência emergente que estuda os agroecossistemas integrando
conhecimentos de agronomia, ecologia, economia e sociologia [Altieri 1989]. Em
relação aos aspectos econômicos, ela defende um modo de produção cujos princípios
básicos são a propriedade coletiva ou associada do capital e o direito à liberdade
individual, denominado economia solidária. Nos empreendimentos solidários objetiva
se que todos os envolvidos obtenham lucros distribuídos igualmente, ou ao menos, de
modo mais igualitário quanto possível. Destacase ainda entre suas premissas [Singer
2002]: (1) Autogestão os (as) participantes das organizações exercitam as práticas
participativas de autogestão dos processos de trabalho, ou seja, as decisões são tomadas
em assembléias por todos ou por delegados. Discutemse desde definições estratégicas e
cotidianas dos empreendimentos até a direção e coordenação das ações nos seus
diversos graus e interesses. (2) Solidariedade a solidariedade é evidenciada em
diferentes dimensões, tais como: na justa distribuição dos resultados alcançados; na
melhoria das condições de vida dos participantes; no compromisso com um meio
ambiente saudável; no relacionamento com a comunidade; nas relações com os outros
movimentos sociais e populares de caráter emancipatório e na preocupação com o bem
estar dos trabalhadores e consumidores e, (3) Cooperação união dos esforços e
capacidades, a propriedade coletiva de bens, a partilha dos resultados e a
responsabilidade solidária. Envolve diversos tipos de organização coletiva: empresas
autogestionárias ou recuperadas (assumida por trabalhadores); associações comunitárias
de produção; redes de produção, comercialização e consumo; grupos informais
produtivos de segmentos específicos (e.g. mulheres, jovens); clubes de trocas, entre
outros.
Em síntese, a economia solidária vem se caracterizando como uma forma
alternativa de geração de trabalho e renda e como uma resposta a favor da inclusão
social. Sua forma de organização compreende uma diversidade de práticas econômicas
e sociais organizadas sob a forma de cooperativas, associações, clubes de troca,
empresas autogestionárias e redes de comercialização [Laforga 2005, grifo nosso].
2.2. Aplicativos Híbridos
Aplicativos nativos residem no dispositivo para o qual foram especificamente
desenvolvidos e podem ser acessados por meio de ícones na tela principal sendo
instalados a partir da respectiva loja (e. g. Google Play, App Store e Microsoft Store).
Por outro lado, os Web Apps são na realidade sites que se parecem com um aplicativo
nativo. Entretanto, eles são executados através de um navegador e, em geral, são
escritos utilizando HTML 5. O acesso é feito por URL e uma opção de gerar um atalho
para o site na tela principal é fornecida [Ambros 2013].
Finalmente, os aplicativos híbridos são parcialmente nativos e parcialmente web
apps. Eles ficam disponíveis na loja, ficam armazenados na tela principal do dispositivo
e tem capacidade de explorar as funcionalidades do dispositivo tais como: câmera, GPS
80
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
e acelerômetro. Tais como os Web Apps, eles podem ser baseados em HTML 5 e
exibidos através de um navegador embutido no aplicativo [Ambros 2013]. Entre
as ferramentas de maior destaque para desenvolvimento de aplicativos híbridos
destacamse o Cordova e o PhoneGap [Machado 2015].
3. Metodologia
O trabalho foi desenvolvido em 4 etapas: (1) Levantamento bibliográfico sobre
agroecologia, economia solidária e tecnologias para desenvolvimento de aplicativos
híbridos como Cordova, PhoneGap, HTML 5, CSS, JavaScript, Arquitetura Orientada a
Serviços e Web Services RESTFull; (2) Entrevistas com produtores, gestores de uma
rede de consumidores e produtores para levantamento de requisitos; (3) Definição de
um modelo arquitetural a ser adotado com base no levantamento bibliográfico e de
requisitos e, (4) Mapear e modelar a aplicação segundo os princípios da autogestão,
solidariedade e cooperação de empreendimentos solidários.
4. Resultados e Discussão
A modelagem do aplicativo é resultado da execução das etapas 1, 2 e 3 da metodologia.
Os requisitos levantados são apresentados a seguir: (1) Gerenciar usuários fornecedores
(cadastrar e habilitar, alterar, consultar e desabilitar); (2) Gerenciar usuários
consumidores (cadastrar e habilitar, alterar, consultar , desabilitar e incluir em grupos de
consumidores); (3) Gerenciar grupos de consumidores (criar e habilitar grupos, alterar,
consultar, desabilitar, atribuir usuário consumidor líder, associar a grupo de consumidor
pai); (4) Gerenciar preços (atribuir preço a produto, criar promoções para grupos
específicos); (5) Gerenciar reputação de fornecedores (consumidores avaliam a
qualidade dos produtos e os gestores da rede de consumidores avaliam o cumprimento
de prazos e promessas de entrega de produtos feitas pelos fornecedores); (6) Gerenciar a
reputação de consumidores (consumidores que fizerem reserva de produtos e não
retirarem os mesmos devem ser penalizados uma vez que isso pode levar a rede de
consumidores e produtores a prejuízos devido à perecibilidade dos alimentos; (7) O
aplicativo deve funcionar em smartphones com Android 4.0 ou superior e, se possível,
em outras plataformas tais como iOS e Windows Phone.
De posse dos requisitos foi proposta uma arquitetura orientada a serviço (SOA)
como a da mostrada pela figura 1.
Figura 1. Arquitetura do aplicativo para comércio eletrônico.
81
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
5. Considerações finais
Foi apresentada a modelagem de um aplicativo para comércio eletrônico solidário. O
aplicativo leva em consideração os princípios de autogestão, solidariedade e cooperação
de empreendimentos solidários. Seu desenvolvimento será realizado com as tecnologias
Cordova e PhoneGap explorando os recursos de aplicações híbridas que consomem
serviços RESTFull. Com isso, o potencial de inserção da ferramenta será maior uma vez
que o aplicativo funcionará nas três principais plataformas de smartphones. Esperase
ainda fortalecer as ações de redes de consumidores e produtores e a geração de
desenvolvimento local sustentável.
Referências
Altieri, M. A. (1987), Agroecology: the scientific basis of alternative agriculture.
Boulder: Westview Press. 227 p.
Ambros, L. (2013) Diferença entre Aplicativos Nativos, Híbridos e Mobile Web Apps.
Disponível em: http://www.luisaambros.com/blog/diferencaentreaplicativos
nativoshibridosemobilewebapps/ Acesso em 01 out 2016.
Laforga, G. (2005). Economia Solidária, Agricultura Familiar e Comércio Justo:
alinhando convergências, apresentando desagios, 2005. In. Anais do XXIX Encontro
Anual da ANPOCS.
Machado, H. (2015) Aplicações Móveis: Nativas ou Web? Disponível em:
http://www.devmedia.com.br/aplicacoesmoveisnativasouweb/30392, acesso em
01 out 2016.
82
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
robson.conq@gmail.com,{lwolski,mineia}@unemat.br
Abstract. Differential equations are very important tools for mathematical mo-
deling of problems encountered in the real world. However, it is not always
possible to solve an differential equation by analytical means. The output, the-
refore, is to use numerical methods, which approach the accurate solution by
means of ordered pairs of points. Through the numerical solution, we can solve
any differential equation, since, there is an initial condition, that is, an initial
ordered pair of points.
1. Introdução
Equações Diferenciais Ordinárias (EDOs) são ferramentas importantı́ssimas para a mode-
lagem matemática de problemas do mundo real. Elas podem descrever fenômenos fı́sicos,
biológicos, quı́micos, epidemiológicos, entre outros, quando estes fenômenos são descri-
tos em termos de taxa de variação [Frederico Ferreira Campos 2001, p. 293]. Exemplos
práticos que usam EDOs são, taxa de crescimento de uma população de bactérias, taxa
de crescimento de uma população de uma cidade ou a propagação de uma doença em um
grupo populacional.
Nem sempre é possı́vel resolver uma EDO por meio analı́tico, ou seja, encontrar a
solução para a equação incógnita por meio de funções elementares da matemática. Mesmo
equações diferenciais com aspecto simples como:
y 0 = x2 + y 2 ou y 00 = 6y 2 + x
não podem ser resolvidas em termos de funções elementares [Barroso et al. 1987, p. 275].
Para as soluções numéricas não existem limitações, pois são usados valores da variável
independente e, pelo menos, um resultado já conhecido da função.
Porém, é importante lembrar que, esses métodos como outros do cálculo numérico
acumulam erros a cada iteração. Uma boa implementação dos métodos é a chave para
bons resultados e eficiência. Cada linguagem de programação possui sua particularidade
e elas devem ser respeitadas nas implementações de cada método.
83
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
2. Definição
Antes de começar, é importante entender algumas definições e terminologias básicas so-
bre o assunto que será tratado. É perceptı́vel pelo nome que Equações diferenciais envolve
diferenciação, ou seja, é um tipo de equação que envolve derivadas. Essas derivadas po-
dem conter uma ou mais variáveis independentes na mesma equação - isso se tornará mais
claro em breve. Diferentemente da álgebra onde é buscado variáveis incógnitas, que são
números, as incógnitas das equações diferenciais são funções [Diacu 2004]. Por exemplo,
dx
= x2 + t2
dt
a função x(t) é desconhecida, assim como sua primeira derivada. O desafio é encontrar
todas as possı́veis funções x(t) e x0 (t) que satisfaça a igualdade. Equação Diferencial
Ordinária é um tipo de equação que possui uma ou mais variáveis dependentes em relação
a apenas uma variável independente. Por exemplo,
y 0 − 5y = 1, u0 − v 0 = x, y 00 − 2y 0 + 6y = 0
dy
O termo dx = f (x, y) é a equação diferencial ordinária de primeira ordem e y(x0 ) = y0
é a condição inicial a qual o problema é submetido. Este tipo de problema ocorre quando
procuramos uma solução particular em determinados pontos (xk , yk ).
84
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
Há várias razões em que o método de Euler não é recomendado para o uso prático,
entre elas estão as apresentadas por [Press et al. 1992, tradução nossa]: o método não é
muito exato quando comparado aos outros e, não é estável.
Cada um dos métodos de Runge-Kutta, consiste em comparar um polinômio de
Taylor apropriado para eliminar o cálculo das derivadas. Desenvolvido por Carl David
Runge (1856-1927) e Wilhelm Martin Kutta (1867-1944), ambos matemáticos alemães
[Valle 2012].
Runge-Kutta quarta ordem, é um dos métodos mais usados na prática, devido a
sua precisão:
k1 = f (xk , yk )
1 1
k2 = f (xk + h, yk + k1 )
2 2
1 1
k3 = f (xk + h, yk + k2 )
2 2
k4 = f (xk + h, yk + k3 )
h
yk+1 = yk + (k1 + 2k2 + 2k3 + k4 )
6
Os métodos de múltiplo passos usa os valores de vários passos computados previamente
para obter o valor de yk+1 . O Método de Adams-Bashforth-Moulton é um dos métodos
mais populares de passo múltiplo preditor-corretor:
P h
yk+1 = yk + (55fk − 59fk−1 + 37fk−2 − 9fk−3 )
24
C h P
yk+1 = yk + (9fk+1 + 19fk − 5fk−1 + fk−2 )
24
para k = 3, 4,. . . , N-1
P C
onde a equação yk+1 prediz um valor a ser computado e corrigido por yk+1 . Neste proce-
dimento, é necessário ter computado previamente os valores y0 , y1 , y2 , y3 por um método
de passo simples de quarta ordem, e.g., Runge-Kutta-Fehlberg ou Dormand-Prince.
85
Anais do 8º Congresso Acadêmico de Tecnologia e Informática (CATI 2016)
Ciência da Computação – UNEMAT – Barra do Bugres – ISSN 2448-119X
5. Metodologia
Para o desenvolvimento do trabalho proposto, foi utilizado a revisão bibliográfica, tendo
como base referenciais teóricos que tratam de Equações Diferenciais e Cálculo Numérico
e, conseguinte, a implementação de um algoritmo, para a realização dos cálculos. Deste
modo, para o desenvolvimento do software e implementação dos testes, a metodologia foi
dada por:
Softwares utilizados: Linguagem de programação C, compilador gcc 5.4.0, IDE Geany
1.27, Sistema Operacional Lubuntu 16.04 64bit.
Hardware utilizado: 4x Intel(R) i3-2328M CPU @ 2.20GHz, 2 GB de memória RAM e
disco rı́gido de 500GB.
6. Resultados e discussões
Os testes, a princı́pio, não foram todos concluı́dos, porém, os resultados obtidos até o
momento com os algoritmos, são satisfatórios, pois, os resultados calculados pelo algo-
ritmo, coincidem com os resultados da solução exata. Espera-se, então, que os resultados
obtidos pelo método de Runge-Kutta de quarta ordem aproximem dos resultados exatos
sem a necessidade de um passo muito pequeno. Por outro lado, o número de vezes que a
função f (x, y) necessita ser avaliada, por passo, é elevada.
Já os métodos de passo múltiplo, obtém resultados consideráveis, porém neces-
sitam de um passo pequeno para isso. Esses tipos de métodos, são atrativos por sua
simplicidade, podendo ser usada até mesmo em uma calculadora. O lado negativo é a não
auto-inicialização, necessitando dos 4 primeiros pontos já calculados por um método de
ordem quatro.
7. Considerações Finais
Este trabalho apresentou os métodos numéricos mais conhecidos para a solução
de EDOs, e propôs uma alternativa de algoritmo em C, que ainda está em fase
de melhoramento. O algoritmo completo pode ser encontrado no repositório
https://github.com/conqlima/ode-onestep-multistep. Como traba-
lhos futuros, é conveniente, aprimorar o algoritmo, atribuindo-lhe mais opções de
configurações, como por exemplo, a exatidão dos resultados serem passados por
parâmetro pelo usuário.
Referências
Barroso, L. C., de Araújo Barroso, M. M., Frederico Ferreira Campos, f., de Carvalho,
M. L. B., and Maia, M. L. (1987). Cálculo numérico: (com aplicações). HARBRA,
São Paulo, 2 edition.
Diacu, F. (2004). Introdução a equações diferenciais: teoria e aplicação. LTC, Rio de
Janeiro.
Frederico Ferreira Campos, F. (2001). Algoritmos numéricos. LTC, Rio de Janeiro.
Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. (1992). Numerical
Recipes in C: the art of scientific computing. Cambridge University Press, New York,
2 edition.
Valle, K. N. F. (2012). Metodos Numericos de Euler e Runge-Kutta. Monografia, Univer-
sidade Federal de Minas Gerais, Belo Horizonte.
86