Vous êtes sur la page 1sur 126

III WORKSHOP DE INFORMÁTICA APLICADA E DESENVOLVIMENTO DE JOGOS PARA COMPUTADORES E DISPOSITIVOS MÓVEIS

ANAIS

III WIA

2010

ORGANIZAÇÃO:

E DISPOSITIVOS MÓVEIS ANAIS III WIA 2010 ORGANIZAÇÃO: PROMOÇÃO: Sociedade Brasileira de Computação Volta

PROMOÇÃO:

MÓVEIS ANAIS III WIA 2010 ORGANIZAÇÃO: PROMOÇÃO: Sociedade Brasileira de Computação Volta Redonda - RJ, 22

Sociedade Brasileira

de Computação

Volta Redonda - RJ, 22 e 23 de Outubro de 2010 UniFOA – Centro Universitário de Volta Redonda

UniFOA – CENTRO UNIVERSITÁRIO DE VOLTA REDONDA CURSO DE SISTEMAS DE INFORMAÇÃO

ANAIS

III WIA – III WORKSHOP DE INFORMÁTICA APLICADA E DESENVOLVIMENTO DE JOGOS PARA COMPUTADORES E DISPOSITIVOS MÓVEIS

http://www.unifoa.edu.br/wia/

ISBN: 978-85-60144-36-5

Volta Redonda, 22 e 23 de Outubro de 2010

i

COMISSÃO ORGANIZADORA

Coordenação Geral

Carlos Eduardo Costa Vieira (UniFOA e UGB)

Coordenação Local

Antônio Carlos da Silva (UniFOA)

Coordenação do Comitê de Programa

Carlos Vitor de Alencar Carvalho (USS, UniFOA e IST-Paracambi)

Coordenação do Comitê Editorial

Júlio César da Silva (USS, UNIFESO e IST-Rio)

Coordenação do Comitê de Divulgação

David de Siqueira Alves Pereira (Profissional Liberal)

Editor dos Anais da III WIA

D. Sc. Júlio César da Silva (USS, UNIFESO E IST-Rio)

ii

COMITÊ CIENTÍFICO

D. Sc. Anderson Alvarenga de Moura Meneses (UERJ)

D. Sc. Carlos Eduardo Costa Vieira (UniFOA e UGB)

D. Sc. Carlos Vitor de Alencar Carvalho (USS, UniFOA e IST-Paracambi)

Ph. D. Edgar Efraim Michael Rechtschaffen (UNIFESO)

M. Sc. Gilvan de Oliveira Vilarim (UNIFESO)

D. Sc. Humberto José Bortolossi (UFF)

D. Sc. Júlio César da Silva (USS, UNIFESO e IST-Rio)

M. Sc. Laurentino Duodecimo Rosado Fernandes (USS e UBM)

D. Sc. Paulo César Mappa (IFT-MG)

M. Sc. Rosenclever Lopes Gazoni (UniFOA)

iii

AGRADECIMENTOS

A realização do III WIA agradece à Sociedade Brasileira de Computação (SBC) pelo apoio dado ao evento.

iv

APRESENTAÇÃO

A edição dos anais da III WORKSHOP DE INFORMÁTICA APLICADA E

DESENVOLVIMENTO DE JOGOS PARA COMPUTADORES E DISPOSITIVOS MÓVEIS, realizado nos dias 22 e 23 de Outubro de 2010, no Centro Universitário de Volta Redonda (UniFOA) proporcionou uma interação entre alunos, professores e profissionais da área de computação.

O III WIA ofereceu uma oportunidade valiosa para que indústrias, empresas e

instituições do estado do Rio de Janeiro viessem conhecer e discutir avanços tecnológicos em diversas áreas da computação. O I WIA foi organizado pela Universidade Severino Sombra (USS) e aconteceu na cidade de Vassouras-RJ em Fevereiro de 2008, já o II WIA foi organizado pelo Centro Universitário Serra dos Órgãos (UNIFESO) e aconteceu na cidade de Teresópolis-RJ em Março de 2009.

Durante o III WIA 2010 foram ministradas palestras por docentes e profissionais de comprovada competência, oriundos das instituições de ensino superior e de pesquisa do Brasil, bem como de empresas reconhecidas regionalmente e nacionalmente. Houve apresentação de trabalhos de iniciação científica e pesquisa por docentes e discentes de algumas IES do Brasil.

O Comitê Científico ao revisar os artigos, recomendou algumas modificações. A realização ou não de tais modificações, bem como o conteúdo neles apresentados, é de responsabilidade dos autores. A decisão de aceitação dos trabalhos, em qualquer estágio de sua execução, foi baseada na ideia de que, com a apresentação e o debate, proporcionar-se-ia uma maior difusão de conhecimentos e uma grande integração entre pesquisadores e profissionais da área de computação.

A Comissão Organizadora

III WIA

v

SUMÁRIO

01-78936_1

Informática Educacional: uma Análise sobre sua Difusão em Escolas Municipais do Ensino Fundamental I em Guaratinguetá - SP

8

José Airton Ferreira da Silva (FATEC), Camila Martinelli Rocha (FATEC), Jozeli Mara da Silva Gonçalves (FATEC)

02-78951_1

Matemática via TV Digital Interativa

17

Gabriel Paes Barreto do Nascimento Oliveira (UNINORTE), José Henrique Cavalcante (UNINORTE), Henrique Simch Morais (UNINORTE), Michela dos Santos Gonzaga (UNINORTE), Ricardo da Silva Barboza (UNINORTE), Anderson Fernandes Esteves (UNINORTE e ITEGAM)

03-79050_1

Problema de Alocação de Horários: um Estudo de Caso Utilizando o Software Livre FET

26

Bruno Marcelo Pena Barata (UNIFESO), Raphael Carlos de Medeiros (UNIFESO), Carlos Eduardo Costa Vieira (UNIFESO e UniFOA), Júlio César da (UNIFESO e USS)

04-79051_1

Modelo de Gerenciamento de Suporte e Entrega de Serviços de Tecnologia da Informação: Estudo de Caso

35

Adilson Ricardo da Silva (UGB), Rafael Rodrigues Pereira (UGB), João Paulo Rocha (UGB), Carlos Eduardo Costa Vieira (UGB)

05-79056_1

Aplicação de um Sistema Imunológico Artificial em um Tower Defense

44

Renato de Pontes Pereira (UNIVEM), Mauricio Duarte (UNIVEM)

06-79068_1

Análise de Implementações Shaders Aplicados no Desenvolvimento de Jogos Eletrônicos

54

João Baptista Cardia Neto (UNIVEM), Renato de Pontes Pereira (UNIVEM), Mauricio Duarte (UNIVEM)

07-79079_1

ARPENALTY – Jogo Colaborativo com Realidade Aumentada

60

Celso André Rodrigues de Sousa (UNIFESP), Bruno Mamoru Shibata (UNIFESP), Regis Lima Claus (UNIFESP), Marcus Vinicius G. Vieira (UNIFESP), Douglas Eduardo Parra (UNIFESP), Ezequiel Roberto Zorzal (UNIFESP)

08-79094_1

Modelo Computacional baseado em Servidor: Estudo de Caso Utilizando Thin Clients

71

Moacir Luiz Barnabé (UniFOA), Rita de Cassia Rocha (UniFOA), Reginaldo Castro de Souza (UniFOA), Carlos Eduardo Costa Vieira (UniFOA)

09-79103_1

Composição Dinâmica de Serviços Categorizados em Camadas por Computação Paralela

79

Rosenclever Lopes Gazoni (UniFOA)

vi

10-79109_1

INTNUM: uma Ferramenta Computacional para Visualização e Cálculo dos Métodos de Integração Numérica

86

Bruno Nunes Myrrha Ribeiro (USS), Carlos Vitor de Alencar Carvalho (USS, UniFOA e IST-Paracambi)

11-79110_1

Uma Ferramenta Computacional para Geração de Modelos Digitais de Terrenos com Visualização em VRML

96

Antonio de Paula Pedrosa (USS), Carlos Vitor de Alencar Carvalho (USS, UniFOA e IST- Paracambi)

12-79193_1

BRIAN – um Agente Inteligente Cognitivo e Deliberativo para Aplicações em Jogos de Computadores

106

Victor A. P. Oliveira (UFERSA), Pablo L. B. Soares (UFERSA)

13-79244_1

Framework para Desenvolvimento de Jogos 3D baseado na API O3D

114

Leandro Bezerra Rodrigues (UNIFESO), Júlio César da Silva (UNIFESO e USS)

vii

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

INFORMÁTICA EDUCACIONAL: UMA ANÁLISE SOBRE SUA DIFUSÃO EM ESCOLAS MUNICIPAIS DO ENSINO FUNDAMENTAL I EM GUARATINGUETÁ - SP

José Airton Ferreira da Silva 1 , Camila Martinelli Rocha 2 , Jozeli Mara da Silva Gonçalves 3 1, 2, 3 Faculdade de Tecnologia de Guaratinguetá, SP 1 j.airton.fs@gmail.com; 2 jsilva29@ig.com.br; 3 jsilva29@yahoo.com.br

Resumo. Uma questão sempre discutida nas políticas educacionais é a formação inicial e continuada dos professores constituindo um dos pilares do Plano de Desenvolvimento da Educação (PDE). Surgiram então os primeiros projetos com destaque para o EDUCOM, projeto público a tratar da informática educacional. A pesquisa realizada teve o objetivo principal de verificar a difusão e a didática nas escolas municipais de Guaratinguetá. Verificou-se que neste município foi realizada licitação para escolha da empresa responsável pela implantação da informática educacional. A Futura Educacional, através do Planeta Educação, possui um projeto pedagógico, multidisciplinar e uma estrutura muito bem planejada capaz de trazer bons resultados a médio e longo prazo. Os resultados de uma pesquisa de satisfação feita pela parceria demonstraram que o projeto está no caminho certo e embora ainda seja uma novidade no meio educativo, comunidade, alunos e professores observam a relevância da informática dentro do ambiente educacional. Palavras-Chave: educação, informática, avaliação, ensino básico, escolas municipais.

Educational Informatics: an analysis of diffusion and teaching in public schools of basic education I in Guaratinguetá - SP

Abstract. A question often discussed in educational policy is the initial and continuing training of teachers constituting one of the pillars of the Education Development Plan (PDE). Then came the first projects especially the EDUCOM, public project to address the educational computing. The survey had the aim of checking the spread and teaching in municipal schools of Guaratinguetá. It was found that this council was held bidding for selection of the company responsible for the implementation of computer education. The Futura Educacional, across the Planeta Educação, has a teaching project, multidisciplinary and a very well planned can bring good results in the medium and long term. The results of a satisfaction survey done by the partnership showed that the project is on track and although it is still a novelty in the educational environment, community, students and teachers note the importance of information technology within the educational environment.

Keywords: education, information, assessment, basic education, public schools.

1

Introdução

Desde os primórdios da Humanidade buscamos entender e aprender com todas as situações geradoras de dados que organizadas constituem informações e estas indubitavelmente transformar-se-ão em conhecimento. Este processo é um caminho construído pela interação e mediação educacional. A postulação de Lev Vygotsky (VYGOTSKY, 1984 apud NEVES & DAMIANI, 2006) psicólogo russo que viveu entre os anos de 1896 e 1934 produziu trabalhos

III WIA, UniFOA, Volta Redonda - RJ, 2010

8

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 sobre o desenvolvimento psicológico e a aprendizagem. Suas contribuições são um campo aberto para férteis discussões na ciência educacional. Para ele o sujeito é ativo, ele age sobre o meio. Portanto, mais que superar os unilateralismos na análise da relação sujeito-objeto, o importante é buscar compreender as especificidades dessa relação quando sujeito e objeto são históricos e quando a relação entre eles também é histórica.

2 Formação Inicial e Continuada

Uma questão sempre discutida nas políticas educacionais é a formação inicial e continuada dos professores. No Plano de Desenvolvimento da Educação (PDE), a qualificação é um dos

pilares de sustentação, como, por exemplo, a criação do piso salarial nacional para o professor

e o estímulo e ampliação do acesso dos educadores ao nível acadêmico.

Com base nos resultados do Censo Escolar de 2007, o INEP (Instituto Nacional de Pesquisas Educacionais Anísio Teixeira) fez um estudo intitulado “Estudo exploratório sobre

o professor brasileiro”. Este estudo oferece dados sobre o perfil dos profissionais da educação, ampliando o conhecimento sobre a formação do professor, com o fornecimento de dados que melhor caracterizam sua escolaridade (áreas de formação de graduação e pós-graduação, de formação continuada, disciplinas ministradas, dentre outras) constituindo em informações importantes para o planejamento e o monitoramento de ação voltada para a formação inicial e continuada desses profissionais (BRASIL, 2009).

Através da Figura1 pode-se observar que o número de professores da educação básica relacionado ao sexo demonstra uma grande disparidade nos anos iniciais (creche, pré-escola, fundamental anos iniciais) do qual o sexo feminino predomina. O sexo masculino tem um aumento gradativo no percentual de professores destacando-se a partir do item ‘Fundamental Anos Finais’ e só tem um percentual superior ao feminino quando se fala em Educação Profissional. O estudo indica, também, quanto à escolaridade dos professores da educação básica, que 68% (1.288.688) possuem nível superior. E destes 1.160.811 (90%) possuem licenciatura – formação adequada para atuar na educação básica, segundo a LDB (Leis de Diretrizes e Base) em seu artigo 62. As áreas de formação superior com maior número de professores em relação ao total de docentes são: Pedagogia (29,2%), Letras/Literatura/Língua Portuguesa (11,9%), Matemática (7,4 %) e História (6,4%) (BRASIL, 2009).

97,9 100 96,1 91,2 90 80 74,4 70 64,4 60 53,3 46,7 50 40 35,6
97,9
100
96,1
91,2
90
80
74,4
70
64,4
60
53,3
46,7
50
40
35,6
30
25,6
20
8,8
10
3,9
2,1
0
Porcentagem

C reche

P ré-Esco la

F undamental

F

undamental

Ensino M édio

Educação

 

A no s Iniciais

A

no s F inais

P ro fissional

Feminino Masculino

Feminino

Feminino Masculino

Masculino

Figura 1 – Professores das Etapas da Educação Básica segundo o Sexo, 2007 (BRASIL, 2009, p.21)

III WIA, UniFOA, Volta Redonda - RJ, 2010

9

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Na Figura 2 pode-se verificar o perfil encontrado após análise do trabalho de BRASIL

(2009).

encontrado após análise do trabalho de BRASIL (2009). Figura 2 – Perfil do Professor da Educação

Figura 2 – Perfil do Professor da Educação Básica (BRASIL, 2009, p.47)

3 Educação e Informática no Brasil

Segundo Oliveira (2002 p. 23) já em 1965 a Marinha vislumbrava a possibilidade de absorção

de tecnologia que permitisse a construção de um computador nacional para ser utilizado na

própria Marinha. No entanto, apenas em 1971, houve, pela primeira vez, a decisão de construir um modelo de computador para ser utilizado em operações da Marinha no Brasil.

Para proteção do mercado de informática brasileiro o governo criou a reserva de mercado através da CAPRE - Coordenação de Atividades de Processamento Eletrônico, ligada

ao

Ministério do Planejamento. Posteriormente, em 1979, substituída pela Secretaria Especial

de

Informática ligada diretamente ao Conselho de Segurança Nacional. Esta vinculação, como

diz Oliveira (2002 p.24) “aos olhos da burocracia estatal brasileira, investir nesta área era vital

para o desenvolvimento da economia nacional”. A reserva de mercado visava garantir a proteção à indústria de informática brasileira por um período de oito anos, até que elas alcançassem maturidade suficiente para competir internacionalmente. Por volta de 1990 a Secretaria Especial de Informática perdeu o status e passou a fazer parte do MCT – Ministério

da Ciência e Tecnologia iniciando a flexibilização e posterior desmobilização da proteção à

indústria nacional. O fim efetivo da reserva, em outubro de 1992, deixou a indústria nacional

sem uma base de sustentação, no entanto, com o passar dos anos o próprio mercado foi se ajustando a abertura, as transformações e as novas diretrizes do comércio exterior.

Embora a definição de novas regras para o setor tenha ocorrido com a aprovação da Lei 8.248/91 em outubro de 1991, sua vigência efetiva iniciou apenas com a regulamentação em 1993. Esta legislação eliminou as restrições anteriores ao capital estrangeiro definindo uma nova política de estímulo centrada na obrigatoriedade de esforços mínimos em pesquisa e desenvolvimento (GARCIA & ROSELINO, 2004, p.179).

3.1 Breve histórico da Informática Educacional

A junção de informática com a educação é um tema recente na abordagem educativa.

Podemos considerar que somente a partir da década de 80, os profissionais envolvidos com o

III WIA, UniFOA, Volta Redonda - RJ, 2010

10

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 processo de ensino-aprendizagem passaram a estudar quais seriam os benefícios reais se a informatização se tornasse uma realidade no ambiente escolar.

O primeiro evento nacional referente à informática na educação foi realizado entre 25

e 27 de agosto de 1981 em Brasília: Seminário Nacional de Informática Educacional,

realizado pela Secretaria Especial de Informática, MEC (Ministério da Educação e Cultura) e pelo CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico), “[ ] passando a representar o inicio das discussões sobre informática na educação, envolvendo, dessa vez, pessoas ligadas diretamente ao processo educacional” (OLIVEIRA, 2002, p.51).

3.1.1 EDUCOM – Educação com Computadores

O projeto EDUCOM surgiu no período que o país ainda vivia na reserva total de mercado, ou

seja, não era possível adquirir equipamentos e softwares estrangeiros. E como não havia, até então, uma indústria que possibilitasse o desenvolvimento de computadores e muito menos de softwares de acordo com a demanda do país (eram caros e restritos) à informática educacional eram desenvolvidas em escolas particulares e em pouquíssimas universidades.

O projeto EDUCOM é o primeiro e principal projeto público a tratar da informática

educacional, originou-se do 1º Seminário Nacional de Informática na Educação realizado na Universidade de Brasília (1981). O 1° Seminário agregou diversos pesquisadores da área e teve por princípio o investimento em pesquisas educacionais. Este projeto forneceu as bases para a estruturação de outro projeto, mais completo e amplo, o PRONINFE.

Várias foram as metas do projeto EDUCOM, uma delas era desenvolver a pesquisa do uso educacional da informática, ou seja, perceber como o aluno aprende sendo apoiado pelo

recurso da informática e se isso melhora efetivamente sua aprendizagem. Outra meta era levar

os computadores às escolas públicas, para possibilitar as mesmas oportunidades que as escolas particulares ofereciam a seus alunos.

O fato de maior importância neste projeto é que foi adotada uma “metodologia de

planejamento participativo na organização, realização e avaliação das experiências de informática na educação no Brasil”. Este fato fez com que representantes técnico-científicos, professores e equipes técnico-administrativas participassem do processo, dando-lhe uma abordagem interdisciplinar. As contribuições do Projeto EDUCOM foram importantes e decisivas para a criação e o desenvolvimento de uma cultura nacional de uso de computadores na educação, especialmente voltada para realidade da escola pública brasileira.

4 Projeto Municipal de Informática Educacional em Guaratinguetá - SP

Guaratinguetá adotou no inicio do ano 2009 o Ensino Fundamental de 9 anos, tendo como base a deliberação do Conselho Estadual de Educação e entende que o 1º ano é uma oportunidade para alfabetizar os alunos, tanto matemática como lingüisticamente ao ponto que esse possa chegar no 2º ano para desenvolver ainda mais sua capacidade cognitiva.

com a aprovação da lei

11.274/2006 referente à ampliação do Ensino Fundamental para nove anos de duração, esta Secretaria da Educação, considerando a importância da construção de uma escola inclusiva cidadã, solidária e de qualidade social para todas as crianças e adolescentes, assume o compromisso com a implementação de uma política indutora de transformações significativas na estrutura da escola, na reorganização dos tempos e espaços escolares, nas formas de ensinar, aprender, avaliar e principalmente na organização e desenvolvimento de um currículo que respeite as singularidades da criança no seu desenvolvimento (SECRETARIA MUNICIPAL DE EDUCAÇÃO DE GUARATINGUETÁ, 2008).

Curricular de Guaratinguetá [

Segundo

a

Proposta

]

III WIA, UniFOA, Volta Redonda - RJ, 2010

11

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

4.1 Estudo de Caso: FUTURE KIDS

Os dados baseiam-se em conclusões alcançadas mediante visitas realizadas na sede da empresa VITAE FUTURE KIDS, parceira escolhida através de licitação, no município de São José dos Campos e a filial no município de Guaratinguetá nos períodos compreendidos entre Outubro a Dezembro de 2009. A Vitae Futurekids está presente em várias cidades do Brasil, contemplando hoje mais de 2.500.000 alunos e com uma gama de 102.000 professores que são beneficiados pelo seu principal programa Vitae Educacional. Existem também 2.733 laboratórios de informática com 45.875 computadores em 136 municípios.

Dentro do Município de Guaratinguetá da qual é parceira desde o ano de 2006, a empresa trabalha com o programa Planeta Educação que tem por objetivo fornecer suporte

as atividades gerais das escolas, gestores, professores e alunos. São ministrados Ensino de Línguas (Inglês), Matemática (Projeto A+) e Informática. Atua especificamente no Ensino

com propostas de atividades que integram os recursos

tecnológicos com as áreas do conhecimento, oferecendo aos alunos possibilidades de

aprofundarem ou construírem conhecimentos [

Durante o período letivo no Município, o programa realiza cursos para preparação dos mediadores que chamam de "Formação Continuada de Mediadores" com o objetivo de aprimorar seus conceitos pedagógicos, enquanto aos professores fornece oficinas para desenvolver um conhecimento mais sistêmico do quanto às ferramentas tecnológicas podem melhorar a assimilação dos conteúdos.

5 Resultados e Discussão

A Futura Educacional realizou uma pesquisa com a Comunidade, Educadores e Gestores no período de Julho de 2008 em Guaratinguetá, gerando um parecer sobre diversas questões educacionais. Cabe salientar que o profissional da parceria é denominado como Mediador, nome que sugere um facilitador entre o profissional educador e as tecnologias a serem utilizadas.

No setor educacional existe uma preocupação com o profissional de informática, aqui dito Mediador, com relação ao conhecimento das tecnologias, o conteúdo pedagógico e o ensino-aprendizagem. Nesta primeira figura pode-se verificar que para 27,5% dos educadores (Figura 3) o mediador demonstra conhecimentos dos conteúdos desenvolvidos em sala de aula. Se considerarmos apenas o item Concordo Totalmente (72%), este, também, apresenta uma porcentagem bem razoável considerando que este questionamento é um dos mais discutidos entre a comunidade educacional e de informática. O resultado demonstra a preocupação que o mediador não seja um mero educador de informática, mas sim que esteja interligado com o conteúdo pedagógico trabalhado em sala de aula.

fundamental contemplando a escola [

]

]

(VITAE EDUCACIONAL, 2009).

Através da Figura 4 é possível verificar que 63% dos Educadores que freqüentaram o curso onde recebiam treinamento de como atuar no ensino com a ferramenta de informática, concordaram totalmente que o Mediador da Formação possui domínio técnico e pedagógico referentes aos conteúdos propostos. Outros 24,6% apenas concordaram. No entanto 10,2% dos Educadores que participaram da formação responderam que eram Indiferentes e 0,4% discordaram a respeito do conhecimento do Mediador da Formação o que pode ser entendido como um desinteresse frente à aplicação de novas tecnologias na Educação ou a possibilidade de serem já conhecedores de conceitos tecnológicos aplicados a ela.

III WIA, UniFOA, Volta Redonda - RJ, 2010

12

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

72,0

22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 72,0 27,5 0,0 0,4 0,0 Concordo Concordo

27,5

0,0 0,4 0,0
0,0
0,4
0,0

Concordo

Concordo

Indiferente

Discordo

Discordo

Totalmente

Totalmente

Figura 3 – O mediador demonstra conhecimentos dos conteúdos trabalhados e desenvolvidos em sala de aula

Fonte: Adaptado de Futura Educacional, 2008

63,6

de aula Fonte: Adaptado de Futura Educacional, 2008 63,6 24,6 10,2 0 0,4 1,3 Concordo Concordo

24,6

10,2 0 0,4 1,3
10,2
0
0,4
1,3

Concordo

Concordo

Indiferente

Discordo

Discordo

Não

Totalmente

Totalmente

respondeu

Figura 4 – O mediador da Formação de Educadores possui domínio técnico e pedagógico referentes aos conteúdos propostos na formação.

Fonte: Adaptado de Futura Educacional, 2008

Quando o questionamento é feito à comunidade (Figura 5) os resultados também são expressivos, porém já existe uma parcela, mesmo que pequena (2,6%), que acham indiferente o uso da tecnologia na melhoria do entendimento das disciplinas. Assim como outros 1,3% discordam totalmente que o ensino seja melhorado com uso dos computadores. Talvez seja indicação de que o conteúdo utilizado em sala de aula não esteja contemplado de forma satisfatória no laboratório; ou que exista o desconhecimento do uso do computador para fins educacionais; ou que a prática pedagógica não tenha conseguido chegar ao seu objetivo.

III WIA, UniFOA, Volta Redonda - RJ, 2010

13

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 5 – As aulas de

Figura 5 – As aulas de Informática Educacional no laboratório ajudam a entender melhor as matérias dadas em sala de aula

Fonte: Adaptado de Futura Educacional, 2008

Não podemos esquecer que a Informática Educacional veio para ser mais um sustentáculo do ensino-aprendizagem e não a solução para as dificuldades em âmbitos educacionais. E embora ainda seja uma novidade no meio educativo, podemos verificar na Figura 5, que comunidade, alunos e professores observam a relevância da informática dentro do ambiente educacional.

93,4

da informática dentro do ambiente educacional. 93,4 3 , 9 1 , 3 1,3 0,0 0

3,9

1,3

1,3
1,3

0,0

0,0

Concordo

Concordo

Indiferente

Discordo

Discordo

Não

Totalmente

Totalmente

respondeu

Figura 6 – O laboratório de informática oferece oportunidade para novos conhecimentos possibilitando um futuro melhor

Fonte: Adaptado de Futura Educacional, 2008

Apenas 1,3% se manifestaram indiferentes aos conhecimentos que podem ser adquiridos no laboratório de informática, enquanto 93,4% concordam totalmente e 3,9% concordam, como mostra a Figura 6.

III WIA, UniFOA, Volta Redonda - RJ, 2010

14

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Todos os dados comprovam que a sociedade guaratinguetaense está satisfeita, em sua maioria, com o serviço de Informática Educacional que o Planeta Educação fornece aos alunos das escolas municipais do ensino fundamental I na cidade.

6

Conclusão

Seminários, palestras, treinamentos, capacitações e outros tantos eventos são realizados, assim como investimentos maciços, principalmente tecnológicos, na tentativa de absorver a demanda de uma sociedade em constante evolução. Por outro lado, a formação do futuro docente do ensino básico, com relação ao desenvolvimento tecnológico/ensino-aprendizagem, está longe do ideal. Neste contexto não podemos esquecer que existem outras variáveis importantes a considerar como os baixos salários, o excesso de alunos em sala, a desmotivação, entre tantas outras. Considerando todos estes problemas e sua complexidade não é de se esperar que soluções surjam da noite para o dia.

As parcerias com a iniciativa privada são uma tentativa de solução destes problemas e podem ser grandes apoiadoras, mesmo considerando sua vocação neoliberal. No caso específico da Futura Educacional existe todo um projeto pedagógico, multidisciplinar e uma estrutura muito bem planejada capaz de trazer bons resultados a médio e longo prazo.

Na análise da pesquisa realizada pela Futura Educacional houve um retorno satisfatório gerando uma expectativa de melhoria da qualidade no âmbito educacional. E esta expectativa deve ser sanada, como dito anteriormente, a médio e longo prazo, pois os projetos educacionais, de uma forma geral, são de aplicação demorada envolvendo mudança de cultura, de trabalho e de processos. E o poder público, representado pela Secretaria de Educação da Prefeitura de Guaratinguetá, tem a grande responsabilidade de trabalhar conjuntamente com a parceria no desenvolvimento e planejamento do ensino-aprendizagem, como também fiscalizar e auditar sobre o que é realizado. Não podemos esquecer que o investimento em recursos humanos é essencial e primordial não só para o bem estar e ascensão profissional como também para a melhoria da qualidade da educação brasileira.

Compreendemos que a Informática Educacional tem sido uma ferramenta diferenciada na aprendizagem dos alunos no século XXI e adequada aos preceitos da Lei de Diretrizes e Bases da Educação Nacional ao que se refere ao conhecimento de tecnologias. Entendemos também que no meio acadêmico existem várias correntes contrarias a mais uma ferramenta para o ensino-aprendizagem, contudo suas teorias desmerecem a nova geração estudantil que domina as tecnologias mesmo antes de ter acesso a elas.

Enfim, desenvolver projetos de Informática Educacional será a solução para adequar a Escola aos moldes da sociedade globalizada em que vivemos e mais um meio de potencializar o ensino-aprendizagem na Educação.

Referências Bibliográficas

BRASIL (2009). Ministério da Educação. Estudo exploratório sobre o professor brasileiro com base nos resultados do Censo Escolar da Educação Básica 2007. Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira. – Brasília: INEP, 65 p.: il.

FUTURA EDUCACIONAL (2008). Dados estatísticos. Guaratinguetá, SP.

GARCIA, R.; ROSELINO, J. E. (2004). Uma avaliação da Lei de Informática e de seus

resultados como instrumento indutor de desenvolvimento tecnológico e industrial. Gest.

Prod.,

<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-

530X2004000200004&lng=pt&nrm=iso>. Acesso em: 24 de Setembro de 2009.

São

Carlos,

v.

11,

n.

2.

Disponível em:

III WIA, UniFOA, Volta Redonda - RJ, 2010

15

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

NEVES, R. A ; DAMIANI, M. F

Vytgosky e as teorias da aprendizagem. Disponível em:

http://www.unirevista.unisinos.br/_pdf/UNIrev_Neves_e_Damiani.pdf. Acesso em: 04 de

Outubro de 2009.

OLIVEIRA, R. (2002). Informática Educativa: dos planos e discursos à sala de aula. Coleção Magistério: Formação e Trabalho Pedagógico. Campinas, SP: Papirus, 7ª ed.

SECRETARIA MUNICIPAL DE EDUCAÇÃO DE GUARATINGUETÁ. (2008) Proposta Curricular/Ensino Fundamental – Ciclo I.

VITAE

EDUCACIONAL

(2009).

Quem

somos.

Disponível

em:

http://www.vitaeeducacional.com.br/quem_somos.asp. Acesso em: 01 de Maio de 2009.

III WIA, UniFOA, Volta Redonda - RJ, 2010

16

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

MATEMÁTICA VIA TV DIGITAL INTERATIVA

Gabriel Paes Barreto do Nascimento Oliveira 1 , José Henrique Cavalcante 2 , Henrique Simch Morais 3 , Michela dos Santos Gonzaga 4 , Ricardo da Silva Barboza 5 , Anderson Fernandes Esteves 6 1,2,3,4,5,6 Curso Superior de Tecnologia em Desenvolvimento de Software – Centro Universitário do Norte – Laureate International Universities (UNINORTE), Manaus–AM, Brasil 6 Instituto de Tecnologia Galileo da Amazônia (ITEGAM), Manaus–AM, Brasil 1 bieloliveira@msn.com, 2 henry_swz@yahoo.com.br, 3 h_morais_br@yahoo.com.br, 4 mgonzaga80@gmail.com, 5 rsbarboza@gmail.com,

6 anderson.esteves.am@gmail.com

Resumo. A televisão tornou-se uma das principais fontes de informação, cultura e entretenimento. Associada a mais nova mudança, a digitalização do sinal, a transmissão digital não só deverá proporcionar significativa melhora na qualidade da imagem e do som como também possibilitará a transmissão de vários programas em um único canal. Porém a característica mais interessante da TV digital combinada com um canal de retorno é a possibilidade da criação de serviços interativos como vídeo sobre demanda, pay-per-view, home shopping, jogos, chat, EAD (educação a distância). O objetivo desse artigo é mostrar o desenvolvimento de um sistema informatizado de auxílio ao ensino da matemática, utilizando as vantagens que as tecnologias WEB e TV Digital propiciam.

Palavras-Chave: TV-Digital, JAVA-TV, Educação a Distância

Mathematics via Interactive Digital TV

Abstract. The television has become a major source of information, culture and entertainment. Associated with the newest changes, the digitization of the signal, the digital transmission not only should provide significant improvement in picture quality and sound but also the transmission of multiple programs in a single channel. But the most interesting feature of digital TV combined with a return channel is the possibility of creating interactive services as video on demand, pay - per-view, home shopping, games, chat, DE (distance education). The aim of this paper is to show the development of a computerized aid to teaching mathematics, using the advantages that the Web and Digital TV technologies provide.

Palavras-Chave: Digital-TV, JAVA-TV, Distance Education

1

Introdução

A educação representa um dos mais importantes setores responsáveis pelo desenvolvimento de uma nação. É produzindo conhecimento que um país aumenta sua renda e a qualidade de vida de seu povo. Apesar, nas últimas décadas, do Brasil ter avançado neste campo, ainda há muito para ser feito.

III WIA, UniFOA, Volta Redonda - RJ, 2010

17

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

O desenvolvimento de um país desacelera com uma educação precária, todas as pessoas necessitam e devem ter acesso à educação. A educação à distância (EAD) mostrou que é possível levar educação de qualidade aos lares dos brasileiros, através de um meio de comunicação muito comum, a televisão. Como uma das principais características do meio tecnológico é não parar de evoluir, diariamente surgem novas tecnologias, ou tecnologias existentes são aperfeiçoadas, a fim de atender uma sociedade que exige quantidade e qualidade. Dentre as muitas inovações tecnológicas podemos citar a televisão digital.

A televisão digital é uma nova mídia que estabelece uma nova relação de comunicação com o telespectador, gerando mudanças significativas em seus hábitos. Surgiu com o intuito de unir um meio de comunicação de massa, presente em milhares de lares brasileiros, com a interatividade e facilidade que a internet pode oferecer, onde o telespectador deixa de somente assistir à TV e passa a utilizar a TV digital para diferentes serviços e funcionalidades.

2 A problemática

Problemas enfrentados pelos pais na educação dos filhos, como fazer com que eles se interessem pelos conteúdos ministrados em sala de aula, e realmente se dediquem ao estudo, justificam por si só o desenvolvimento deste projeto. Hoje além do dinheiro gasto com escolas particulares para a melhor formação dos filhos, os pais ainda devem arcar com as despesas extras como material didático, curso pré - vestibular e outras formas para reforçar o estudo [OLI09].

Apesar de todos esses gastos, os pais muitas vezes não têm como controlar a freqüência e aproveitamento dos filhos nos estudos. Outro problema enfrentado é a dificuldade de locomoção dos alunos até o local de estudo, devido a fatores como trânsito, distância, clima, que contribuem para o baixo desempenho e aumento da evasão escolar. Além de excelentes programas educacionais, computadores nas escolas, televisão convencional acessível via TV Escola, acredita-se que o contexto atual de explosão de conhecimentos requer uma estratégia precisa de uso e divulgação dos meios de comunicação já existentes em conjunto com os que estão surgindo.

Há uma carência grande no mercado brasileiro e não há uma solução única, por um único meio digital disponível. As necessidades brasileiras devem ser tratadas no âmbito local. Existem poucos projetos de TV digital voltada à educação no mundo. Esse fato se dá porque o sistema educacional e o acesso a informação nos países desenvolvidos é um fato e não um problema a ser resolvido.

3 Ferramentas

As ferramentas de suporte ao desenvolvimento que optamos em utilizar foram as de maior difusão no meio acadêmico e as gratuitas.

Os requisitos foram levantados através de entrevistas e pesquisas, para tanto, vale observar que nesta validação foram feitos protótipos dos dados através dos conceitos da UML (linguagem de modelagem unificada) a fim de elevar o nível de abstração e de facilitar o entendimento [OLI09].

III WIA, UniFOA, Volta Redonda - RJ, 2010

18

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Para modelagem dos dados foi utilizada a ferramenta case Jude Community 3.0 que suporta os conceitos da UML.

Quanto à ferramenta de desenvolvimento optamos por utilizar a linguagem Java Web e Java TV. Java Web será para desenvolver a página Web juntamente com a tecnologia Servlet, JSP e JSTL que são à base de aplicativo Web e o framework Struts para controlar o fluxo navegacional da página e o servidor de Web Apache Tomcat. O JDBC foi usado para ter acesso ao banco de dados [OLI09].

Java TV, utilizado para desenvolver sistema para TV Digital, é uma plataforma Java especifica para produção de conteúdo da TV interativa, pois é uma plataforma de desenvolvimento de aplicações para TV digital flexível e em constante atualização. Essa plataforma pode ser utilizada nos três grandes padrões existentes, com pequenas modificações no código escrito. Para criação de gráficos, usaremos o software GIMP, e para edição de áudio, Audacity, ambos gratuitos. Para emular o set-up-box, será utilizado o XleTView.

A interface, que será desenvolvida neste projeto apresentará na tela de uma TV com o sistema digital, um aplicativo que gerenciará as opções de interatividade disponíveis ao telespectador, utilizando o middleware Ginga-NCL, brasileiro e gratuito.

Quanto à modelagem de dados em nível conceitual foi utilizado para modelagem do modelo ER - Entidade Relacionamento para criação das tabelas no banco de dados foi a ferramenta brModelo, que tem como motivação recursos que dão ao usuário um alto nível de abstração na criação das tabelas que comporão o banco de dados.

Na camada de persistência dos dados será utilizado como SGBD (sistema de gerenciamento de banco de dados) o MySQL 5.0 por se tratar de um dos SGBD`s explorados em sala de aula como recurso didático nas aulas práticas de programação em banco de dados, o que nos facilitou pela interatividade e conhecimento da sintaxe já adquiridos com a ferramenta.

Atualmente, o modelo preferido para persistir dados em aplicações é o banco de dados relacional. DAO (Data Access Object) é um padrão para persistência de dados que permite separar regras de negócio das regras de acesso a banco de dados. Numa aplicação que utilize a arquitetura MVC, todas as funcionalidades de bancos de dados, tais como obter as conexões, mapear objetos Java para tipos de dados SQL ou executar comandos SQL, devem ser feitas por classes de DAO.

4

Tecnologias

4.1 Software Embarcado

Nos softwares embarcados são utilizados microprocessadores e sistemas operacionais específicos. Diferente do computador pessoal que possuem finalidade geral, no software embarcado o computador é encapsulado ao sistema que ele controla. Um sistema embarcado realiza um conjunto de tarefas predefinidas, geralmente com requisitos específicos, além de implementar conceitos de programação em tempo real e na maioria dos casos necessita de segurança e confiabilidade bem acima das exigidas pelos sistemas comerciais.

III WIA, UniFOA, Volta Redonda - RJ, 2010

19

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Com o avanço tecnológico, cada vez mais estão utilizando sistema embarcado, sistemas estes que cada sua vez tornam-se sofisticados e complexos. A potencialidade de uso da tecnologia embarcada é apenas limitada pela criatividade e imaginação, a acelerada da evolução dos sistemas abre um novo caminho econômico. Em nossas atividades do dia a dia podemos identificar a presença de software embarcado. Embora a grande maioria passe despercebida por nós, alguns exemplos mais comuns encontrados são nos celulares, em elevadores e nas catracas eletrônicas.

Desenvolver sistema embarcado é um desafio, diferentes dos enfrentados por desenvolvedores com experiência em típicas aplicações comerciais. A indústria de software apresenta um desempenho no desenvolvimento do país, visto que é um dos últimos comércios de alto valor agregado que está em desenvolvimento.

4.2 Java TV

Java TV é uma extensão da plataforma Java especialmente desenhada para produção de conteúdo para a TV interativa. Java TV consiste de uma máquina virtual Java (JVM – Java Virtual Machine) e de várias bibliotecas de códigos reusáveis e específicos para a televisão digital interativa. Com Java TV é possível desenvolver aplicações no set-top- box que sejam associadas a determinados programas de televisão, bem como aplicações isoladas, que podem executar de forma independente, sem estar associada a algum programa de televisão.

No nível mais alto da pilha temos aplicações que fazem uso de Java TV e das bibliotecas da plataforma Java, que geralmente será a J2ME devido ao pouco recurso de memória disponível num set-top-box. Logo abaixo temos o sistema operacional que dá o suporte necessário a implementação da máquina virtual Java (JVM). Na camada de hardware, temos um receptor de televisão digital que suporta broadcast e pipeline de dados. A API Java provê uma abstração em relação à camada de hardware, fazendo com que os desenvolvedores de aplicações não se preocupem com o ambiente desta camada. A figura 1 mostra uma pilha de software para um receptor de televisão digital.

pilha de software para um receptor de televisão digital. Figura 1 – Pilha de software para

Figura 1 – Pilha de software para receptor de TV Digital

4.3 Set-Top-Box

Existe uma grande variedade de set-top-box, cada qual com seu conjunto de funcionalidades. Esses equipamentos podem ser divididos primeiramente em três categorias de acordo com o tipo de conexão com o meio de difusão televisivo:

III WIA, UniFOA, Volta Redonda - RJ, 2010

20

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Enhanced Broadcast Receivers: Além da tradicional exibição de um

canal televisivo, são capazes de lidar com gráficos, imagens e textos transmitidos junto com a difusão do sinal, os quais podem ser controlados por aplicações também transmitidas com o sinal. Não possui um canal de retorno, assim suporta apenas a interatividade local;

Interactive Broadcast Receivers: Além das capacidades do Enhanced Broadcast Receiver, possui um canal de retorno com o servidor, possibilitando assim serviços interativos;

Multi-Network Receveirs: Além das capacidades do Interactive

Broadcast Receiver, possui acesso a mais de uma rede de difusão e um canal de retorno. Assim, possibilita a utilização de outros serviços de comunicação, como por exemplo, telefonia local e Internet.

As principais funcionalidades de um set-top-box são:

Sintonização,

sinal recebido;

Verificação dos direitos de acesso e níveis de segurança;

Saída de vídeo com qualidade de cinema ao televisor;

Saída de som com qualidade Estéreo, Surround ou Dolby Digital;

Processar e verificar os serviços de Televisão Interativa.

demodularização, demultiplexação e decodificação do

Na figura 2 é mostrada uma arquitetura de set-top-box quando implementado em tecnologia JAVA.

de set-top-box quando implementado em tecnologia JAVA . Figura 2 – Arquitetura de um set-top-box genérico

Figura 2 – Arquitetura de um set-top-box genérico utilizando tecnologia Java

III WIA, UniFOA, Volta Redonda - RJ, 2010

21

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

4.4 Xlets

Uma Xlet em um ambiente de televisão interativa equivale a um applet Java em um browser para PC. Assim como o applet, que é carregado pelo browser através da Internet quando o usuário acessa determinado endereço, o Xlet é difundido em uma seqüência de transporte MPEG-2 e carregado pelo set-top-box quando o telespectador seleciona determinado serviço (ou canal).

Assim como uma applet, uma Xlet possui uma interface que permite que uma fonte externa, no caso o gerenciador de aplicação do set-top-box, inicie-a, pare-a, ou a controle de várias outras formas. A maior diferença entre uma applet e uma Xlet é que a segunda pode também ser paralisada e depois ter sua execução continuada. Essa diferença em relação a uma applet se deve ao fato de que, em um ambiente de televisão interativa, várias Xlets podem estar sendo executado simultaneamente, e diferentemente de um PC, um set-top-box possuí recursos de hardware muito mais escassos. Como em uma televisão digital, provavelmente apenas uma Xlet estará visível em determinado instante, dessa forma, paralisando uma Xlet que se torna invisível, poupa-se valiosos recursos de hardware, tornando possível a execução e exibição de outras aplicações. Posteriormente, a Xlet paralisada pode retornar a execução. A Figura 3 mostra o estado de uma Xlet.

a execução. A Figura 3 mostra o estado de uma Xlet . Figura 3 – Os

Figura 3 – Os Estados possíveis de uma Xlet

Quando o telespectador escolhe iniciar determinado serviço que contém a Xlet, ou quando outra aplicação determina que a mesma deva ser iniciada automaticamente, o gerenciador de aplicação invoca o método de inicialização da Xlet, passando, para a mesma, um objeto contendo o contexto no qual ela se encontra. A Xlet usa esse objeto para sua inicialização e para pré-carregar todos os recursos (como imagens, por exemplo) da seqüência de transporte da qual fará uso. Após isso, a Xlet entra no estado ‘paralisada’, no qual está pronta para ser iniciada imediatamente.

Quando a Xlet retornar do método de inicialização, o gerenciador de aplicação chama outro método para iniciar a mesma. A Xlet passa então ao estado ‘iniciada’, no qual estará apta para interagir com o telespectador. Nesse ponto, o gerenciador de aplicação pode determinar que a Xlet deva ser paralisada, retornando ao estado anterior. Em qualquer ponto pode voltar a ser executada novamente retornando ao estado ‘iniciada’. Em qualquer um dos estados que a Xlet se encontra, o gerenciador pode também escolher destruí-la, liberando assim todos os recursos que a mesma ocupa. Uma vez destruída, a mesma instancia da Xlet não pode voltar a nenhum dos estados já citados.

III WIA, UniFOA, Volta Redonda - RJ, 2010

22

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Emulador que pode ser usado para executar Xlets em um PC é o XleTView [XleT10]. Possui o código aberto sob a licença GPL, e além de uma implementação de referência da API JavaTV, traz consigo implementações de outras APIs especificadas no padrão MHP, como a Havi (Home Audio- Vídeo interoperability) [HAV10], DAVIC (Digital Audio-Video Council) e implementações especificadas pela própria DVB (Digital Vídeo), além das bibliotecas do PersonalJava que o mesmo padrão faz uso.

Como é programado totalmente em Java, pode ser executado tanto em uma plataforma Linux ou Windows, bastando para isso utilizar o Java 2 Standard Development Kit para compilar Xlets e executar o XleTView. Esse emulador utiliza o JMF 2.1.1, porém com várias deficiências, como a incapacidade de exibir vídeo MPEG relacionado ou controlado por uma Xlet. Uma das grandes vantagens do XleTView sobre a solução da Sun é que a mesma busca suprir todo o conjunto de APIs especificadas pelo padrão MHP, enquanto a implementação de referência fornecida pela Sun é puramente uma implementação da API JavaTV. Assim, o XleTView aumenta o leque de possibilidades ao desenvolvedor de Xlets. Isso faz desse emulador um dos mais citados e recomendados em diversos fóruns na Internet.

5 Projeto de Interface

Serão mostradas algumas interfaces do sistema desenvolvido em [OLI09]. A Figura 4 mostra o menu Principal do módulo embarcado. A Figura 5 mostra a interface de Enquetes no módulo embarcado. A Figura 6 mostra a interface de Enquetes no módulo embarcado.

6 mostra a interface de Enquetes no módulo embarcado. Figura 4 – Menu Principal – Módulo

Figura 4 – Menu Principal – Módulo Embarcado

III WIA, UniFOA, Volta Redonda - RJ, 2010

23

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 5 – Interface Enquete –

Figura 5 – Interface Enquete – Questões e Alternativas

Figura 5 – Interface Enquete – Questões e Alternativas Figura 6 – Interface Enquete – Resultados

Figura 6 – Interface Enquete – Resultados

III WIA, UniFOA, Volta Redonda - RJ, 2010

24

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

6

Conclusões

Foi apresentada neste trabalho uma ferramenta de apoio a EAD via televisão digital interativa e algumas considerações sobre sua aplicabilidade educacional. Foram discutidas possibilidades para exibição de material de apoio ao aluno e exibição de exercícios visando auto-avaliação por meio desses aplicativos. É importante observar que este tipo de aplicativo não é auto-suficiente, ou seja, deve ser incorporado a outros recursos de aprendizagem. A simples exposição dos alunos às informações desconexas, não gera aprendizagem e muito menos educação, pois a educação é um complexo

processo que supõe intencionalidade [SIL05].

Assim, torna-se importante o uso efetivo da TV digital pelos próprios sujeitos envolvidos no processo de ensino-aprendizagem: o professor e o aluno. Segundo [AMA03] “a educação para o uso da TV Digital Interativa encontra sua máxima expressão quando professores e alunos têm a oportunidade de criar e desenvolver através dos meios suas próprias mensagens. A expressão através da TV interativa, como estratégia motivadora e desmistificadora, requer, portanto, não apenas decifrar a linguagem da comunicação, mas sim servir-se dela”.

É importante lembrar que a introdução da TV digital interativa transfere o olhar do telespectador, que deixará de ser um receptor passivo e terá a possibilidade de interagir com os programas que está assistindo. Por este motivo é que a TV digital é vista como um novo meio didático e a possibilidade de uso educacional desta nova tecnologia cria a necessidade de formar professores que sejam capazes de compreender os processos e criar novas metodologias. Além disso, para um trabalho efetivo no uso da TVDi no espaço educativo é preciso antes de tudo conhecer, criar propostas e explorar da melhor forma as oportunidades de ampliar o acesso e a socialização dos conhecimentos.

Referências

[AMA03] AMARAL, S. F. A TV Digital Interativa no Espaço Educacional. Jornal da

Unicamp,

http://www.unicamp.br/unicamp/unicamp_hoje/ju/setembro2003/ju229pg2b.html.

Consultado na Internet em maio de 2009.

set.

de

2003.

Disponível

em:

[OLI09] OLIVEIRA, G. P. B, CAVALCANTE, J. H. S, MORAIS, H. S., GONZAGA, M. S. Sistema de Ensino da Matemática via TV Digital Interativa. Trabalho de Conclusão de Curso. Centro Universitário do Norte (LAUREATE), Manaus: 2009.

[HAV10]

http://www.havi.com.

Home

Áudio-Video

Council.

Disponível

em:

Consultado na Internet em 15 de janeiro de 2010.

[SIL05] SILVA, M. R. C., VIEIRA, M. C. A., MARCONATTO, S. C. Uma análise sobre a produção de conteúdo e a interatividade na TV digital interativa. Anais do IV Seminário de Gestão do Conhecimento e Tecnologia da Informação e I Encontro do Conhecimento em Educação e Tecnologia da Informação UNICAMP-SP: 2005.

[XleT10]

15 de fevereiro de 2010.

XleTView.

Consultado

na

Internet

em

http://sourceforge.net/projects/xletview/

III WIA, UniFOA, Volta Redonda - RJ, 2010

25

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

PROBLEMA DE ALOCAÇÃO DE HORÁRIOS: UM ESTUDO DE CASO UTILIZANDO O SOFTWARE LIVRE FET

Bruno Marcelo Pena Barata¹, Raphael Carlos de Medeiros¹, Carlos Eduardo Costa Vieira 2 , Júlio César da Silva 3 ¹Ciência da Computação, Centro Universitário Serra dos Órgãos (UNIFESO), Teresópolis-RJ, Brasil ²Sistemas de Informação, Centro Universitário de Volta Redonda (UniFOA), Volta Redonda-RJ, Brasil 3 Ciência da Computação, Centro Universitário Serra dos Órgãos (UNIFESO), Teresópolis-RJ, Brasil e Mestrado Profissional em Educação Matemática, Universidade Severino Sombra (USS), Vassouras-RJ, Brasil brbarata@gmail.com, raphaelcmedeiros@hotmail.com, cadu.vieira@gmail.com, jcesarop@gmail.com

Resumo. Um dos grandes problemas das Instituições de Ensino Superior brasileiras, ao iniciar o seu período letivo, é a programação dos horários das aulas. Este problema, abordado por diversos pesquisadores, se torna de difícil resolução devido ao grande número de possibilidades a serem analisadas e a necessidade de verificação de uma série de requisitos, muitos dos quais conflitantes entre si, tornando o espaço de busca vasto e altamente restrito. O problema de alocação de horário sem conflitos de disponibilidades de tais docentes envolvidos é uma tarefa difícil que demanda tempo e nem sempre se consegue resolver. O objetivo deste artigo é automatizar a geração das grades horárias para o corpo docente do curso de Ciência da Computação do Centro Universitário Serra dos Órgãos (UNIFESO), utilizando o software livre Free Timetabling Program (FET), tornando o processo mais rápido, seguro e eficaz.

Palavras-chave: Alocação, Horários, Metaheurísticas e FET.

Timetabling Allocation Problem: a Case Study Using FET Free Software

Abstract. The planning of class timetabling is a problem of Brazilian higher education institutions to start your school year. This problem, discussed by several researchers, it becomes difficult to resolve because of the large number of possibilities to be analyzed and the need to check a series of requirements, many of which conflict with each other, making the search space vast and highly restricted. It is a difficult task that takes time and does not always solve the problem without conflict availability of teachers involved. The object of this paper is to automate the generation of operating hours for the Computer Science course of University Center Serra dos Órgãos (UNIFESO), using some heuristics that solve this problem and the timetabling software Free Timetabling Program (FET), making the process fast, safe and effective.

Keywords: Allocation, Timetabling, Metaheuristics and FET.

III WIA, UniFOA, Volta Redonda - RJ, 2010

26

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

1

Introdução

O

problema da construção de grades horárias em qualquer instituição de ensino se repete

a

cada semestre, ocasionado principalmente pela indisponibilidade de horário dos

professores e também pelas aposentadorias, contratação de novos professores e aditivos de contratos.

A situação do Curso de Ciência da Computação do UNIFESO não é muito

diferente deste cenário, pois a maior parte dos professores vem de outras cidades e não há um software que execute a montagem das grades horárias. O curso não possui um sistema informatizado para resolver alocação de professor, gerando seu quadro de horários com facilidade e agilidade de acordo com a disponibilidade diária e horária dos mesmos e, principalmente, atendendo às várias restrições. Tais restrições são tantas, que o resultado acaba implicando em dificuldades no cotidiano da instituição durante todo o período, pois as soluções encontradas podem não atender às expectativas, sendo realizadas de forma manual.

O propósito do artigo é encontrar uma solução para o problema de geração da

grade horária do Curso de Ciência da Computação do UNIFESO, tendo em vista a situação em que o sistema atual se encontra. O resultado final é a relação dos professores com suas respectivas matérias e períodos, de modo que não haja conflitos entre as partes envolvidas (matérias, disponibilidade de tempo, professores) [Souza, Maculan and Ochi 2000], [Souza, Maculan and Ochi 2001], obedecendo a restrições que

garantirão um melhor arranjo das aulas, gerando assim um quadro de horários viável para o professor, alocando o máximo de matérias possíveis.

Para buscar este objetivo e automatizar a geração das grades horárias foi utilizado o software livre Free Timetabling Program (FET), que atendeu prontamente a todas as iterações do processo, desde a fase de cadastro, até a geração definitiva das grades do corpo docente do Curso.

Este artigo está dividido como se segue: a Seção 2 descreverá o problema de alocação de horários de uma forma geral e o problema específico do curso de Ciência da Computação do UNIFESO; a Seção 3 abordará algumas técnicas utilizadas para resolver problemas de otimização combinatória dentre os quais se enquadra o problema de alocação de horários; a Seção 4 apresentará o software FET utilizado para gerar as grades horárias; por último, a Seção 5 apresentará as considerações finais e propostas de trabalhos futuros.

2

Problema de Alocação de Horários

O

problema de construção de grades horárias relaciona professores, alunos, matérias e

horários semanais para a realização das aulas e podem ser de vários tipos, como horários

de exames escolares, programação de horários de cursos, dentre outros. Devido tanta diversidade, o problema da alocação de horários em instituições de ensino superior é um dos mais complexos, levando-se em consideração o número de variáveis e soluções possíveis.

A relação deste conjunto é exemplificada por x = d*h, onde x são os horários

semanais, d o número de dias da semana e h o número de horas de aula por dia [Souza

III WIA, UniFOA, Volta Redonda - RJ, 2010

27

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

2000]. De acordo com Even, Etail e Shamir (1976), é um problema classificado como NP-difícil, de extrema dificuldade de solução, pois a possibilidade de existirem

algoritmos exatos que os resolvam em tempo de execução polinomial é muito pequena.

O passo inicial a ser tomado é consultar a disponibilidade horária de professores e

depois alocá-los nas turmas disponíveis, evitando ao máximo que as turmas fiquem desmoduladas, com tempos vagos e com muitas aulas diferentes no mesmo dia, precavendo também que os professores ministrem poucas aulas no dia.

No Curso de Ciência da Computação do UNIFESO, existem algumas restrições específicas que devem ser consideradas para a confecção da grade horária, tais como:

Não permitir a alocação de mais de um professor em uma mesma turma no mesmo horário;

Um professor não pode ser alocado a um horário no qual não esteja disponível;

Evitar quebras de aulas, isto é, aulas não consecutivas de uma matéria para uma turma em um mesmo dia;

Respeitar o limite diário de aulas de uma mesma matéria para uma mesma turma;

Eliminar, sempre que possível, os “buracos” nos horários dos professores;

Atender ao maior número possível de aulas geminadas, ou seja, aulas realizadas em até dois horários consecutivos em um mesmo dia, ou até quatro na mesma semana;

Minimizar a quantidade de dias que cada professor necessita ir à faculdade.

3 Técnicas Utilizadas para Resolver o Problema de Alocação de Horários

A tarefa de conciliar todas as restrições citadas na Seção 2 não é nada simples. Alguns

pesquisadores obtêm sucesso graças a técnicas de busca por soluções, cujo intuito é sempre obter soluções satisfatórias num tempo razoável.

Independente da técnica utilizada é importante obedecer a algumas regras básicas, para que no momento da geração das grades horárias, não apareçam surpresas desagradáveis, como geralmente ocorre ao utilizar o processo manual, onde muitas vezes é preciso desfazer todo o processo. Dentre as técnicas mais usuais, existem as técnicas de Algoritmos Exatos (AE) e os Algoritmos heurísticos e metaheurísticos.

3.1 Algoritmos Exatos ou de Programação Inteira

Algoritmos Exatos (AE) são modelos computacionais cuja característica é seu tempo de execução/resposta, que geralmente não é satisfatório, mas em contrapartida, existe a garantia de encontrar uma solução ótima para o problema.

Quando se utiliza AEs para resolver problemas de alocação de horários, devem-

se criar regras e restrições com bastante cautela, pois quaisquer mudanças nas regras são perigosas, ocasionando consequências em cascata. Por exemplo, ao final do processo de geração de grades, descobre-se alguma inconsistência nas regras, o que ocasiona na revisão de todo o processo, demandando muito tempo. Podem-se citar como exemplos

III WIA, UniFOA, Volta Redonda - RJ, 2010

28

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

de AE algoritmos do tipo Branch-and-Bound, Branch-and-Cut, Branch-and-Price etc.

[Goldbarg e Luna 2005].

3.2 Algoritmos Heurísticos e Metaheurísticos

As técnicas heurísticas e metaheurísticas não garantem encontrar a solução ótima, porém apresentam tempos computacionais razoáveis. Dentre as metaheurísticas mais usuais existem o GRASP, Busca Tabu e Algoritmos Genéticos.

3.2.1 Greedy Randomized Adaptive Search Procedures (GRASP)

O método GRASP, Procedimento de Busca Adaptativa Gulosa e Randomizada, é um

processo iterativo, no qual cada iteração consiste de duas fases: fase de construção e fase

de busca local [Resende e Ribeiro 2010]. Na fase de construção, ele executa a chamada

busca gulosa, onde soluções são construídas elemento a elemento, seguindo algum critério heurístico de otimização, até que se tenha uma solução viável.

Uma solução viável é gerada iterativamente, elemento a elemento, até que a

solução esteja completa, gerando uma lista. Esta lista é ordenada por uma função gulosa que mede o benefício que o mais recente elemento escolhido concede à parte da solução

já construída.

Já a fase de busca local consiste na busca de um ótimo local na vizinhança da solução construída. A melhor solução encontrada ao longo das iterações GRASP é retornada como resultado [Ferreira e Glazar 2005]. Portanto, este procedimento permite que diferentes soluções de boa qualidade sejam geradas.

3.2.2 Busca Tabu

A Busca Tabu é um procedimento heurístico proposto por Glover, para resolver

problemas de otimização combinatória. Sua finalidade é evitar que a busca por soluções

ótimas termine ao encontrar um mínimo local [Glover e Laguna 1997].

A partir da solução inicial gerada pelo procedimento construtivo, a metaheurística Busca Tabu faz uma busca agressiva no espaço de soluções, procurando por soluções melhores que a corrente e utilizando uma estrutura de memória que armazena os últimos movimentos realizados. A essa estrutura é dado o nome de lista tabu, porque os movimentos que se encontram nessa lista são proibidos por certo número de iterações. A lista tabu será útil quando, em algum momento, não for possível melhorar a solução corrente, o que caracteriza um ótimo local.

Nesse momento, o algoritmo terá que escolher a melhor solução, o que poderia

ocasionar um retorno à solução anteriormente visitada, gerando, assim, um ciclo. Como

os últimos movimentos são proibidos pela lista tabu, o algoritmo deve prosseguir por

outro caminho que ainda não foi visitado, aumentando o seu universo de busca [Ferreira e Glazar 2005] e [Oliveira 2003].

3.2.3 Algoritmos Genéticos

Algoritmos Genéticos (AGs) são métodos computacionais de busca baseados nos mecanismos de evolução natural e na genética. Em AGs, uma população de possíveis

III WIA, UniFOA, Volta Redonda - RJ, 2010

29

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

soluções para o problema em questão evolui de acordo com operadores probabilísticos concebidos a partir de metáforas biológicas, de modo que há uma tendência de que, na média, os indivíduos representem soluções cada vez melhores à medida que o processo evolutivo continua [Linden 2008].

Os Algoritmos Genéticos têm as seguintes características:

Operam numa população (conjunto) de pontos, e não a partir de um ponto isolado;

Operam num espaço de soluções codificadas, e não no espaço de busca diretamente;

Necessitam somente de informação sobre o valor de uma função objetivo para cada membro da população, e não requerem derivadas ou qualquer outro tipo de conhecimento;

Utilizam transições probabilísticas e não regras determinísticas.

AGs são algoritmos iterativos e a cada iteração a população é modificada. Cada iteração de um AG é denominada uma geração, embora nem todos os indivíduos de uma população sejam necessariamente “filhos” de indivíduos da população na iteração anterior.

Na maioria das aplicações, a população inicial de N indivíduos é gerada aleatoriamente ou através de algum processo heurístico. Como no caso biológico, não há evolução sem variedade. Ou seja, a teoria da seleção natural ou “lei do mais forte” necessita de que os indivíduos tenham diferentes graus de adaptação ao ambiente em que vivem. Assim, é importante que a população inicial cubra a maior área possível do espaço de busca. O fluxo básico de um algoritmo genético possui três operadores:

Seleção, Cruzamento e Mutação [Linden 2008].

Seleção: O mecanismo de seleção em AGs emula os processos de reprodução assexuada e seleção natural. Geram-se uma população temporária de N indivíduos extraídos com probabilidade proporcional à adequabilidade relativa de cada indivíduo na população. Neste processo, indivíduos com baixa adequabilidade terão alta probabilidade de desaparecerem da população, ou seja, serem extintos, ao passo que indivíduos adequados terão grandes chances de sobreviverem;

Cruzamento: O processo de cruzamento é um processo sexuado - ou seja, envolve mais de um indivíduo - que emula o fenômeno de “crossover”, a troca de fragmentos entre pares de cromossomos. Na forma mais simples, trata-se um processo aleatório que ocorre com probabilidade fixa que deve ser especificada pelo usuário;

Mutação: Este processo é uma forma de busca aleatória no cromossomo, onde é capturada uma posição qualquer do mesmo e trocada por um possível valor para esse gene. Logicamente, quando são tratados cromossomos com valores binários, se a posição capturada tiver o valor “1”, muda pra “0”, e vice-versa. Como na natureza, ocorre com baixa probabilidade. Este operador é de extrema relevância, pois previne que todas as soluções do

III WIA, UniFOA, Volta Redonda - RJ, 2010

30

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

problema sejam combinações das soluções encontradas a partir da população inicial, aumentando ainda mais a diversidade de soluções.

O Algoritmo Genético precisa de uma condição de finalização de seu processo,

(condição de parada), ou seja, uma condição, um valor, ou uma variável que faça com

que as iterações cheguem ao fim, podendo ser o tempo, estagnação da população, o número de gerações, entre outras.

4 Free Timetabling Program (FET)

É importante destacar que a elaboração da grade horária de todos os oito períodos do curso de Ciência da Computação do UNIFESO é realizada de forma manual, utilizado o software MS Word, demandando dias ou até mesmo semanas para a sua elaboração, principalmente quando imprevistos aconteciam (contratação, desligamento ou não disponibilidade de professores, entre outros).

Pensando nestas dificuldades e mediante muitos estudos e testes, foi escolhido o

software livre Free Evolutionary Timetabling (FET) para realizar a geração das grades horários do corpo docente do Curso de Ciência da Computação. O FET é um programa que foi desenvolvido por Liviu Lalescu, para resolver problemas de compromissos, tarefas, horários em escolas e universidades. O FET é um software bastante completo, traduzido para diversos idiomas, inclusive o português, e possui como método de busca

a metaheurística Algoritmos Genéticos, combinando resultados e executando mutações nos mesmos, a fim de retornar a melhor solução [FET 2010].

A versão utilizada neste artigo é a 5.13.4, de 13 de Junho de 2010, que possibilita inúmeras configurações, desde o cadastro das variáveis (professores, matérias, períodos etc.) até suas manipulações, como horário de início/fim de cada aula, número de aulas que cada professor leciona e inclusive sua disponibilidade na Instituição. É possível ainda, dividir o número de aulas por dia e por semana, manejar matérias pré-requisitos de outras, além de outros tantos recursos adicionais de cadastro, como por exemplo, de salas e laboratórios.

Qualquer matéria que seja alocada num horário em que o professor não esteja disponível ou se for alocado mais de um professor para lecionar a mesma matéria, o software automaticamente acusa o erro, exibindo uma mensagem na tela e pára imediatamente as iterações da geração da grade horária. Assim, o usuário pode corrigir o erro imediatamente, ao contrário da elaboração manual, cuja inconsistência seria “possivelmente” notada no final do processo. Com o FET é possível descrever o número de alunos em cada turma e horário de início e término das aulas. A Figura 1 mostra a tela inicial do FET.

A Figura 2 ilustra a tela de alocação de matérias, onde foi implementado um

atalho, possibilitando encontrar as principais ferramentas do FET. A Figura 3 apresenta uma das mais importantes telas do FET, onde é realizado todo o processo de relacionamento de professores, matérias, períodos e tempos de aula. Uma vez feito todo

o cadastro de matérias, professores, horários e dias da semana corretamente, o sistema se encarrega de gerar as grades horárias automaticamente. O FET possibilita a exportação das grades horárias para relatórios XML (Extensible Markup Language) ou HTML (HyperText Markup Language). A Tabela 1 apresenta um demonstrativo sobre a

III WIA, UniFOA, Volta Redonda - RJ, 2010

31

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

comparação do processo manual, feito hoje em dia, com o processo automatizado, realizado no FET. Pode-se observar através da tabela como os resultados são bem contrastantes.

da tabela como os resultados são bem contrastantes. Figura 1. Tela inicial do FET 5.13.4. Figura

Figura 1. Tela inicial do FET 5.13.4.

bem contrastantes. Figura 1. Tela inicial do FET 5.13.4. Figura 2. Alocação de matérias no FET

Figura 2. Alocação de matérias no FET 5.13.4.

Tabela 1. Comparação entre o processo manual e informatizado.

FET 5.13.4. Tabela 1. Comparação entre o processo manual e informatizado. III WIA, UniFOA, Volta Redonda

III WIA, UniFOA, Volta Redonda - RJ, 2010

32

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 3. Relação de matérias com

Figura 3. Relação de matérias com respectivos professores e horários.

5 Considerações Finais

Apesar de ser um tema bastante complexo, o problema de automatização de grades horárias é bastante viável de ser entendido e implementado, por meio de metaheurísticas, como as que foram apresentadas de modo a gerar boas soluções para o problema de alocação de horários.

Durante todo o período de testes e simulações reais, o software FET realmente impressionou, se mostrando rápido, coeso e eficiente a todo instante, provando que pode ser utilizado na geração das grades horárias do corpo docente do curso de Ciência da Computação. Além disso, é um sistema bastante flexível, que pode ser utilizado em computadores com configurações de hardware e software desde as mais inferiores, até as mais atuais.

A redução do tempo gasto foi a principal vantagem do FET, pois foram necessários somente alguns dias para deixar o banco de dados totalmente acertado, e após a finalização do cadastro, a geração final das grades horárias para o corpo docente foi executada automaticamente pelo software. Por se tratar de um sistema multiplataforma, o FET pode ser executado sem problemas numa máquina Pentium®/AMD® 266Mhz com 256Mb de memória, segundo o autor. Como considerações finais, podem ser apontadas as seguintes vantagens do FET, em relação ao processo executado de forma manual:

Economia de tempo, custo e pessoal, para geração das grades horárias;

Possibilidade de modificar os resultados obtidos em qualquer momento;

O autor do programa se disponibiliza a fornecer informações mais detalhadas e interagir com os usuários de seu programa.

Como propostas de trabalhos futuros sugerem-se a utilização dos demais recursos do software FET, como as restrições de disponibilidade de locais (salas e laboratórios), e também a divulgação do sistema aos alunos, para que também possam gerar suas grades no FET.

III WIA, UniFOA, Volta Redonda - RJ, 2010

33

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Referências Bibliográficas

Even, S., Itai, A. and Shamir, A. (1976). On the complexity of timetabling and multicommodity flow problems. SIAM Journal of Computation, 5(4), 691-703.

Ferreira, J. C. dos S e Glazar, J. E. (2005). Definição de parâmetros na utilização de meta-heurísticas para a programação de horários escolares. Revista Educação e Tecnologia. 1(1), 1-11.

FET.

(2010). “Free Evolutionary Timetabling”, endereço: http://lalescu.ro/liviu/fet/,

Acesso em 03/10/2010.

Glover, F. and Laguna, M. (1997). Tabu Search, Kluwer Academic Publishers.

Godbarg, M. C. e Luna, H. P. L. (2005). Otimização Combinatória e Programação Linear: Modelos e Algoritmos, Elsevier, 2. ed. rev. e atual.

Linden, R. (2008). Algoritmos Genéticos, Brasport, 2. ed.

Oliveira, J. A. Construção de Tabela de Horário Escolar na Web. 2003. 84 f. Dissertação (Mestrado em Informática Aplicada) – Curso de Ciência da Computação, Universidade de Fortaleza, Fortaleza, 2003.

Resende, M. G. C. and Ribeiro, C. C. (2010) “GRASP”, In: Search Methodologies, Edited by E.K. Burke e G. Kendall, Springer, 2 nd edition, 1-25.

Souza, M. J. F. Programação de Horários em Escolas: Uma Aproximação por Metaheurísticas. (2000). 160 f. Tese (Doutorado em Engenharia de Sistemas e Computação) – Programa de Pós-Graduação em Engenharia, Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2000.

Souza, M. J. F., Maculan, N. e Ochi, L. S., (2000). Melhorando Quadros de Horários através de Caminhos Mínimos. Tendências em Matemática Aplicada e Computacional. 1(2), 515-524.

Souza, M. J. F., Maculan, N. e Ochi, L. S., (2001). Uma Heurística para o Problema de Programação de Horários em Escolas. Tendências em Matemática Aplicada e Computacional. (2), 213-222.

III WIA, UniFOA, Volta Redonda - RJ, 2010

34

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

MODELO DE GERENCIAMENTO DE SUPORTE E ENTREGA DE SERVIÇOS DE TECNOLOGIA DA INFORMAÇÃO: ESTUDO DE CASO

Adilson Ricardo da Silva 1 , Rafael Rodrigues Pereira 2 , João Paulo Rocha 3 , Carlos Eduardo Costa Vieira 4 1,2,3,4 Curso Superior de Tecnologia em Redes de Computadores, Centro Universitário Geraldo Di Biasi (UGB), Volta Redonda-RJ, Brasil 1 suporte_adilson@hotmail.com, 2 rafaelrodriguespereira@gmail.com, 3 rochajs1@ig.com.br, 4 cadu.vieira@gmail.com

Resumo: O objetivo do artigo é apresentar um modelo de gerenciamento de infra-estrutura de Tecnologia da Informação (TI) usando o ITIL (Information Technology Infrastructure Library) em conjunto com o OcoMon, software para Gerenciamento de TI. Realizou-se um estudo de caso a fim de analisar os benefícios de se aplicar essas práticas de gerenciamento de suporte de serviços. Palavras-chave: Tecnologia da Informação; Gerenciamento; ITIL; OcoMon.

A Model of Service Suport and Delivery Management on Information Technology Services: Case Study

Abstract. The purpose of this paper is to present a model management infrastructure of Information Technology (IT) using the ITIL (Information Technology Infrastructure Library) in conjunction with the OCOMON, software for IT Management. We conducted a case study to examine the benefits of applying these practices in managing support services. Keywords: Information Technology; Management; ITIL; OcoMon.

1

Introdução

Com o avanço da tecnologia, a área de Tecnologia da Informação (TI) passou a ocupar um lugar estratégico nas organizações. A qualidade dos serviços prestados por esta área afeta diretamente a qualidade e eficiência do trabalho realizado pelas demais. Isto, naturalmente, remete à conclusão de que as organizações estão cientes da necessidade constante de investimentos em TI, e que, com o aumento gradativo da complexidade dos serviços prestados pelas empresas e profissionais do segmento, surge também a necessidade para adoção de boas práticas de gestão [Nakamura e Geus 2007].

O ITIL (Information Technology Infrastructure Library) foi desenvolvido na

Inglaterra pela CCTA (Central Computer and Telecomunications Agency), órgão do governo inglês, no final da década de 80, a partir da necessidade do governo de ter processos organizados nas áreas de TI e Telecomunicações.

O resultado foi a aglutinação dos melhores processos e práticas para ancorar a

gestão de serviços de TI. Foram levadas em conta, nesta empreitada, as experiências acumuladas por organizações públicas e privadas de diversos países.

O objetivo do artigo é explorar as práticas e estratégias de gerenciamento de

III WIA, UniFOA, Volta Redonda - RJ, 2010

35

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

infra-estrutura de TI, norteados pelas práticas do livro de entrega de serviços da ITIL. Deseja-se traçar um paralelo com o panorama atual da empresa analisada, que não utilizava as ferramentas de gestão de TI e descrever uma solução de baixo custo para a otimização de centrais de serviços de TI através do sistema OcoMon, que é um software desenvolvido em plataforma Linux. A ferramenta é de código aberto, o que proporciona

ao

administrador a alternativa de customizar os serviços, gráficos, relatórios e interfaces

do

aplicativo, alinhando a ferramenta ao negócio.

Observando-se as constantes transformações do mercado, a crescente demanda por profissionais com visão de negócio e a importância da organização do ambiente de TI, surge à necessidade de aprofundar os conhecimentos sobre as ferramentas que podem agregar valor aos serviços de TI [Andrade 2008]. Atualmente, é imprescindível adotar melhorias nas áreas que proporcionam maior valor para o negócio. É nesse cenário que o ITIL vem ganhando espaço nas organizações vinculadas ao mercado de TI.

2 A Biblioteca ITIL

A ITIL é o modelo de referência para gerenciamento de processos de TI mais aceito

mundialmente. A biblioteca foi criada pela secretaria de comércio (Office of Government Commerce, OGC) do governo Inglês, a partir de pesquisas realizadas por Consultores, Especialistas e Doutores, para desenvolver as melhores práticas para a gestão da área de TI nas empresas privadas e públicas e atualmente se tornou a norma BS 15000. A Tabela 1 apresenta as ferramentas e os objetivos de gerenciamento utilizados e a Tabela 2 apresenta as ferramentas e os objetivos detalhados de

gerenciamento.

Tabela 1 – Ferramentas e Objetivos globais de Gerenciamento Fonte: [CCTA, 2000]

Ferramenta

Objetivos globais

Problem Management (Gerenciamento de Problemas)

Minimizar o impacto no negócio dos incidentes e problemas causados pelos erros na infraestrutura de TI e prevenir incidentes recorrentes desses mesmos erros.

Change Management (Gerenciamento de Mudanças)

Minimizar o impacto da mudança requerida para resolução do incidente ou problema, mantendo a qualidade dos serviços, bem como melhorar a operacionalização da infraestrutura.

Configuration Management (Gerenciamento de Configuração)

Identificar e controlar os ativos de TI e itens de configuração (CIs ou Configuration Items) existentes na organização, estabelecendo o relacionamento dos mesmos aos serviços prestados.

Release Management (Gerenciamento de Liberações)

Prevenir a indisponibilidade do serviço, garantindo que as instalações de versões de hardware e software estejam seguras, autorizadas e devidamente testadas.

Incident Management (Gerenciamento de geincidentes)

Reduzir o tempo de indisponibilidade (downtime) dos serviços.

III WIA, UniFOA, Volta Redonda - RJ, 2010

36

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Tabela 2 – Ferramentas e Objetivos de Gerenciamento Fonte: [CCTA 2000]
Tabela 2 – Ferramentas e Objetivos de Gerenciamento
Fonte: [CCTA 2000]

III WIA, UniFOA, Volta Redonda - RJ, 2010

37

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Segue abaixo a percepção das organizações sobre a área de TI:

Provisão de serviços inadequada;

Dificuldades de comunicação;

Gastos excessivos com infra-estrutura;

Justificativas insuficientes ou pouco fundamentadas para os custos da provisão dos serviços (dificuldade na comprovação dos seus benefícios para o negócio);

Falta de sintonia entre mudanças na infra-estrutura e os objetivos de negócio;

Entrega de projetos com atrasos e acima do orçamento.

3 O Software OcoMon

A escolha do OcoMon como objeto de estudo na presente pesquisa se dá pela maior vantagem custo x benefício que o software proporciona combinando a redução de custo por se tratar de um software livre, a facilidade de implementação e a possibilidade de customização. O OcoMon tem por objetivo o cadastro, acompanhamento, controle e consulta de ocorrências de incidentes de suporte e surgiu em Março de 2002 como projeto pessoal do programador Franque Custódio, tendo como primeiro usuário o Centro Universitário La Salle (UNILASALLE). Em Maio de 2003, surgiu a primeira versão do módulo de inventário (Invmon), e a partir daí todas as informações de atendimentos começaram a ser vinculadas ao respectivo software, acrescentando grande praticidade e valor ao sistema de atendimento. Com a percepção da necessidade crescente de informações mais relacionadas com a questão de qualidade no suporte, no início de 2004 foram adicionadas características de gerenciamento de SLAs (Service Level Agreement), mudando a maneira como o gerenciamento de chamados vinha acontecendo e obtendo crescente melhoria da qualidade final de acordo com os indicadores fixados para os serviços realizados [Ribeiro 2008].

Atualmente é possível responder através do software questões como:

Tempo médio de resposta e solução para os chamados;

Percentual de chamados atendidos e resolvidos dentro do SLA;

Tempo dos chamados decomposto em cada status de atendimento;

Usuários mais ativos;

Principais problemas;

Reincidência de chamados por equipamento;

Como e onde estão distribuídos os equipamentos;

Vencimento das garantias dos equipamentos e questões pertinentes à gerência pró-ativa do setor de suporte.

As principais funções do módulo de ocorrências são [Ribeiro 2008]:

Abertura de chamados de suporte por área de competência;

Vínculo do chamado com a etiqueta de patrimônio do equipamento;

Busca rápida de informações referentes ao equipamento (configuração, localização, histórico de chamados, garantia) no momento da abertura do chamado;

III WIA, UniFOA, Volta Redonda - RJ, 2010

38

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Envio automático de e-mail para as áreas de competência;

Acompanhamento

do

andamento

do

processo

de

ocorrências;

atendimento

das

Definições de níveis de prioridades para os setores da empresa;

Gerenciamento de tempo de resposta baseado nas definições de prioridades dos setores e categoria de problemas;

Consultas personalizadas;

Relatórios gerenciais;

Controle de SLAs.

As principais funções do módulo de inventário são [Ribeiro 2008]:

Cadastro detalhado das informações de hardware dos equipamentos;

Cadastro de informações contábeis dos equipamentos (valor, centro de custo, localização, reitoria, fornecedor, etc);

Cadastro de modelos de configuração para carga rápida de informações de novos equipamentos;

Cadastro de documentações relacionadas aos equipamentos (manuais, termos de garantia, mídias, etc);

Controle de garantias dos equipamentos;

Histórico de mudanças (de localidades) dos equipamentos;

Controle de licenças de softwares;

Busca rápida das informações de chamados de suporte para o equipamento;

Busca rápida de informações dos equipamentos;

Buscas por histórico de mudanças (localização);

Consultas personalizadas;

Estatísticas técnicas e gerenciais do parque de equipamentos;

Relatórios gerenciais.

3.1 Questões Técnicas

O OcoMon foi concebido sob a visão de software opensource sob o modelo GPL (General Public License) de licenciamento, utilizando tecnologias e ferramentas livres para o seu desenvolvimento e manutenção.

Segue abaixo a lista de requisitos para a instalação do software:

Linguagem: PHP a partir da versão 4.3x até a 5x, HTML (Hypertext Markup Language), CSS (Cascading Style Sheets) e Javascript;

Banco de dados: MySQL a partir da versão 4.1x;

Autenticação de usuários: a autenticação de usuários pode ser feita tanto na própria base do sistema quanto através de uma base LDAP (Lighweigth Directory Access Protocol) em algum ponto da rede de computadores;

Novas funcionalidades têm sido acrescentadas ao sistema ao longo do tempo e o objetivo é torná-lo cada vez mais aderente às boas práticas relacionadas tanto à operacionalização quanto à gestão de áreas de atendimento técnico.

III WIA, UniFOA, Volta Redonda - RJ, 2010

39

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

4

Estudo de Caso: Servatis Agro and Fine Chemicals

4.1

A Infra-Estrutura de TI da Empresa

A

Servatis é uma empresa de aproximadamente 400 colaboradores que provê

industrialização para empresas agro-químicas e de química fina, além de serviços ambientais, tais como: tratamento de efluentes e incineração que completam o seu portfólio de serviços oferecidos aos clientes. Empresa de autogestão que iniciou suas atividades em 19 de abril de 2005, resultado da aquisição do parque industrial da BASF pelos 184 funcionários da unidade, com o financiamento do BNDES (Banco Nacional de Desenvolvimento) e ABN Amro Bank.

Hoje, a infra-estrutura de TI compreende 130 hosts e o departamento de Tecnologia da Informação da empresa consiste, basicamente, em uma equipe de quatro analistas, que desenvolvem atividades relacionadas às seguintes tecnologias:

Telefonia: Fixa, móvel e IP (Internet Protocol);

Infraestrutura de Rede (Projeto e Construção de Cabeamento Estruturado);

Administração

de

Redes

(Gerenciamento

de

Ativos,

Segurança,

Monitoração, etc);

Suporte e desenvolvimento de sistemas;

Administração e suporte de Banco de Dados (SQL 2005).

A principal motivação com o novo modelo gerencial foi aproximar as metas do negócio às ações de TI e alinhar os objetivos do negócio aos objetivos da TI. Um exemplo dessas iniciativas foi a aplicação de conceito de Insourcing (delegação de operações internas) em algumas atividades como a de desenvolvimento de aplicações, que anteriormente era realizada por uma empresa externa. Outra necessidade importante

que motivou a re-estruturação do ambiente de TI foi a falta de controle sobre a demanda

de serviços que existia no departamento, fazendo com que a TI não tivesse uma real

percepção dos serviços que prestava, não existia controle da realização das atividades, existia uma grande insatisfação dos usuários da rede acerca dos serviços prestados, não existia documentação dos processos e o TI não agregava valor algum aos projetos das outras áreas de negócio da empresa.

4.2 As Mudanças Realizadas na Re-Estruturação

As principais mudanças nas atividades do Departamento de TI foram:

Antes do novo modelo gerencial de Tecnologia da Informação, a empresa despendia muitos gastos com consultoria no desenvolvimento de aplicações e administração de redes de computadores. Com o novo modelo, essas atividades passaram a ser responsabilidade do departamento de TI;

Após mapear as competências técnicas e pessoais de cada analista, o departamento passou a designar estrategicamente as atividades com a finalidade de melhor aproveitamento do capital humano.

III WIA, UniFOA, Volta Redonda - RJ, 2010

40

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

4.3 O Gerenciamento de Incidentes através da Utilização do OcoMon na Empresa

No período de re-estruturação, a equipe de TI realizou testes com outros softwares de gerência (como o 0800net), mas optou pela escolha do OcoMon como ferramenta. O fator decisivo foi o baixo custo da implementação, por se tratar de um software livre e opensource (código-aberto). O software utiliza dois módulos o InvMon, que trata especificamente o inventário e controle dos ativos e o OcoMon, que fornece uma solução para registro de ocorrências e software de apoio à Central de Serviços.

O módulo de inventário atende diretamente às necessidades do processo de Gerenciamento de Configuração do livro de Suporte de Serviços do ITIL, pois permite ao Gerente de Infraestrutura armazenar e consultar todas as informações relevantes acerca dos ICs (itens de configuração) da infra-estrutura mostrando o relacionamento e dependência deles, além de criar relatórios estruturados através de consultas personalizadas. O módulo de inventário (InvMon) do OcoMon pode ser considerado o próprio CMDB (Banco de dados de Gerenciamento de Configuração). A Tabela 3 mostra um exemplo de atributos que devem ser registrados nos itens de configuração.

Tabela 3 – Exemplos de itens de configuração do CMDB

Tabela 3 – Exemplos de itens de configuração do CMDB Através do módulo de ocorrências do

Através do módulo de ocorrências do OcoMon pode-se implementar na totalidade o conceito de Central de Serviços descrito no livro de Suporte de Serviços do ITIL, pois a ferramenta permite a criação de um SPOF (Ponto único de contato) entre o TI e a empresa utilizando a interface cliente de abertura de ocorrências. Todos os incidentes da infra-estrutura devem ser registrados no módulo de ocorrência para serem tratados de forma estruturada e centralizada a fim de se evitar re-trabalhos provenientes da comunicação ineficiente.

Pode-se ainda relacionar o gerenciamento de problemas do ITIL com o OcoMon, pois com o histórico de incidentes ele fornece informações sensíveis que auxiliam na atuação pró-ativa do departamento de TI. Essa associação fica clara ao observar o histórico de atendimentos por área e por ativo de TI que o software pode exibir.

III WIA, UniFOA, Volta Redonda - RJ, 2010

41

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

É possível visualizar a abordagem do Gerenciamento de Nível de Serviços de forma mais clara na Figura 1, que mostra o detalhamento das ocorrências, mostrando também o tempo de atendimento e o tempo de resolução do problema.

o tempo de atendimento e o tempo de resolução do problema. Figura 1 – Detalhamento de

Figura 1 – Detalhamento de Ocorrência

A Figura 2 exibe o Total de Chamados de cada Analista por Área que tem o objetivo de demonstrar aos analistas onde existem pontos a serem melhorados, observando o acordo de nível de serviço, a localização do incidente e a área de negócio afetada.

a localização do incidente e a área de negócio afetada. Figura 2 – Total de Chamados

Figura 2 – Total de Chamados Analista X Área

III WIA, UniFOA, Volta Redonda - RJ, 2010

42

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

A implementação do software OcoMon trouxe vários benefícios para empresa, que antes não tinha um controle centralizado de suas ocorrências, o que impactava até mesmo a falta de investimentos na área de TI, devido a falta de indicadores para comprovar questões básicas como a quantidade de atendimentos, o tempo gasto em cada um e a falta de registro dos incidentes mais comuns que precisavam ser corrigidos.

Também trouxe benefícios individuais para os Analistas de TI da empresa, onde agora é possível fazer uma análise individual do desempenho de cada um, levando-se em conta o tempo de atendimento necessário para resolver o problema, o grau de comprometimento de cada um dos envolvidos e ainda ajudou a mostrar de forma mais clara aqueles que se destacam e mostram empenho na solução dos problemas.

Atualmente, devido às práticas adotadas, o departamento de TI goza de grande prestígio para com os demais parceiros da empresa e já é visto como um setor que gera lucros e não apenas gastos, contribuindo para o crescimento e reconhecimento da empresa, além de ter sido fundamental nos prêmios conquistados como a ISO 9002.

5 Considerações Finais

Este artigo apresentou como a biblioteca ITIL e o software OcoMon podem ser muito úteis quando aplicados nas empresas de TI. Através de um estudo de caso, foi apresentado como a área de TI da empresa Servatis pôde melhorar a qualidade de seus atendimentos, ajudando a realizar uma gestão de pessoas por competências na equipe de TI, conseguindo também um maior reconhecimento com as outras áreas de negócio da empresa. Falar sobre ITIL pode ser algo muito extenso e complexo, por isso o objetivo do artigo foi mostrar como dar o primeiro passo para a implementação e a melhoria no Gerenciamento de TI das empresas que ainda não o iniciaram.

Muitas empresas não possuem qualquer Gerenciamento de TI, algumas falham no controle sobre os inventários, sobre as tarefas realizadas e até mesmo nos incidentes ocorridos. Sabe-se que o gerenciamento, de certa forma, é essencial para todas as empresas, sem exceção.

Referências Bibliográficas

Andrade,

V.

(2008)

“Descomplicando

o

ITIL”,

endereço:

http://www.descomplicandooitil.com.br/DESCOMPLICANDO%20O%20ITIL.pdf,

Acesso em 10/04/2010.

CCTA. (2000). Service Support, Stationary Office Books.

Nakamura, E. T. e Geus, P. L. de. (2007). Segurança de Redes em Ambientes Cooperativos, Novatec.

Ribeiro,

endereço:

(2008).

“OcoMon

Sistema

HelpDesk

PHP”,

- http://ocomonphp.sourceforge.net/, Acesso em: 04/05/2010.

F.

em

III WIA, UniFOA, Volta Redonda - RJ, 2010

43

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

APLICAÇÃO DE UM SISTEMA IMUNOLÓGICO ARTIFICIAL EM UM TOWER DEFENSE

Renato de Pontes Pereira¹, Mauricio Duarte² ¹UNIVEM, Centro Universitário Eurípedes de Marília, Computing and Information Systems Research Lab, renato.ppontes@gmail.com ²UNIVEM, Centro Universitário Eurípedes de Marília, Computing and Information Systems Research Lab, maur.duarte@gmail.com

Resumo. Um dos problemas enfrentados na criação da inteligência artificial em um jogo é a resposta mecânica e desequilibrada do computador às ações do jogador. Diversas técnicas podem ser usadas para evitar ou amenizar isso, por exemplo, com técnicas bio-inspiradas como redes neurais artificiais, algoritmos genéticos ou sistemas imunológicos artificiais. Esse artigo apresenta a área de sistemas imunológicos artificiais, demonstrando a aplicação dessa técnica em um jogo de Tower Defense.

Palavras-Chave: Sistemas Imunológicos Artificiais, Inteligência Artificial, Jogos, Tower Defense.

Application of an Artificial Immune System in a Tower Defense

Abstract. One of the problems faced when creating the artificial intelligence in a game is the mechanic and unbalanced answers from the computer to the player’s actions. Several techniques can be applied to avoid or mitigate it, e.g., with bio-inspired techniques, such as artificial neural networks, genetic algorithms or artificial immune systems. This paper aims to introduce the field of artificial immune systems, evidencing the application of such technique in Tower Defense games.

Keywords: Artificial Immune Systems, Artificial Intelligence, Games, Tower Defense.

1

Introdução

Os jogos vêm tentando aumentar a imersão dos jogadores de várias formas seja por gráficos realistas, histórias bem planejadas ou uma boa ambientação. Nesse contexto, outro aspecto a se considerar é o desenvolvimento da inteligência artificial (IA).

A IA está presente nos jogos desde o nascimento dos videogames em 1970, sendo aplicada em diversos estilos e ambientes, desde os mais simples jogos como o jogo da velha até jogos de representação complexa, como os de simulação de voo ou de tiro em primeira pessoa que usam táticas de combate real [Rabin 2002] [Charles 2007].

Em muitos casos, a complexidade dos ambientes torna o uso de algumas técnicas clássicas de inteligência artificial impraticável, em outros o desequilíbrio entre as ações do computador e a habilidade do jogador é muito grande. Esses são alguns dos motivos pelos quais o jogo não causa a imersão desejada e o jogador acaba desestimulado a continuar a jogar [Rabin 2002] [Bourg e Seemann 2004].

III WIA, UniFOA, Volta Redonda - RJ, 2010

44

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Diversas técnicas vêm sido aplicadas na tentativa de suprir a necessidade de representar melhor ambientes complexos e de responder de forma mais natural às ações do jogador, por exemplo, técnicas bio-inspiradas, árvores de comportamento ou algoritmos de aprendizado. As técnicas bio-inspiradas possuem características interessantes que se enquadram nesse contexto, possibilitando a geração de um comportamento mais natural e um grande nível de abstração para tratar de problemas complexos [Bourg e Seemann 2004] [Charles 2007].

A inteligência artificial bio-inspirada é o subcampo da IA que explora as

vantagens e propriedades de sistemas naturais. Algumas técnicas já são usadas em jogos com bastante aceitação, como as redes neurais artificiais, vida artificial ou algoritmos genéticos. Outras como os sistemas imunológicos artificiais (SIA) têm emergido nos últimos anos em aplicações nas mais diversas áreas, inclusive em jogos de computadores [Bourg e Seemann 2004].

Esse artigo tem como objetivo demonstrar a aplicabilidade dos sistemas imunológicos artificiais em jogos, visando obter principalmente um comportamento

mais natural e equilibrado nas ações do computador. As Seções 2 e 3 apresentam a base teórica, citando três processos e técnicas básicas dos sistemas imunes biológicos e artificiais. A Seção 4 descreve o Tower Defense que será usado como estudo de caso e

as

seções 5 e 6 apresentam os resultados das simulações realizadas e a discussão.

2

Sistema Imunológico Biológico

O

sistema imunológico é um complexo conjunto de tecidos, células e moléculas que

trabalham de forma coordenada para defender o organismo de ataques de invasores (conhecidos como patógenos). Ele pode ser dividido basicamente em dois subsistemas inter-relacionados: sistema imunológico inato e sistema imunológico adaptativo (também chamados de imunidade natural ou nativa e imunidade adquirida ou específica respectivamente). Os dois sistemas trabalham de formas distintas, mas tentam atingir o

mesmo objetivo: proteger o organismo [Abbas, Lichtman e Pillai 2007] [Abbas e Lichtman 2008] [Castro e Zuben 1999].

O sistema inato é a primeira linha de defesa contra os invasores, ele sempre está presente em um indivíduo saudável, protegendo o corpo desde seu nascimento. Esse sistema é composto por mecanismos de defesa celulares e bioquímicos, os quais respondem rapidamente à infecções, podendo destruir os patógenos logo no primeiro encontro. Apesar de ser indispensável para o organismo, o sistema inato não pode se adaptar a novos patógenos, ou novas mutações destes [Abbas, Lichtman e Pillai 2007] [Abbas e Lichtman 2008] [Castro e Zuben 1999].

O sistema imunológico adaptativo tem a função de identificar e eliminar os

invasores que conseguem passar pelo sistema inato, ele se desenvolve com o tempo,

aprendendo e se adaptando a cada nova infecção. Outra característica muito importante nesse sistema é a capacidade de se lembrar de patógenos, conseguindo responder a eles

de forma mais eficaz quando encontrados novamente [Abbas, Lichtman e Pillai 2007]

[Abbas e Lichtman 2008].

As duas células mais importantes para o processo de detecção e eliminação de invasores são dois tipos de leucócitos chamados de linfócitos T e linfócitos B (ou

III WIA, UniFOA, Volta Redonda - RJ, 2010

45

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

células T e B). Essas células possuem receptores que são responsáveis por detectar as células estrangeiras. Qualquer molécula identificada pelos receptores é chamada de antígeno e é considerada como invasora pelo sistema imune [Aickelin e Dasgupta

2006].

A principal função das células B é a produção de anticorpos como resposta aos patógenos. Cada linfócito B produz um tipo único de anticorpo e cada anticorpo pode reconhecer apenas um tipo de antígeno. As células T diferem das células B por possuírem um receptor especial (TCR) em sua superfície, com o qual elas identificam pequenos fragmentos de antígenos na superfície de células infectadas ou cancerígenas [Castro e Timmis 2002] [Abbas, Lichtman e Pillai 2007] [Castro e Zuben 1999].

2.1 Seleção Clonal

Quando um patógeno é reconhecido, o sistema imune deve ter a quantidade necessária

de células defensoras com a mesma afinidade para eliminá-lo, mas em um estado inicial

o número de linfócitos capazes de identificar o mesmo antígeno é limitado. O sistema imunológico precisa ter um processo que consiga suprir essa demanda de forma rápida e

efetiva. Esse processo é chamado de seleção clonal. A teoria da seleção clonal estabelece a ideia de que somente as células que reconhecem os antígenos proliferem, dessa forma alcançando a quantidade mínima necessária para eliminar os patógenos identificados. A seleção clonal atua tanto com células B quanto células T [Castro e Zuben 1999] [Castro e Timmis 2002].

2.2 Seleção Positiva

Durante o processo de criação dos linfócitos B e T algumas células podem não se desenvolver (não adquirindo receptores) ou não conseguir adquirir uma capacidade mínima para o reconhecimento de antígenos (receptores não produtivos para o organismo). O processo de seleção positiva serve para evitar o acúmulo desses linfócitos, selecionando apenas células produtivas e úteis para o corpo. Nessa seleção é apresentado diversas células aos novos linfócitos, se esses linfócitos não reconhecerem nenhuma célula do conjunto, eles são descartados [Castro e Timmis 2002] [Abbas, Lichtman e Pillai 2007].

2.3 Seleção Negativa

No processo de seleção negativa acontece o inverso: se os linfócitos reconhecem antígenos próprios eles são descartados. Essa característica de não assimilar células próprias como células invasoras é chamada de tolerância imunológica e também é definida no desenvolvimento dos linfócitos. No processo é apresentado milhares de células próprias para os linfócitos, se algum deles ligar a uma célula apresentada, o encontro ativa um mecanismo de autodestruição e o linfócito morre [AISWeb 2010].

3

Sistema Imunológico Artificial

O

sistema imunológico biológico possui diversas características importantes do ponto

de vista de jogos de computadores, como reconhecimento de padrões, detecção de anomalias, tolerância a ruído, tolerância a falhas, autonomia, aprendizado, memória, auto-organização, etc. Ele é um sistema natural com um conjunto de funcionalidades

III WIA, UniFOA, Volta Redonda - RJ, 2010

46

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

diversificadas e poderosas trabalhando ao mesmo tempo, propriedade dificilmente encontrada em outros sistemas biológicos [Castro e Timmis 2002].

Um sistema imunológico artificial (SIA), como o próprio nome sugere, é um modelo computacional inspirado no funcionamento do sistema imune biológico e pode ser usado em diversas aplicações, por exemplo, em problemas de reconhecimento de padrões, detecção de falhas, detecção e eliminação de vírus, detecção de intrusão, entre outras [Dasgupta 2006].

Existem diversos algoritmos baseados nesse sistema, de vários níveis de complexidade e explorando características diferentes no sistema imune biológico. Aqui serão abordados três dos algoritmos mais simples e conhecidos, inspirados nos processos citados anteriormente.

3.1 Seleção Negativa

No contexto biológico, a seleção negativa é responsável por remover os linfócitos que reagem a moléculas do próprio organismo, acontecendo no desenvolvimento dessas células, antes de saírem pelo corpo. Esse processo garante que os linfócitos percorram o organismo sem causar ativações falsas no sistema imune [AISWeb 2010][Castro e Timmis 2002].

O algoritmo de seleção negativa é inspirado nesse mecanismo biológico, sendo um dos primeiros modelos de SIA, proposto pela primeira vez em [Forrest et al. 1994] para detecção de mudança de dados causada por vírus no campo de segurança computacional. Esse modelo é um dos métodos de detecção de recursos próprios e não próprios [AISWeb 2010] [Castro e Timmis 2002] [Dasgupta 2006].

De forma simplificada o algoritmo (Figura 1) funciona apresentando elementos que fazem parte do conjunto do sistema para detectores gerados aleatoriamente, os detectores que reconhecem esses elementos são eliminados, os que sobram do processo formam o conjunto final de receptores prontos para serem usados.

o conjunto final de receptores prontos para serem usados. Figura 1. Algoritmo de seleção negativa [AISWeb

Figura 1. Algoritmo de seleção negativa [AISWeb 2010].

3.2 Seleção Positiva

No processo biológico da seleção positiva, somente os linfócitos que reconhecem algumas moléculas próprias especiais recebem permissão para percorrer o corpo, enquanto as outras são descartadas. Esse mecanismo faz com que células com pouco

III WIA, UniFOA, Volta Redonda - RJ, 2010

47

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

desempenho não finalizem seu desenvolvimento, deixando espaço e recursos para células mais úteis [Castro e Timmis 2002].

Esse algoritmo (Figura 2) é semelhante ao da seleção negativa: um conjunto de elementos próprios é passado para detectores gerados aleatoriamente, se um detector não reconhecer pelo menos um dos elementos próprios ele é descartado [Castro e Timmis 2002].

próprios ele é descartado [Castro e Timmis 2002]. Figura 2. Algoritmo de seleção positiva. 3.3 Seleção

Figura 2. Algoritmo de seleção positiva.

3.3 Seleção Clonal

Se um ou mais antígenos são encontrados, o sistema imunológico precisa produzir células suficientes para eliminá-los, isso acontece através do processo de seleção clonal, onde os linfócitos que foram estimulados pelos antígenos são usados como modelos para gerar novas células. Esse mecanismo faz com que as novas células produzidas possuam receptores capazes de identificar os mesmo antígenos.

A seleção clonal é válida tanto para células B quanto células T, a diferença é que

as células B podem sofrer uma pequena mutação para aumentar a afinidade com os antígenos reconhecidos e as células T não. Por causa da adaptabilidade via mutação das células B, os algoritmos clonais geralmente são modelados com base nelas [Castro e Timmis 2002].

Entre os algoritmos baseados no princípio da seleção clonal o CLONALG se destaca, sendo um dos mais populares e usados. Proposto em [Castro e Zuben 2000a], o algoritmo inicialmente foi desenvolvido para aplicações de reconhecimento de padrões e depois adaptado para resolver tarefas de otimização [Brownlee 2005] [Castro e Timmis 2002] [AISWeb 2010] [Castro e Zuben 2000a] [Castro e Zuben 2000b].

O algoritmo CLONALG (Figura 3) trabalha com duas populações: A população

de antígenos Ag (padrões a serem reconhecidos) e a população de anticorpos P. Depois de uma inicialização aleatória da população P o algoritmo determina a afinidade dos elementos criados para todos os indivíduos da população Ag, selecionando para clonagem os que tiverem mais afinidade e no final gerando uma conjunto de detectores [Al-Sheshtawi, Abdul-Kader e Ismail 2010] [AISWeb 2010].

III WIA, UniFOA, Volta Redonda - RJ, 2010

48

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 3. Algoritmo de seleção clonal

Figura 3. Algoritmo de seleção clonal [AISWeb 2010].

4 Desenvolvimento de um Tower Defense

Para demonstrar a aplicabilidade das técnicas de SIA, está sendo desenvolvido um jogo no estilo Tower Defense. Nesse tipo de jogo o jogador deve colocar torres em locais estratégicos do mapa para atacar e evitar que as unidades do inimigo alcancem seu objetivo (normalmente alcançar o final do mapa, ou um ponto específico dele).

Para que cada elemento tenha características diferentes, as torres e as unidades de ataque possuirão três atributos com valores variáveis. Os atributos das torres são velocidade de ataque, raio de visão e dano por ataque. Para as unidades de ataque os atributos são velocidade de movimentação, capacidade de defesa e quantidade de pontos de vida.

O jogo será dividido em turnos com três fases: manutenção, ação e verificação

de resultados. Na primeira fase o jogador de ataque escolhe as unidades que percorrerão

o mapa e o jogador de defesa posicionará suas torres. Em seguida entra a fase de ação,

onde os jogadores não poderão "atuar", pois ela serve apenas para calcular os combates

e mostrar a animação (no caso da implementação visual). Por último, os resultados serão

verificados para definir se chegou ao final do jogo ou não. O jogo terminará quando um dos jogadores alcançarem uma quantidade pré-definida de pontos ou quando for atingida

a quantidade máxima de turnos.

A princípio o desenvolvimento da inteligência artificial ficará apenas para o jogador atacante, usando um sistema imunológico artificial para selecionar as unidades mais eficazes contra a estratégia escolhida pelo jogador defensor.

5 Experimentos Realizados

As primeiras simulações realizadas usaram apenas seis tipos de unidades (A, B, C, D, E

e F), sem considerar seus atributos. Usando a ideia da seleção clonal, o jogador artificial seleciona a unidade com maior pontuação para gerar seu clone. Ele também substitui todas as unidades com pontuação abaixo de um nível mínimo por outras geradas aleatoriamente. Se nenhuma unidade possui uma pontuação abaixo do mínimo esperado, ele seleciona a de menor pontuação e a substitui por outra também gerada aleatoriamente.

III WIA, UniFOA, Volta Redonda - RJ, 2010

49

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Na primeira simulação (Figura 4) foram definidas pontuações fixas para cada unidade, sem variar durante o jogo, como se o jogador defensor não fizesse nenhuma mudança em sua estratégia. É possível verificar que inicialmente o atacante só possuía unidades B, D e F, sendo que a unidade D possuía maior pontuação. Aproximadamente no turno seis o sistema colocou uma unidade C no jogo e "descobriu" que ela obteve maior pontuação, assim ela continuou a ser clonada até o fim, ficando com cerca de 18 dessas unidades atacando.

o fim, ficando com cerca de 18 dessas unidades atacando. Figura 4. Primeira simulação, usando seis

Figura 4. Primeira simulação, usando seis tipos de unidades (A, B, C, D, E e F), começando o jogo com 4 unidades aleatórias e adicionando uma unidade a mais por turno. A quantidade máxima de turnos foi definida como sendo 20 e a quantidade mínima aceitável de pontuação foi 10.

A segunda simulação (Figura 5) usa os mesmos parâmetros iniciais da primeira simulação, mas no turno 10 a pontuação das unidades muda, simulando uma mudança repentina na estratégia do jogador defensor. Novamente é possível ver que a unidade C possui a maior pontuação até a metade do jogo, mas após a mudança de pontuação a unidade F teve maior desempenho, dessa forma, sendo clonada até o fim do jogo.

Na terceira simulação os tipos foram retirados e as unidades são diferenciadas por seus atributos: health representando os pontos de vida, defense representando a capacidade de defesa e speed representando a velocidade. A soma dos três atributos deve ser igual a 100. Inicialmente foram utilizadas 20 unidades com os atributos gerados aleatoriamente e a cada turno adicionando duas novas unidades.

III WIA, UniFOA, Volta Redonda - RJ, 2010

50

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 5. Segunda simulação, usando seis

Figura 5. Segunda simulação, usando seis tipos de unidades (A, B, C, D, E e F), começando o jogo com 4 unidades aleatórias e adicionando uma unidade a mais por turno. A quantidade máxima de turnos foi definida como sendo 20 e a quantidade mínima aceitável de pontuação foi 30.

Nessa simulação foram definidos três estágios (simulando as mudanças de torres do jogador defensor), sendo que o primeiro acaba no turno 6, o segundo acaba no turno 12 e o terceiro vai até o final do jogo. A Tabela 1 mostra quais são os valores ideais para os atributos em cada estágio do jogo.

Tabela 1. Valores ideais para os atributos em cada estágio do jogo

1. Valores ideais para os atributos em cada estágio do jogo A Figura 6 mostra a

A Figura 6 mostra a média dos atributos durante o jogo simulado, é possível observar que o sistema se adapta rapidamente, fazendo o atributo speed sobressair logo no segundo turno. No turno 7 os atributos mudam e o sistema novamente se adapta ao novo cenário, fazendo com que a defesa se sobressaia. No estágio final, ao turno 13 outra mudança ocorre e o sistema se adequa novamente.

III WIA, UniFOA, Volta Redonda - RJ, 2010

51

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 6. Terceira simulação, média de

Figura 6. Terceira simulação, média de valores dos atributos. A simulação foi iniciada com 20 unidades e pontuação mínima de 30.

6

Discussão

A partir dos dados analisados, pôde-se observar o comportamento adaptativo do sistema imunológico seguindo as mudanças feitas no ambiente. Essa abordagem já elimina o comportamento previsível e mecânico do computador, pois apesar da adaptatividade demonstrada nas simulações, o sistema ainda possui elementos aleatórios que fazem com que todas as partidas possuam diferentes respostas para as mesmas ações.

Na continuação do projeto, será mais bem analisada a questão do desequilíbrio de habilidade entre o jogador e o computador. Também se pretende desenvolver a parte de interação do jogo para testes com jogadores humanos, além da exploração do mecanismo de memória da seleção clonal para conseguir respostas mais eficientes contra ações já executadas pelo oponente humano.

Referências Bibliográficas

Abbas A. K. and Lichtman A. H. (2008). Functions and Disorders of the Immune System, Saunders, 3rd edition.

Abbas A. K., Lichtman A. H. and Pillai S. (2007). Cellular and Molecular Immunology, Saunders, 6th edition.

Aickelin, U. and Dasgupta, D. (2006). Artificial Immune Systems, IEEE Computational Intelligence Magazine.

AISWeb (2010). "AISWeb: The Online Home of Artificial Immune Systems", endereço:

http://www.artificial-immune-systems.org. Acesso em 17/06/2010.

III WIA, UniFOA, Volta Redonda - RJ, 2010

52

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Al-Sheshtawi, K. A., Abdul-Kader, M. H. and Ismail, N. A. (2010). Artificial Immune Clonal Selection Algorithms: A Comparative Study of CLONALG, opt-IA, and BCA with Numerical Optimization Problems, IJCSNS International Journal of Computer Science and Network Security.

Bourg, D. M. and Seemann, G. (2004). AI for Game Developers, O'Reilly Media, 1st edition.

Brownlee, J. (2005). Clonal Selection Theory & CLONALG: The Clonal Selection Classification Algorithm (CSCA). Technical Report.

Castro, L. N. and Timmis, J. (2002). Artificial Immune Systems: A New Computational Intelligence Approach, Springer. 1st edition.

Castro, L. N. and Zuben, F. J. (1999). Artificial Immune Systems: Part I - Basic Theory and Applications. Technical Report – DCA 01/99.

with

Castro,

L.

N.

and

Zuben,

F.

J.

(2000a).

The

Clonal

Selection

Algorithm

Engineering Applications, GECCO - Workshop Proceedings.

Castro, L. N. and Zuben, F. J. (2000b). An Evolutionary Immune Network For Data Clustering, 6th Brazilian Symposium on Neural Networks.

Charles, D. (2007). Biologically Inspired Artificial Intelligence for Computer Games, Edited by Colin Fyfe, Daniel Livingstone and Stephen Mcglinchey, IGI Publishing, 1st edition.

Dasgupta, D. (2006). Advances in Artificial Immune Systems, IEEE Computational Intelligence Magazine.

Forrest, S. et al. (1994). Self-Nonself Discrimination in a Computer, IEEE Symposium on Research in Security and Privacy.

Rabin, S. (2002). AI Game Programming Wisdom, Charles River Media, 1st edition.

III WIA, UniFOA, Volta Redonda - RJ, 2010

53

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

ANÁLISE DE IMPLEMENTAÇÕES SHADERS APLICADOS NO DESENVOLVIMENTO DE JOGOS ELETRÔNICOS

João Baptista Cardia Neto 1 , Renato de Pontes Pereira 2 , Mauricio Duarte 3 1 UNIVEM, Computing and Information Systems Research Lab, joao@setequatro.com.br 2 UNIVEM, Computing and Information Systems Research Lab, renato.ppontes@gmail.com 3 UNIVEM, Computing and Information Systems Research Lab, maur.duarte@univem.edu.br

Resumo. O objetivo deste artigo é apresentar a área de shaders, relacionar seu desenvolvimento com o desenvolvimento de jogos, analisar seu funcionamento e fazer um panorama de uma implementação utilizando a engine OpenSource Panda3D. Também será analisado a implementação de um jogo teste.

Palavras-Chave: desenvolvimento de jogos, shaders, Panda3D, python.

Analysis of shader implementation applied to electronic game development.

Abstract. The aim of this paper is to present the field of shaders, relate its development to games development, analyze its operation and make an overview of an implementation using the OpenSource Panda3D engine. The implementation of a test game shall also be analyzed.

Keywords: Game development, shaders, Panda3D, python.

1 Introdução

O realismo dos jogos progrediu muito desde o início da indústria até os dias de hoje. Fazendo uma comparação é possível visualizar que, num período de aproximadamente cinquenta e oito anos contando a partir de Tennis for Two, existiu uma evolução muito grande, saindo de jogos construídos utilizando um osciloscópio até chegar aos consoles e computadores atuais, em que existe um alto realismo gráfico [AHL, 1983].

Junto com o lançamento do DirectX 8 vieram os pixel e vertex shaders nas versões 1.0 e 1.1, eles foram os primeiros passos em possibilitar a flexibilidade que artistas e desenvolvedores necessitam para ser possível a produção de gráficos reais. Um shader é um programa que pode ser executado no hardware gráfico, esta é uma forma que os desenvolvedores conseguem implementar seus algoritmos customizados podendo operar os dados que compõe suas cenas virtuais, eles podem ser utilizados para criar qualquer tipo de efeito, dando um alto nível de liberdade e flexibilidade transparecendo a API utilizada [ST-LAURENT, 2004] [SHERROD, 2009].

Atualmente existem três tipos de shaders diferentes, vertex, geometry e pixel. O primeiro atua para cada vértice que é passado para o hardware gráfico, o segundo fica entre o vertex e pixel e é um novo tipo que está presente no Shader Model 4.0 suportado pelo Direct3D 10 e OpenGL 3.0. Por último o pixel shader, ele pode atuar em cada um dos pixels rasterizados que são exibidos na tela. Cada um deles é explicado com maiores detalhes na seção de tipos de shaders [SHERROD,

2009].

2 Shaders

As APIs gráficas oferecem um conjunto de algoritmos e estados de renderização que um programador poderia habilitar ou desabilitar em qualquer momento em uma aplicação. Esses

III WIA, UniFOA, Volta Redonda - RJ, 2010

54

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 algoritmos e estados tem o nome de pipeline de funções fixas (Fixed-Function Pipeline), e ele fornece acesso em alto nível para o hardware gráfico. O grande problema com o pipeline de funções fixas era não existir a possibilidade de o programador desenvolver seus próprios algoritmos e executá-los no hardware gráfico [SHERROD, 2008].

Uma forma de o programador conseguir desenvolver seus próprios algoritmos e executá-los diretamente no hardware gráfico é com a utilização de Shaders. Um shader é um código executável que programa o pipeline das placas gráficas, eles fornecem um alto nível de flexibilidade e, exatamente por esse motivo, podem ser utilizados para a criação de qualquer efeito que o desenvolvedor tenha em mente [SHERROD, 2008].

É possível trabalhar com três tipos possíveis de shaders: vertex, geometry e pixel shaders. Quando são combinados os três tipos de shaders o conjunto é chamado de programa shader. Só é possível a ativação de um tipo ao mesmo tempo, ou seja, não é possível que dois geometry trabalhem nos mesmos dados [SHERROD, 2008].

O vertex shader (figura 2) é executado em cada vértice que é passado para o hardware

gráfico. As entradas vêm diretamente da aplicação enquanto outros tipos de shaders recebem a entrada vinda do executado anteriormente. Normalmente são utilizados para a posição dos vértices usando várias matrizes e para cálculos que são utilizados uma vez por vértice [SHERROD, 2008].

O geometry shader fica entre o vertex e pixel shader, após os dados terem sido processados

pelo vertex eles são passados para ele (caso exista algum). Eles podem ser utilizados para efetuar a

criação de nova geometria e podem operar em primitivas inteiras [SHERROD, 2008].

Ele pode ser utilizado para a emissão de zero ou mais primitivas, quando emitindo mais primitivas do que foi passado inicialmente para o shader é realizada geração de nova geometria e se não for gerada nenhuma primitiva a original é descartada. Ele é um novo tipo e só disponível no shader model 4.0 atualmente suportado pelo DirectX 10 e OpenGL 3.0 [SHERROD, 2008].

O pixel shader (Figura 1 - também conhecido como fragment shader) opera em cada pixel

rasterizado que é exibido na tela, sua entrada pode ser tanto do vertex quanto do geometry shader [SHERROD, 2008].

tanto do vertex quanto do geometry shader [SHERROD, 2008]. Figura 1. Exemplo de um pixel shader

Figura 1. Exemplo de um pixel shader escrito em GLSL.

III WIA, UniFOA, Volta Redonda - RJ, 2010

55

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 2. Exemplo de um vertex

Figura 2. Exemplo de um vertex shader escrito em GLSL.

3 A linguagem GLSL

GLSL é a linguagem de alto nível padrão da API OpenGL, foi adicionada ao núcleo a partir da versão 2.0 e usa as extensões ARB_shading_language_100, ARB_vertex_shader, ARB_fragment_shader e ARB_shader_objects [SHERROD, 2008].

Variáveis são type safe e podem ser declaradas em qualquer lugar dentro de uma função, a linguagem não suporta casting implícito (ou seja, não é possível assimilar um valor inteiro para uma variável de ponto flutuantes) mas existem casts explícitos para outros tipos [SHERROD, 2008].

A GLSL na verdade funciona como várias linguagens relacionadas, elas são utilizadas para a

criação de shaders para cada um dos processadores programáveis dentro do pipeline de processamento do OpenGL (atualmente são vertex, controle de tessellation, validação de tessellation, geometry e fragment). A maioria dos estados do OpenGL não é monitorado ou disponibilizado para os shaders, normalmente variáveis são definidas para serem utilizadas como forma de comunicação entre os diferentes estágios do pipeline do OpenGL. Existem alguns poucos estágios que são monitorados e são disponibilizados automaticamente para os shaders e algumas variáveis reservadas que fazem interface entre os diferentes estágios do pipeline do OpenGL [KESSENICH, 2010].

Os vertex shaders operam no processador de vertex que opera com entrada de vértices e seus dados associados. Ele opera em um vertex de cada vez e não substitui operações gráficas que requerem o conhecimento de vários vértices ao mesmo tempo [KESSENICH, 2010].

O processador de controle de tessellation é uma unidade programável que opera com a entrada

de em um trecho de vértices e seus dados associados emitindo um novo trecho, neste processador são executados os controles de tessellation shaders. Esse tipo de shader é invocado para cada vértice do trecho de saída. Cada invocação pode ler os atributos de qualquer vertex nos trechos de entrada ou saída, mas só pode escrever atributos para o trecho de saída correspondente. Após o fim de todas as invocações os vértices de saída e os atributos por trecho são combinados para formarem um trecho que será usado por estágios subsequentes do pipeline. As invocações são feitas, em sua maior parte, independente sem uma ordem definida de execução. É possível utilizar a função barrier() para

III WIA, UniFOA, Volta Redonda - RJ, 2010

56

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 controle a ordem da execução, para isso ela sincroniza as invocações dividindo efetivamente a execução do shader em um conjunto de fases [KESSENICH, 2010].

O processador de validação de tessellation é uma unidade programável que valida a posição e outros atributos de um vertex gerado pela primitiva de tessellation usando um trecho de vértices e seus dados associados. Os shaders que rodam nesta unidade têm a capacidade de computar a posição e atributos de um único vertex gerado pela primitiva, ele pode ler os atributos de qualquer vertex que esteja no trecho de entrada e a coordenada do tessellation que é posição relativa do vertex na primitiva que está passando pelo processo de tessellation. O executável (que são os shaders de validação de tessellation compilados) escreve a posição e outros atributos do shader [KESSENICH, 2010].

Os geometry shader são executados no processador de geometry e opera numa primitiva de entrada com o número de vértices fixo. Quando é invocado pode emitir um número variável de vértices que são agregados em primitivas que são tipos declarados de saída e passado para os estados subsequentes do pipeline [KESSENICH, 2010].

Os fragment shaders são executados nos processadores de fragment e operam em pixels e seus dados associados. Um shader desse tipo não pode alterar a posição de um pixel, nem acessar um vizinho. Os valores que são computados por ele são utilizados para atualizar a memória de framebuffer ou a memória de textura, dependo do estado corrente do OpenGL ou o comando que ocasionou a geração do pixel [KESSENICH, 2010].

4 Desenvolvimento de um jogo teste

Para conseguir testar e apurar possíveis soluções para este problema será desenvolvido um pequeno jogo de teste, mais especificamente um jogo de plataforma side-scrolling. Neste tipo de jogo o personagem só pode se movimentar em dois eixos, X e Y, inicia no ponto de inicio da fase e deve chegar até o final, muitas vezes necessitando o confronte com um adversário (mas isso não é uma exigência do gênero).

O jogo foi implementado mesclando sprites em 2D e forma poligonais. É desejado testar o efeito dos shaders em ambas às situações, assim sendo, o avatar das personagens controláveis pelo jogador e seus inimigos serão feitos com sprites e os cenários serão feitos utilizando formas poligonais.

O resultado final do desenvolvimento foi algo simples (como mostra a Figura 3), o inicio do jogo será na extrema esquerda do cenário e o jogador deverá ir se deslocando para a direita até encontrar o fim, durante todo o percurso inimigo tentarão o atingir e o jogador pode escolher entre fugir ou destruí-los.

Durante o desenvolvimento foram encontradas algumas dificuldades sendo a maior delas a necessidade do desenvolvimento de uma simulação de gravidade. A engine utilizada (Panda3D) possui ferramentas para tornar mais fácil a simulação de gravidade, mas essa ferramenta só afeta objetos que tenham polígonos e como o personagem principal do jogo era composto de sprites não foi possível a utilização. Por isso foi implementada uma simulação e não utilizada as ferramentas dispostas da linguagem.

Depois de concluído a implementação das funções básicas do game (gravidade, movimentação e animações) o próximo passo é carregar, compilar e dizer quais objetos serão afetados pelos shaders, dentro do Panda3D esse processo é feito utilizando a classe Shader como é demonstrado na Figura 4. Um shader pode ser aplicado em qualquer objeto nodepath da engine e só

III WIA, UniFOA, Volta Redonda - RJ, 2010

57

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 quando é aplicado que é compilado, caso ocorra algum erro de compilação o erro é demonstrado como na Figura 5.

erro de compilação o erro é demonstrado como na Figura 5. Figura 3. Imagem da primeira

Figura 3. Imagem da primeira versão do jogo desenvolvido.

Figura 3. Imagem da primeira versão do jogo desenvolvido. Figura 4. A classe Shader carregando um

Figura 4. A classe Shader carregando um pixel e um vertex shader.

4. A classe Shader carregando um pixel e um vertex shader. Figura 5: Erro de compilação

Figura 5: Erro de compilação de um shader.

5 Desenvolvimento de um shader

O processo de desenvolvimento de um shader não chega a ter muitas diferenças de um programa comum, durante este trabalho o processo se dividiu em três partes: Análise, Desenvolvimento e Teste. O processo de análise foi desenvolvido em conjunto com o processo de análise do jogo de teste, neste processo foram estudados todos os efeitos que deveriam ser desenvolvidos para que o jogo atingisse seu objetivo, nesta etapa é importante a exclusão de efeitos que sejam tenham visuais impressionantes, mas que destoam do estilo de arte que foi proposto. Após escolhidos os efeitos é verificados como eles funcionam e, a partir destas informações, gerado o algoritmo de como cada efeito deve ser implementado.

III WIA, UniFOA, Volta Redonda - RJ, 2010

58

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

A próxima parte é o desenvolvimento que consiste em pegar todos os algoritmos gerados e

implementar em uma linguagem de shader, no caso do jogo de teste foi escolhida a linguagem GLSL, para facilitar esta parte o programador pode ter em suas mãos ferramentas que auxiliem seu trabalho como o ambiente Render Monkey ou OpenGL Shader Builder. Após a implementação o shader é carregado dentro do jogo e a parte de teste é feita observando como o ambiente reage aos efeitos programados, caso o resultado obtido não seja satisfatório o shader deve primeiro ser passar pela análise novamente e feitas às correções desejadas.

6 Resultados obtidos

Primeiramente foi necessário um grande estudo nos conceitos de Computação gráfica, processo de desenvolvimento de jogos e shaders, a partir deste estudo foi observado que, nas condições atuais e do trabalho, uma das melhores formas para a otimização de códigos shaders é a observação do assembly gerado, alem de possíveis instruções que possam ocasionar possíveis lentidões em modelos de placas específicas. Também foi observado que a precariedade dos primeiros vertex e pixel shader tornam praticamente impossíveis a aplicação plena de alguns efeitos e muitas vezes os programadores criavam soluções criativas para esse tipo de limitação, com o aumento da liberdade essas soluções foram deixadas para trás e existe a possibilidade que a volta de suas implementações possam vir a diminuir o custo computacional.

Outro resultado obtido foi um jogo de teste totalmente implementado utilizando tecnologias OpenSource, para seu desenvolvimento foi utilizado a linguagem de programação python e a engine Panda3D, a versão utilizada para os testes contem um cenário poligonal e um personagem que consegue se movimentar pelo cenário. Também foi obtido um shader bem simples, que serviu para a compreensão da melhor forma de implementação em GLSL e no funcionamento do pipeline programável.

7 Discussão

Com os resultados obtidos foi observado que existe a possibilidade de muitos das implementações feitas hoje em dia de efeitos podem ter seu custo reduzido e, ao programar especificamente para alguma arquitetura de placa de vídeo, é possível aproveitar ao máximo suas características e compensar seus pontos fracos.

O conhecimento da engine é extremamente necessário, muitas vezes o desenvolvedor tem a

necessidade de implementar um comportamento que fuja do padrão já oferecido pela engine e somente com o conhecimento profundo é possível saber onde e de que forma essas novas funções devem se integrar. A continuidade deste trabalho será analisar mais profundamente a implementação de shaders e procurar formas de melhorar sua desempenho seja diminuindo sua

complexidade ou utilizando técnicas para ganho de desempenho.

Referências Bibliográficas

Ahl,

D.H.

(1983).

“Video

&

Arcade

Games”,

endereço:

http://www.osti.gov/accomplishments/videogame.html. Acesso em 28/07/2010.

Kessenich,

J.,

Dave,

B., Randi, R. (2006). “The OpenGL® Shading Language”, endereço:

http://www.opengl.org/documentation/glsl/. Acesso em 03/07/2010.

St-Laurent, S. (2004). “Shaders for Game Programmers and Artists”, Course Technology PTR.

Sherrod, A. (2009). “Game Graphics Programming”, Charles River Media.

III WIA, UniFOA, Volta Redonda - RJ, 2010

59

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

ARPENALTY – JOGO COLABORATIVO COM REALIDADE AUMENTADA

Celso André Rodrigues de Sousa, Bruno Mamoru Shibata, Regis Lima Claus, Marcus Vinicius G. Vieira, Douglas Eduardo Parra, Ezequiel Roberto Zorzal Instituto de Ciência e Tecnologia - Universidade Federal de São Paulo (UNIFESP) CEP 12231-280 – São José dos Campos – SP – Brasil {celso.andre.sousa, bmshibatha04, regis.claus, mvgv1989, douglas.eduardop}@gmail.com, ezorzal@unifesp.br

Resumo. A Realidade Aumentada é apresentada como uma opção para a implementação de jogos inovadores, envolvendo maior flexibilização e exploração das características espaciais para o desenvolvimento cognitivo das pessoas. Este trabalho descreve a implementação de um jogo colaborativo com Realidade Aumentada e discute sua utilização, mostrando suas restrições e potencialidades de evolução no espaço tridimensional.

Palavras-Chave: Realidade Aumentada, Jogos Colaborativos, Interação.

ARPenalty - Collaborative Augmented Reality Game

Abstract. The Augmented Reality is presented as an option for the implementation of innovative games, giving flexibility and exploration for the cognitive development. This paper describes the implementation of a collaborative Augmented Reality game, and discusses its use, showing its restrictions and potentialities of evolution in the three-dimensional space.

Keywords: Augmented Reality, Collaborative Games, Interaction.

1

Introdução

Os jogos sempre fascinaram as pessoas ao longo dos anos, sendo usados para o lazer e o desenvolvimento cognitivo. No entanto, apesar da criatividade de seus inventores, os jogos foram limitados por restrições de material e por leis físicas, relativas a fatores como a gravidade, o atrito, a inércia, o choque de corpos, etc. Essas restrições forçaram o desenvolvimento da maioria dos jogos sobre a mesa, dando-lhes características planares.

Com o uso do computador, a multimídia e a Realidade Virtual foram eliminadas algumas destas restrições, dando maior flexibilidade aos jogos. Porém surgiram novos obstáculos, como, por exemplo, a necessidade de treinamento em um ambiente estranho ao usuário e o uso de dispositivos especiais como joystick, luva e capacete. Assim, apesar dos benefícios de uma interação mais natural, as necessidades de equipamentos especiais e de treinamento para seu uso acabam limitando o alcance da Realidade Virtual.

Recentemente, a evolução científica e tecnológica propiciou a viabilização da Realidade Aumentada, que consiste na sobreposição de objetos virtuais gerados por computador em um ambiente real, utilizando para isso algum dispositivo tecnológico

III WIA, UniFOA, Volta Redonda - RJ, 2010

60

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

[Milgram 1994]. Por meio desta tecnologia é possível trazer os jogos virtuais do computador para o espaço do usuário, permitindo sua manipulação direta com as mãos ou por meio de elementos simples como placas ou pedaços de papel, familiares à maioria das pessoas. Nesse caso, os jogos passam a ser potencializados, através de maior capacidade de visualização e interação com os elementos virtuais do jogo, dispostos no espaço tridimensional, emitindo sons e mostrando animações, além de poderem ser replicados com baixo custo por ser quase estritamente software.

Isso propicia ambientes diversos, incluindo a exploração dos benefícios dos jogos educacionais, em função de suas características lúdicas, de envolvimento, de desenvolvimento de habilidades e de construção do conhecimento. Entretanto, para desenvolver tais ambientes é necessária a utilização de algum software e dispositivos tecnológicos.

Este trabalho apresenta a implementação de um jogo colaborativo com Realidade Aumentada e discute a sua utilização, enfatizando suas características e vantagens para o entretenimento e aprendizado.

Sendo assim, a Seção 2 introduz jogos com Realidade Aumentada e apresenta aplicações correlatas. A Seção 3 descreve o jogo desenvolvido. Finalmente, na Seção 4, são apresentadas as considerações finais.

2 Jogos com Realidade Aumentada

O jogo permite que seu usuário estabeleça oportunidades de encontrar soluções, criar estratégias e interagir com outros usuários, ocasionando então, o processo de atividades colaborativas e ampliando as estratégias coletivas de uma maneira estimulante e lúdica. Assim, o jogo é reconhecido como meio de fornecer ao usuário um ambiente agradável, motivador, planejado e enriquecido, proporcionando a aprendizagem de várias habilidades [Valentim 2010].

Os jogos podem ser apresentados em diversas maneiras, tais como no papel, verbal, manual ou eletrônico. Os jogos no papel, verbal e manual, não necessariamente necessitam de dispositivos tecnológicos para sua execução, fazendo com que o usuário vivencie um processo de interação natural. No entanto, os jogos eletrônicos permitem que os usuários passem por situações diversas em um mundo virtual, ultrapassando os limites da lógica e da imaginação, utilizando as mãos diretamente ou através de dispositivos especiais para apoiar a interação. A principal deficiência dos jogos eletrônicos convencionais é a necessidade de adaptação aos dispositivos de interface não naturais.

Portanto, ao ser desenvolvido, o jogo deve fornecer um ambiente enriquecido, capaz de estimular e enriquecer a experimentação do usuário por meio da interação, propiciando o desenvolvimento do raciocínio e da habilidade cognitiva.

Com o avanço tecnológico, através de técnicas de Realidade Aumentada, tornou- se possível associar ao mundo real ambiente virtual e proporcionar ao usuário uma experiência natural, agradável e motivadora.

III WIA, UniFOA, Volta Redonda - RJ, 2010

61

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

A Realidade Aumentada [Kirner e Siscoutto 2007] combina o ambiente real com

objetos virtuais produzidos por computador, gerando um único ambiente sobreposto ao ambiente físico disposto na frente do usuário, visualizados diretamente no capacete ou indiretamente no monitor, por exemplo.

Além disso, o usuário com uso das mãos, por exemplo, consegue manipular os objetos reais e virtuais do ambiente misturado, sem a necessidade de equipamentos especiais. Esta tecnologia permite que o usuário tenha uma interação atrativa e motivadora com tais ambientes e por conseqüência, o desenvolvimento de habilidades e a construção do conhecimento.

Para o desenvolvimento das aplicações deste artigo utilizou-se a ARToolKit (Augmented Reality Toolkit) [Kato, Billinghurst e Poupyrev 2000], uma biblioteca, com código aberto e gratuita, apropriada para desenvolver aplicações de Realidade Aumentada, que faz uso de técnicas de Visão Computacional para o reconhecimento de padrões e inserção dos objetos virtuais no ambiente real.

A estratégia de concepção de soluções com uso da ARToolkit fundamenta-se em

um conjunto de procedimentos. Inicialmente, a imagem capturada pela câmera é transformada em valores binários (Preto & Branco). Essa imagem é analisada pelo software, procurando por regiões quadradas que possam indicar a existência de uma marca. Assim, quando uma marca (marcador) é reconhecida, ele examina o interior da mesma fazendo uma busca pelo símbolo desenhado. Em seguida, este símbolo é capturado e comparado com os símbolos pré-cadastrados na biblioteca. Por fim, se for encontrada alguma similaridade entre símbolos capturados com símbolos pré- cadastrados, é considerado então que foi encontrado um dos padrões de referência. Dessa forma, a ARToolKit utiliza o tamanho conhecido do quadrado e a orientação do padrão encontrado para calcular a posição real da câmera em relação a posição real do marcador. Assim, uma matriz 3x4 é gerada, contendo as coordenadas reais da câmera em relação ao marcador. Esta matriz é usada para calcular a posição das coordenadas da câmera virtual. Se as coordenadas virtuais e reais da câmera forem iguais, o objeto virtual é desenhado precisamente sobre o marcador real.

A Realidade Aumentada, pelo fato de permitir trabalhar com objetos virtuais no

espaço tridimensional, traz um grande potencial de ampliação dos limites dos jogos tradicionais, rompendo a barreira da gravidade e permitindo posicionar peças no espaço, sem a necessidade de elementos auxiliares.

A comunidade internacional e brasileira de Realidade Aumentada já vem

desenvolvendo jogos tanto para entretenimento quanto para aplicações educacionais. Alguns desses trabalhos são descritos nesta seção.

2.1 Jogos de Palavras

A proposta deste jogo [Zorzal et al 2008] é fazer a junção de letras para formar palavras,

resgatando a imagem referente com técnicas de Realidade Aumentada para enriquecer

os resultados finais.

A ARToolKit utiliza marcadores de referência com formas retangulares ou

quadradas. Essas marcas não precisam ser necessariamente uma peça inteiriça, podendo

III WIA, UniFOA, Volta Redonda - RJ, 2010

62

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

ser compostas por vários fragmentos, desde que ao final o marcador formado esteja satisfatoriamente alinhado e possibilite o reconhecimento do padrão quadrado ou retangular. Baseando-se nisso, foram desenvolvidos marcadores com letras em seus interiores, e cadastradas combinações de palavras, formando assim marcadores compostos. Quando o usuário forma uma seqüência de letras previamente cadastrada, o ARToolKit mostra um objeto virtual associado àquela combinação.

A Figura 1 (a) apresenta alguns modelos de placas cadastradas junto aos seus

respectivos objetos virtuais, usando palavras em inglês. Essas características fazem

desse jogo, além de um ótimo entretenimento, uma fonte de aplicações práticas como alfabetização, aprendizado de idiomas, entre outras.

O posicionamento no espaço dos objetos virtuais resultantes das montagens das

palavras permite que sejam montados cenários virtuais ajustados pelo usuário, de forma

que o jogo possa ser considerado um sistema de autoria baseado em palavras. Uma maneira de camuflar os marcadores, mostrando só os objetos, é colocar uma placa que gere uma base virtual um pouco acima da mesa, escondendo todas as palavras no monitor, mas mantendo-as visíveis na mesa para o usuário. A Figura 1 (b) mostra algumas peças utilizadas e o cenário do jogo.

1 (b) mostra algumas peças utilizadas e o cenário do jogo. Figura 1. (a) Exemplo de

Figura 1. (a) Exemplo de placas e objetos virtuais correspondentes. (b) Peças e o ambiente do quebra-cabeça com palavras.

2.2 ARSoccer

O ARSoccer foi desenvolvido por pesquisadores da Universidade de Paderborn na Alemanha, com o intuito de mostrar a interação entre objetos virtuais e o usuário utilizando a câmera disponível em alguns celulares [Paelke, Reimann e Stichling 2004].

Atualmente é distribuído para o iPhone [Laan Consulting Corp 2010]. O jogo permite ao usuário fazer “embaixadinhas” com a bola virtual, mostrada no visor do dispositivo, com o objetivo de não deixá-la cair. Para isso o usuário deve movimentar o pé e chutar a bola, a qual subirá mais ou menos dependendo da velocidade do movimento do pé até a bola virtual. É importante ressaltar que, por causa da baixa taxa de resolução, os movimentos não podem ser bruscos, caso contrário não serão detectados pela câmera e o movimento poderá não ser reconhecido. A Figura 2 apresenta o ambiente do jogo ARSoccer.

III WIA, UniFOA, Volta Redonda - RJ, 2010

63

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 2. ARSoccer no iPhone .

Figura 2. ARSoccer no iPhone.

2.3 SymBall

O SymBall foi desenvolvido como uma variação do jogo CamBall [Woodward et al 2004]. Diferentemente da versão tradicional do jogo para computadores, onde se usam raquetes virtuais para se jogar tênis de mesa pela internet, por exemplo, o SymBall (Figura 3) utiliza as câmeras dos dispositivos móveis como as raquetes. O jogador pode jogar contra o computador ou contra outro usuário, através de Bluetooth. Movendo o dispositivo para os lados, o jogador pode controlar a raquete projetada na tela, e dessa forma tentar acertar a bolinha lançada pelo seu oponente.

forma tentar acertar a bolinha lançada pelo seu oponente. Figura 3. Ambiente SymBall [Hakkarainen e Woodward,

Figura 3. Ambiente SymBall [Hakkarainen e Woodward, 2005].

3 Ambiente Desenvolvido

Os ambientes colaborativos remotos com Realidade Aumentada baseiam-se em interfaces computacionais que compartilham informações e sobrepõem os espaços físicos dos vários usuários (mesa, por exemplo), utilizando uma rede de computadores. Assim, cada usuário pode colocar objetos virtuais sobre a mesa, de forma a visualizar todo o conjunto de objetos e manipulá-los. Usando ARToolKit, cada usuário poderá colocar suas placas no campo de visão da webcam, enxergando seus objetos e os objetos dos outros que aparecem no cenário, em função de suas posições, promovendo assim a colaboração remota.

Desenvolveu-se um jogo colaborativo para cobranças de pênaltis com Realidade Aumentada utilizando dois computadores remotos, denominado ARPenalty. Na implementação, a comunicação em rede baseou-se em sockets. Paralelamente, a ARToolKit foi utilizada para gerar todo ambiente do jogo e permitir o compartilhamento do ambiente dos usuários, de forma que todos pudessem interagir no ambiente.

O funcionamento do jogo é similar ao jogo convencional. Basicamente, a

jogador

aplicação

suporta

dois

jogadores,

na

qual

um

dos

participantes

será

o

III WIA, UniFOA, Volta Redonda - RJ, 2010

64

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

responsável por cobrar o pênalti e o outro será o jogador responsável por defender o pênalti cobrado. O esquema da interação entre os dois jogadores pode ser visualizado na Figura 4.

entre os dois jogadores pode ser visualizado na Figura 4. Figura 4. Comunicação entre os jogadores.

Figura 4. Comunicação entre os jogadores.

Nas aplicações que utilizam a biblioteca ARToolKit como suporte é possível saber quantos marcadores estão cadastrados na aplicação, quais deles estão visíveis no ambiente (no campo de visão da câmera de vídeo) e quais não estão visíveis (oclusos). Neste contexto, por meio da obstrução de marcadores também é possível determinar diversas ações que podem ser usadas para acionar diferentes eventos na interface do usuário.

Inicialmente, o jogador responsável pela cobrança do pênalti deverá chutar a bola virtual e, a partir das características de seu chute, o sistema determina a velocidade e a direção em que a bola irá ao outro usuário (goleiro). Para determinar a direção da bola, foi implementado um tapete com 15 marcas fiduciais, distribuídas em uma matriz de três linhas e cinco colunas. A bola virtual se encontra na posição [0][2] da matriz, como apresentado na Figura 5.

na posição [0][2] da matriz, como apresentado na Figura 5. Figura 5. Tapete com a bola
na posição [0][2] da matriz, como apresentado na Figura 5. Figura 5. Tapete com a bola

Figura 5. Tapete com a bola virtual.

A partir da oclusão das marcas no tapete é possível determinar a velocidade e a direção em que a bola virtual irá percorrer em direção ao usuário (goleiro), conforme apresentado na Figura 6.

ao usuário (goleiro), conforme apresentado na Figura 6. Figura 6. Direção dos chutes. III WIA, UniFOA,
ao usuário (goleiro), conforme apresentado na Figura 6. Figura 6. Direção dos chutes. III WIA, UniFOA,
ao usuário (goleiro), conforme apresentado na Figura 6. Figura 6. Direção dos chutes. III WIA, UniFOA,

Figura 6. Direção dos chutes.

III WIA, UniFOA, Volta Redonda - RJ, 2010

65

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

As condições de chutes para fora do gol também foram tratadas (Figura 7). Para que esta condição seja verdadeira, marcas específicas no tapete devem ser oclusas, independente se as demais marcas sejam oclusas ou não.

independente se as demais marcas sejam oclusas ou não. Figura 7. Chutes para fora. Para defender

Figura 7. Chutes para fora.

marcas sejam oclusas ou não. Figura 7. Chutes para fora. Para defender a bola virtual, o

Para defender a bola virtual, o jogador (goleiro) deve usar uma marca anexada nas luvas, a fim de determinar a posição de suas mãos. Assim, após o jogador responsável por cobrar o pênalti dar o chute, o jogador goleiro poderá ver a bola vindo a sua direção, a partir da imagem gerada em um display em frente a um gol virtual. Dessa forma, para que ocorra uma defesa, o jogador (goleiro) deverá posicionar suas mãos na direção correta da bola.

A bola poderá alcançar cinco direções diferentes, sendo que apenas três destas são em direção ao gol. Conforme contextualizado, o chute poderá ser para frente, à direita ou à esquerda, tendo ainda duas opções de chute para fora (Figura 8). A altura da bola pode ser aleatória ou dependente da velocidade do movimento do pé do usuário no momento do chute.

do movimento do pé do usuário no momento do chute. Figura 8. O gol e suas

Figura 8. O gol e suas posições.

Para simular a movimentação da bola ao longo do tempo, uma modelagem física

foi feita tomando como base as leis da mecânica clássica. Além de calcular a posição da bola em função do tempo, foi necessário definir algumas restrições para que exista possibilidade de gol. O ARPenalty modela um jogo de cobrança de pênaltis. Para tanto,

é necessário considerar algumas variáveis para o modelo. Sejam L a largura do gol, D a

distância da bola ao centro do gol, θ o ângulo formado entre a projeção da bola no solo e

a direção de D e α o ângulo formado entre a bola e o solo na direção perpendicular ao mesmo.

III WIA, UniFOA, Volta Redonda - RJ, 2010

66

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Considerando a velocidade inicial da bola,

Considerando a velocidade inicial da bola, pode-se obtê-la a partir de suas projeções nos eixos x, y e z, respectivamente. Tomando como base as Figuras 9 e 10, a velocidade inicial da bola será obtida conforme a Equação (1).

inicial da bola será obtida conforme a Equação (1). (1) Figura 9. Trajetória. Seja o campo

(1)

inicial da bola será obtida conforme a Equação (1). (1) Figura 9. Trajetória. Seja o campo

Figura 9. Trajetória.

Seja

conforme a Equação (1). (1) Figura 9. Trajetória. Seja o campo gravitacional que atua na bola

o campo gravitacional que atua na bola durante o movimento da mesma e

seja constante. Como o campo gravitacional atua apenas

assumindo que o módulo de

o campo gravitacional atua apenas assumindo que o módulo de na direção perpendicular ao solo, então:

na direção perpendicular ao solo, então:

que o módulo de na direção perpendicular ao solo, então: (2) Com isso, pode-se calcular a

(2)

Com isso, pode-se calcular a posição da bola em função do tempo (Equação (3)).

Seja

posição da bola em função do tempo (Equação (3)). Seja a posição da bola num dado

a posição da bola num dado instante, logo:

(3)). Seja a posição da bola num dado instante, logo: (3) A partir do cálculo da

(3)

A partir do cálculo da posição da bola em função do tempo, foram

odo cálculo da posição da bola em função do tempo, foram maior ângulo no plano xy

maior ângulo no plano xy em relação à direção de D, tal que haja possibilidade de gol.

incrementadas no modelo as restrições para que haja possibilidade de gol. Seja

as restrições para que haja possibilidade de gol. Seja Se , então não há possibilidade de
as restrições para que haja possibilidade de gol. Seja Se , então não há possibilidade de

Se , então não há possibilidade de gol, independentemente dos valores de e

há possibilidade de gol, independentemente dos valores de e . Nesse caso, a bola iria para

. Nesse caso, a bola iria para fora pelas laterais do gol.

e . Nesse caso, a bola iria para fora pelas laterais do gol. Figura 10. Lançamento

Figura 10. Lançamento da bola em um sistema tridimensional.

III WIA, UniFOA, Volta Redonda - RJ, 2010

67

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

A partir da Figura 11, percebe-se que

.
.

Para que haja

possibilidade de gol, a restrição deve ser satisfeita de acordo com a Equação (4).

deve ser satisfeita de acordo com a Equação (4). (4) Figura 11. Metade do gol. Para

(4)

deve ser satisfeita de acordo com a Equação (4). (4) Figura 11. Metade do gol. Para

Figura 11. Metade do gol.

Para poder modelar a restrição de gol em um movimento na vertical, é necessário descobrir o tempo máximo de movimento da bola. Seja s(t) a posição da bola

no eixo x no instante t. Seja o tempo máximo de movimento da bola na

instante t . Seja o tempo máximo de movimento da bola na horizontal. Pode-se encontrar fazendo

horizontal. Pode-se encontrar fazendo

movimento da bola na horizontal. Pode-se encontrar fazendo (Equação (5)). Logo: (5) Seja h ( t
movimento da bola na horizontal. Pode-se encontrar fazendo (Equação (5)). Logo: (5) Seja h ( t

(Equação (5)). Logo:

(5)
(5)

Seja h(t) a posição da bola no eixo Z no instante t. Seja

( t ) a posição da bola no eixo Z no instante t . Seja o

o tempo máximo

da bola no eixo Z no instante t . Seja o tempo máximo de movimento da

de movimento da bola na vertical. Pode-se encontrar ) fazendo (Equação (6)). Logo:

(6)
(6)
Pode-se encontrar ) fazendo (Equação (6)). Logo: (6) O modelo é restrito para um único movimento

O modelo é restrito para um único movimento oblíquo, ou seja, não é simulada a rebatida da bola no chão. Então, deve-se encontrar o mínimo entre o tempo máximo de movimento na vertical e o tempo máximo de movimento na horizontal (Equação (7)). Assim:

máximo de movimento na horizontal (Equação (7)). Assim: (7) Calculado , pode-se encontrar a restrição de

(7)

Calculado , pode-se encontrar a restrição de gol na direção vertical. Para que haja possibilidade de gol (Equação (8)), duas restrições devem ser satisfeitas: (1)

, visto que a bola precisa percorrer a distância D no eixo X para alcançar o

gol; (2)

percorrer a distância D no eixo X para alcançar o gol; (2) . Logo: III WIA,
percorrer a distância D no eixo X para alcançar o gol; (2) . Logo: III WIA,
percorrer a distância D no eixo X para alcançar o gol; (2) . Logo: III WIA,

. Logo:

percorrer a distância D no eixo X para alcançar o gol; (2) . Logo: III WIA,

III WIA, UniFOA, Volta Redonda - RJ, 2010

68

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 (8) 4 Considerações Finais Os jogos

(8)

4 Considerações Finais

Os jogos com Realidade Aumentada permitem que os usuários tenham uma visão enriquecida e ampliada do ambiente. Ao lidar com os objetos virtuais tridimensionais sobrepostos ao cenário real, o jogador pode estimular sua capacidade de percepção e raciocínio espacial. Além de aumentar a visão do usuário com objetos virtuais postos em seu ambiente físico, também é possível ampliar sua audição com a execução de sons específicos para cada ação tomada mediante os objetos gerados. Esta característica pode ser incluída também na aplicação ARPenalty e em outros jogos.

Para o correto funcionamento, em sistemas deste âmbito, é necessário que objetos reais e virtuais estejam devidamente alinhados para que o usuário tenha uma completa ilusão de coexistência dos dois ambientes. Este alinhamento é chamado de registro e tem como objetivo informar o sistema sobre a posição e as dimensões de objetos reais que irão compor o cenário visualizado. Problemas relacionados ao registro podem ser constantes e um conhecimento prévio do ambiente, seja na forma de um modelo tridimensional ou planta bidimensional, bem como o uso de GPS (Global Positioning System), podem ser usados na implementação destes sistemas, que podem ser auxiliados por técnicas de Visão Computacional ou sensores de movimento e orientação.

Outro problema encontrado foi a questão do reconhecimento de marcadores (marcas responsáveis por fazer o mapeamento do objeto virtual para o cenário real), principalmente porque exige recursos de iluminação e posicionamento de câmera e/ou observador de forma adequada. Problemas relacionados ao reconhecimento dos marcadores podem estar ligados à ambientes com iluminação inadequada (pouca ou muita iluminação) ou com a oclusão dos marcadores, quando partes do marcador são obstruídas, fazendo com que o padrão do marcador não seja reconhecido.

Os jogos com Realidade Aumentada têm um potencial muito grande de desenvolvimento, que até agora foi pouco explorado. A área de trabalhos colaborativos, especificamente, apresenta um espaço interessante de desenvolvimento, em função da existência de múltiplos usuários interagindo em um mesmo espaço compartilhado. Esses ambientes exigirão novas formas de interação, gerando novas interfaces que deverão facilitar o trabalho das pessoas e o seu desenvolvimento cognitivo. O Grupo de Pesquisa em Tecnologias para Interação da Universidade Federal de São Paulo tem trabalhado no desenvolvimento de diversos ambientes utilizando Realidade Aumentada, e atualmente trabalha em testes dos mesmos.

Referências Bibliográficas

Hakkarainen M. and Woodward C., (2005) SymBall: camera driven table tennis for mobile phones, Proceedings of the 2005 ACM SIGCHI International Conference on

III WIA, UniFOA, Volta Redonda - RJ, 2010

69

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Advances in computer entertainment technology, p.391-392, June 15-17, 2005, Valencia, Spain.

Kato, H.; Billinghurst, M. and Poupyrev, I. (2000) ARToolKit version 2.33 Manual, Novembro. 2000.

Kirner, C. and Sicoutto, R. (2007) Realidade Virtual e Aumentada: Conceitos, Projetos e Aplicações. Livro do Pré-Simpósio; IX Symposium on Virtual and Augmented Reality, Petrópolis – RJ, 2007.

Laan

endereço:

Consulting

Corp©.

(2010)

Augmented

Reality

Sports”,

http://bit.ly/ARSoccer. Acesso em 25 de Setembro de 2010.

Milgram P.; Takemura H.; Utsumi A. and Kishino F. (1994) Augmented Reality: A Class of Displays on the Reality-Virtuality Continuum. Telemanipulator and Telepresence Technologies, SPIE, V.2351, 1994.

Paelke V., Reimann C. and Stichling D., (2004) “Foot-based mobile interaction in mobile games”, Proc. ACE 2004, Singapore, 3- 5 July, 2004, pp. 321-324.

Valentim, M. O. S. V. (2010) Brincadeiras infantis: importância para o desenvolvimento neuropsicológico. Disponível em: <http://www.profala.com/arteducesp60.htm>. Acesso em: 14 de Outubro de 2010.

Woodward C., Honkamaa P., Jäppinen J., Pyökkimies E., (2004) “CamBall - Augmented vitual table tennis with real rackets”, Proc. ACE 2004, Singapore, 3-5 July, 2004, pp. 275-276.

Zorzal, E. R.; Oliveira, M. R. F.; Silva, L. F.; Cardoso, A.; Kirner, C. and Lamounier Júnior, E. A. (2008) Aplicação de Jogos Educacionais com Realidade Aumentada. RENOTE - Revista Novas Tecnológicas na Educação, Porto Alegre, v.6, n.1, julho de 2008.

III WIA, UniFOA, Volta Redonda - RJ, 2010

70

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

MODELO COMPUTACIONAL BASEADO EM SERVIDOR: ESTUDO DE CASO UTILIZANDO THIN CLIENTS

Moacir Luiz Barnabé¹, Rita de Cassia Rocha¹, Reginaldo Castro de Souza¹, Carlos Eduardo Costa Vieira¹ ¹Sistemas de Informação, Centro Universitário de Volta Redonda (UniFOA), Volta Redonda-RJ, Brasil {unisei, rita}@arbain.com.br, {castrodesouza, cadu.vieira}@gmail.com

Resumo. Este artigo apresenta a solução Thin Client como alternativa, econômica e segura, ao modelo computacional massivamente utilizado atualmente no meio empresarial. Aonde, paradoxalmente, é concedido inicialmente aos clientes, equipamentos e recursos tecnológicos, através de computadores, para posteriormente, em uma ação permanente, controlar ou limitar estes recursos de forma a garantir a segurança, disponibilidade operacional e evitar o uso recreativo do mesmo.

Palavras-Chave: Thin Client; Computador de Rede; Terminal Services.

Computer Model Based On Server: Case Study Using Thin Clients

Abstract. This article presents a Thin Client solution as an alternative, economical and safe, the massive computational model currently used in the business. Where, paradoxically, is initially awarded to customers, equipment and technological resources through computers, and later in a permanent action, control or limit these resources to ensure the safety, operational availability and prevent the recreational use of it.

Keywords: Thin Client; Network Computer; Terminal Services.

1

Introdução

A solução Thin Client consiste em computadores interligados em rede através de uma arquitetura baseada em servidor, no qual o computador cliente possui poucos ou até mesmo nenhum aplicativo ou dispositivo de entrada e saída instalado, sendo totalmente dependente do servidor para a execução das aplicações e armazenamento de dados [Ansari, Tiwari e Agrawal 2005].

O termo Thin, refere-se ao fato deste cliente possuir um hardware mais limitado que uma máquina normal. Tais dispositivos necessitam tipicamente de uma pequena imagem de boot para inicializar uma conexão com a rede e utilizar um navegador web dedicado ou uma conexão com uma área de trabalho remoto. O projeto desses terminais leva em consideração apenas funcionalidades que venham a ser úteis para programas de interface de usuário. O armazenamento não é realizado em discos rígidos impossibilitando que os mesmos sejam corrompidos por um software malicioso ou incompatível. Para esse fim são utilizados dispositivos como cd-rom, memória flash e discos virtuais de rede, garantindo baixos custos de manutenção e o aumento do tempo médio entre falhas (MTBF - Mean Time Between Failures) [NOGUEIRA, 2010].

III WIA, UniFOA, Volta Redonda - RJ, 2010

71

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

O artigo concentra-se na tecnologia Thin Client, suas diversas formas de implantação, vantagens e desvantagens desta tecnologia sobre a computação convencional no âmbito empresarial explorando, ainda, um estudo de caso de sucesso de implantação desta tecnologia em um ambiente empresarial.

2

Rede Corporativa

O

ambiente computacional empresarial surgiu em meio a utilização de equipamentos

limitados de computação, onde possuía-se um servidor central que armazenava e processava todas as aplicações e os terminais “burros” clientes que acessavam este computador central. Esta limitação tinha como um efeito colateral a segurança de que os terminais seriam usados apenas para o fim que foram destinados.

Com a evolução tecnológica, as empresas adotaram computadores pessoais em

substituição aos terminais de dados, criando como efeito colateral indesejável, perda de informação e produtividade. Para controlar este efeito, as empresas investem massiva e permanentemente, em soluções de segurança tais como anti-vírus, firewall ou sistemas

de

controle de admissão como Network Access Control (NAC) da Cisco.

2.1

Tecnologia Thin Client

Alguns fabricantes perceberam que as empresas na verdade usavam suas estações de trabalho como terminais de entrada e saída modernos, ou seja, um terminal gráfico, porém com certa garantia de que os dados estariam seguros em um servidor central, facilitando a sua proteção e recuperação. Perceberam também um maior custo financeiro e operacional, para restabelecimento de uma estação de trabalho principalmente em função das partes móveis como o hard disk e das medidas para proteção dos dados nele contido, bem como a re-instalação, configuração de aplicativos e os testes necessários para que um usuário de uma estação de trabalho retorne a operação. Outro ponto importante foi à vida útil de uma estação de trabalho, que para ser considerada operacional em um ambiente corporativo, precisava ser constantemente atualizada para acompanhar as exigências da tecnologia.

Diante deste cenário, fabricantes desenvolveram uma nova versão dos ditos terminais “burros”, criaram um hardware específico com baixo poder de processamento sem partes móveis e com interface gráfica cuja finalidade era conectar-se a um servidor central e utilizar seus recursos.

A International Business Machines (IBM) foi uma das primeiras empresas a batizarem a “nova solução” como Network Computer ou NC. O mercado batizou simplesmente de cliente magro ou Thin Client. Suas principais características são [Greenberg 2000]:

Longa vida útil sem upgrades;

Não requer instalação de aplicativos ou mesmo de sistema operacional;

Toda a configuração pode ser armazenada em um computador central;

A inicialização completa do dispositivo pode levar apenas 40 segundos;

Possui recursos gráficos similares a de uma estação gráfica comum;

Consumo de energia 90 vezes menor que uma estação de trabalho;

III WIA, UniFOA, Volta Redonda - RJ, 2010

72

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Em caso de queima de uma unidade Thin Client, basta apenas substituí-la por outra sem a necessidade de re-instalação de aplicativos;

Não possui partes móveis;

Todos os dados são armazenados no servidor de aplicação;

Economia de licenças (por exemplo, para o anti-vírus é necessária somente uma licença no servidor de aplicação).

3 Servidor de Aplicação

No modelo computacional baseado em servidor, todas as aplicações são processadas em um servidor central que responde pelo processamento de aplicações e armazenamento de arquivos. Os computadores, usados como estação de trabalho, pelos usuários possuem apenas o papel de entrada de informações (teclado e mouse) e saída de

informações (tela e impressora). Vários desenvolvedores criaram aplicações e protocolos específicos para comunicação entre este servidor de aplicação e as estações

de

trabalho.

3.1

Tecnologias de Acesso Remoto

Todo o acesso ao servidor de aplicação é realizado de forma remota pelas estações de trabalho em um modelo Computacional Baseado em Servidor utilizando a tecnologia desenvolvida por vários fabricantes especificamente para este tipo de acesso [Mathers

2004].

3.1.1

Citrix

Esta fabricante norte americana desenvolveu o conceito das novas gerações de

terminais, através de sua tecnologia Citrix Multwin e de seus servidores Winfrane, Metaframe, Presentation Server e, a solução atual, XenApp. Estas plataformas utilizam

o protocolo ICA (Independent Computing Architeture) e oferecem um amplo conjunto

de ferramentas de gerenciamento. A solução Citrix é mono-plataforma do lado servidor

e é instalada apenas em sistemas Windows Server [Wilson et al 2004].

De acordo com Pinheiro (2004), o protocolo ICA é uma tecnologia baseada em servidor otimizada para trabalhar mesmo em conexões de baixa velocidade, possibilitando que as aplicações sejam executadas de forma eficiente sobre qualquer infra-estrutura de comunicação, incluindo roteadores, linhas discadas, etc. Na tecnologia Citrix, nem dados e arquivos executáveis trafegam na rede, o tráfego gerado diminui e apenas uma pequena fração gerada pela aplicação é enviada. Somente as modificações das telas, os movimentos do mouse e os caracteres digitados no teclado são enviados através da rede e dos meios de comunicação permitindo que os usuários locais ou remotos obtenham uma melhoria significativa no tempo de resposta em seus aplicativos, mesmo através de redes congestionadas.

3.1.2 Microsoft

A empresa norte americana desenvolveu a sua solução de terminais batizado como

Windows Terminal Services a partir de um acordo que permitiu o licenciamento e uso da tecnologia Citrix MultWin [Wilson et al 2004]. A tecnologia da Microsoft usa o portocolo RDP (Remote Desktop Protocol) com características semelhantes ao do

III WIA, UniFOA, Volta Redonda - RJ, 2010

73

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

procolo ICA, contudo com limitações de uso, gerenciamento e performance. O Terminal Services herdou algumas das qualidades da Citrix e todas as suas limitações, sendo mono-plataforma do lado do servidor, permitindo sua instalação somente em servidores Windows. Devido ao seu custo menor, é largamente usada em todas as plataformas de servidores Microsoft a partir da versão Windows NT 4.0 TSE já possuem o Terminal Services.

3.1.3 Graphon

Também de origem americana, desenvolveu a sua solução de terminais GO GLOBAL a partir da modificação do proto X11 (um protocolo para a publicação de aplicações gráficas do Unix existente desde a década de 80) dando origem ao RXP (Rapid X Protocol). O GO GLOBAL é uma solução multi-plataforma do lado servidor, permitindo publicar aplicações a partir de servidores Windows Server 2003, Linux e Unix (SUN, IBM e HP).

As soluções Citrix, Microsoft e Graphon são multi-plataforma do lado cliente, permitindo o acesso a partir de qualquer estação com sistemas operacionais como Windows 98, Windows 2X, Windows XP, Windows Vista, Windows 7, Windows CE e Linux de qualquer distribuição (Red Hat, Suse, Debian e outros). O acesso ao servidor de aplicação é realizado através de softwares cliente especial ou de navegadores Web com plugins fornecidos pelos fabricantes em tempo de execução [Graphon 2007].

4 O Equipamento Thin Client

O dispositivo Thin Client é um hardware projetado para possuir poucos recursos e executar, praticamente, todas as suas aplicações de forma remota a partir de algum protocolo como o RDP, ICA ou RXP usados para este fim. Para isso, o dispositivo Thin Client possui softwares clientes embutidos em seu código para o acesso remoto ao servidor de aplicação.

O Thin Client é o resultado da observação de alguns fabricantes sobre o comportamento das empresas que compravam computadores convencionais completos para depois retirarem, ou bloquearem, dispositivos para atender somente o que a empresa precisava, evitando o uso recreativo e aumentando a disponibilidade operacional deste equipamento.

Soluções Thin Clients focam a segurança, economia, praticidade e robustez. Em caso de queima de uma unidade, basta apenas substituí-la sem a necessidade de instalar ou configurar aplicativos, antivírus, diretivas e nem restaurar arquivos. Não possui ventoinhas e consume pouca energia, portanto não precisa de refrigeração rígida externa ou de dispositivos de condicionamento elétrico. Normalmente possuem um boot rápido, em torno de 40 segundos, e a responsabilidade dos aplicativos e arquivos ficam a cargo exclusivamente do administrador da rede. Em virtude de seus poucos recursos, não são recomendados para uso em ambientes caseiros, multimídia, ou que fazem uso de aplicações gráficas onde a dinâmica de tela ou interação com o usuário é intensa, como jogos e aplicações de desenho. São recomendados para ambientes corporativos, mas somente nos postos que não necessitem destas características.

III WIA, UniFOA, Volta Redonda - RJ, 2010

74

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

5 Computador Convencional

Um computador convencional não possui as limitações quanto a sua aplicação, faz tudo que um Thin Client é capaz, e muito mais. Em ambientes corporativos possibilita ao usuário usá-lo de forma recreativa e, intencionalmente, ou não, danificar o equipamento através da instalação e remoção de arquivos ou aplicativos.

Computadores convencionais focam a velocidade, flexibilidade e independência do seu usuário. Possuem ventoinhas (para dissipar a alta potência consumida e gerada em forma de calor) e partes móveis que se desgastam com o tempo tornando-os mais frágeis e suscetíveis a temperatura e variações elétricas. Normalmente um condicionador elétrico é recomendado para evitar perdas de informação em caso de queda de energia.

A responsabilidade de arquivos e aplicativos, em alguns casos, pode ficar a cargo

do administrador da rede com a adoção de softwares específicos ou diretivas de segurança usadas em ambientes corporativos para este fim. Sempre é necessário um sistema de antivírus e de procedimentos de atualização do sistema operacional. Em caso de pane, não basta apenas substituir o equipamento, também é necessário a instalação, re-configuração de aplicativos e restauração de arquivos.

Em virtude de seus muitos recursos, os computadores convencionais são usados tanto em ambientes caseiros como corporativos. Contudo, neste último, a um alto custo operacional envolvido para restringir e controlar as interações do usuário com estes equipamentos, para que ele se comporte e tenha os benefícios de um Thin Client nas corporações.

6

Estudo de Caso: Supermercados Bahamas

O

cliente possuía a necessidade de um sistema de alta disponibilidade para atendimento

ao seu centro de distribuição, considerado a área mais crítica da empresa, por ser a responsável pela logística e distribuição para abastecimento de cerca de 30 unidades no estado de Minas Gerais. Problemas neste departamento tinham um impacto direto nas operações das unidades e, consequentemente, no faturamento da empresa.

O centro de distribuição funciona 24 horas por dia e 7 dias por semana e operava

com computadores convencionais e sistema operacional Windows. Para manter esta operação, era frequente a intervenção técnica para restabelecimento das estações de

trabalho e a equipe de plantão se fazia necessária constantemente para resolver problemas de hardware, ou problemas causados pelos próprios usuários como a instalação de aplicativos não autorizados, uso recreativo dos equipamentos e consequentemente a remoção de vírus ou a re-instalação do sistema operacional.

Para atender o cliente foi desenvolvida uma solução baseada em 40 Thin Clients inicialmente. Para o servidor de aplicação foi escolhido o servidor Blade IBM de alta disponibilidade com sistema operacional Windows Server 2003 Enterprise Edition e Terminal Server. O protocolo de comunicação utilizado foi o RDP. A solução de boot remoto dos dispositivos Thin Clients foi montada em um servidor virtual Linux dentro

de um sistema VMware Infrastructure.

Cada dispositivo Thin Client instalado consome 5W de energia, uma forte redução em relação aos 450W utilizados anteriormente por estação, ou seja, o consumo

III WIA, UniFOA, Volta Redonda - RJ, 2010

75

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

de 40 Thin Clients é menor que o consumo de três computadores que eram usados pelo cliente. Pela própria natureza dos dispositivos, a segurança foi garantida e ampliada através de diretivas que impedem a instalação de novas aplicações e o uso de dispositivos removíveis que, por padrão na solução Thin Client, são bloqueados.

Em mais de 18 meses de operação, não foi registrado nenhuma falha com os dispositivos. A implantação e operação da solução foi totalmente transparente para os operadores considerando que a única interação física com os dispositivos é um botão liga e desliga. Nenhum treinamento foi necessário para os operadores ou administradores de TI (Tecnologia de Informação) e a substituição dos equipamentos foi realizada de forma gradativa e paralela ao sistema convencional em produção.

O servidor Linux (virtualizado) é o responsável pela carga inicial e configuração do dispositivo Thin Client passando parâmetros de configuração na inicialização do dispositivo. Na inicialização, o dispositivo Thin Client recebe um endereço da rede IP (Internet Protocol) do cliente e logo em seguida, um mini sistema operacional que será responsável pela sua carga inicial e conterá a configuração dos periféricos (teclado, mouse e vídeo), a especificação da interface de interação com o usuário (Windows ou Linux) e a especificação do servidor de aplicação que será usado por cada unidade Thin Client. O mini sistema operacional (mini SO) carregado na inicialização possui um aplicativo de conexão que possibilita a sua comunicação com o servidor de aplicação. Neste estudo de caso, o aplicativo de conexão usado permite a conexão dos dispositivos Thin Clients ao servidor de aplicação Windows 2003, através de um Client Terminal Services desenvolvido para o Sistema Operacional Linux. Todo este processo de inicialização leva cerca de 40 segundos. Toda a especificação dos parâmetros de configuração é realizada somente no servidor Linux virtualizado através de uma console gerenciada via Web. A Figura 1 apresenta a topologia e o processo de inicialização dos dispositivos Thin Clients.

processo de inicialização dos dispositivos Thin Clients . Figura 1. Topologia e o processo de inicialização

Figura 1. Topologia e o processo de inicialização dos dispositivos Thin Clients usados neste estudo de caso.

III WIA, UniFOA, Volta Redonda - RJ, 2010

76

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

7 Considerações Finais

A solução Thin Client deve ser vista como um complemento ou alternativa computacional eficiente e viável somente quando mensurado o ambiente onde será implementada. Apesar de suas inúmeras vantagens, possui restrições em relação ao seu uso e um dimensionamento incorreto dos servidores ou mapeamento impreciso das aplicações que serão executadas neste ambiente podem comprometer ou inviabilizar por completo o seu uso.

Diferentemente de uma solução computacional convencional, o desenvolvimento de um projeto para implantação de Thin Clients deve ser realizado por especialistas, que deverão se encarregar de toda a especificação da topologia, sistema operacional dos servidores, protocolo de comunicação, contingência, dimensionamento de switches, escolha dos modelos Thin Clients, mapeamento das aplicações do cliente, impacto quanto a utilização dos recursos dos servidores e especificação do hardware dos servidores para atender o número de Thin Clients envolvidos.

A melhor forma de entender a tecnologia Thin Client é compreender o modelo computacional baseado em servidor, dos primórdios da computação em que ela se baseia. A total dependência de um servidor central é compensada pelo controle e gerência mais rígida, econômica e eficiente. A tecnologia, atualmente disponível, possibilita que esta dependência em um único servidor seja dividida em um regime de balanceamento de carga automático com outros servidores de forma que, na eventual falha de um servidor, os outros assumam o controle das aplicações. Plataformas como a Citrix e Graphon fazem este tipo de gerência de forma automática.

A economia financeira envolvida no projeto não pode ser mensurada, simplesmente, através de uma comparação direta com a computação convencional, considerando que a maior vantagem da tecnologia Thin Client é no âmbito operacional. Para esta comparação financeira, o cliente deveria ter o histórico de atendimentos, contendo o tempo de parada de um posto de trabalho, energia elétrica gasta por equipamento, peças trocadas e o custo relativo a estes eventos, ou seja, o custo anual de manutenção e atualização de equipamentos e o impacto na produção ou operação nas eventuais intervenções e normalmente o cliente não possui essas informações.

Para uma comparação financeira direta, sem o histórico do cliente, apenas o custo de energia elétrica de um Thin Client em oposição ao de um computador convencional ou eventual economia de licença pode ser mensurado.

Esta complexidade na especificação, ou demonstração de viabilidade, da tecnologia Thin Client, justifica o motivo pelo qual esta solução, mesmo a mais de uma década no mercado, não ser largamente utilizada ou mesmo conhecida por grande parte de especialistas da área. Mas o cuidado na análise e elaboração desta especificação é vital para garantir o sucesso e viabilidade de sua implantação, de forma a utilizar todo o potencial e obter todas as vantagens da tecnologia Thin Client em um ambiente corporativo.

III WIA, UniFOA, Volta Redonda - RJ, 2010

77

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Referências Bibliográficas

Ansari, N., Tiwari, S. and Agrawal, N. (2005). Practical Handbook Of Thin-Client Implementation, New Age Internacional.

Graphon.

(2007).

“GO

Global

Customer

Story”,

endereço:

- http://www.graphon.com/files/Forest_Service_GO-Global_customer_story.pdf. Acesso em: 15/10/2010.

Greenberg,

S.

(2000).

“What

are

the

Real

Benefits?”,

endereço:

http://www.thinclient.net/technology/technology_review.htm.

Acesso

em:

22/03/2010.

 

Mathers,

T.

W.

(2004).

Windows

Server

2003/2000

Terminal

Server

Solutions,

AddisonWesley Professional, third edition.

 

Nogueira,

M.

(2010).

Thin

Client:

Tecnologia.”,

endereço:

http://marcelonogueira.wordpress.com/category/tecnologia/. Acesso em: 22/03/2010.

Pinheiro,

J.

M.

S.

(2004).

”Computação

Baseada

em

Servidor”,

endereço:

http://www.projetoderede.com.br/artigo_computacao_baseada_em_servidor.php.

Acesso em: 30/05/2010.

Wilson, C. S., Craft, M., Guinn, T. and Broomes, C. (2004). Deploying Citrix Metaframe Presentation Server 3.0 with Windows Server 2003 Terminal Services, Syngress Publishing.

III WIA, UniFOA, Volta Redonda - RJ, 2010

78

III Workshop de Informática Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Móveis Centro Universitário de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

COMPOSIÇÃO DINÂMICA DE SERVIÇOS CATEGORIZADOS EM CAMADAS POR COMPUTAÇÃO PARALELA

Rosenclever Lopes Gazoni 1 1 Curso de Sistemas de Informação, Centro Universitário de Volta Redonda (UniFOA), Volta Redonda-RJ {rosenclever, rosenclever.gazoni@foa.org.br}

Resumo – Este artigo apresenta uma verificação da possibilidade de evolução da composição dinâmica de serviços da abordagem baseada em qualidade de serviços de modo a identificar mecanismos de categorização dos serviços antes de sua classificação, realizar classificações para cada camada identificada concorrentemente e agrupar as soluções obtidas para atender aos requisitos de um solicitante.

Palavras-chave: Composição dinâmica de serviços, Serviços Web, Computação Paralela

Layers Services Dynamic Composition by Paralell Computing

Abstract