Vous êtes sur la page 1sur 126

III WORKSHOP DE INFORMTICA APLICADA E DESENVOLVIMENTO DE JOGOS PARA COMPUTADORES E DISPOSITIVOS MVEIS

ANAIS

III WIA 2010


ORGANIZAO:

PROMOO:

Sociedade Brasileira de Computao

Volta Redonda - RJ, 22 e 23 de Outubro de 2010 UniFOA Centro Universitrio de Volta Redonda

UniFOA CENTRO UNIVERSITRIO DE VOLTA REDONDA


CURSO DE SISTEMAS DE INFORMAO

ANAIS III WIA III WORKSHOP DE INFORMTICA APLICADA E DESENVOLVIMENTO DE JOGOS PARA COMPUTADORES E DISPOSITIVOS MVEIS
http://www.unifoa.edu.br/wia/

ISBN: 978-85-60144-36-5

Volta Redonda, 22 e 23 de Outubro de 2010

COMISSO ORGANIZADORA

Coordenao Geral

Carlos Eduardo Costa Vieira (UniFOA e UGB)

Coordenao Local

Antnio Carlos da Silva (UniFOA)

Coordenao do Comit de Programa

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

Coordenao do Comit Editorial

Jlio Csar da Silva (USS, UNIFESO e IST-Rio)

Coordenao do Comit de Divulgao

David de Siqueira Alves Pereira (Profissional Liberal)

Editor dos Anais da III WIA


D. Sc. Jlio Csar da Silva (USS, UNIFESO E IST-Rio)

ii

COMIT CIENTFICO

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. Jlio Csar da Silva (USS, UNIFESO e IST-Rio) M. Sc. Laurentino Duodecimo Rosado Fernandes (USS e UBM) D. Sc. Paulo Csar Mappa (IFT-MG) M. Sc. Rosenclever Lopes Gazoni (UniFOA)

iii

AGRADECIMENTOS
A realizao do III WIA agradece Sociedade Brasileira de Computao (SBC) pelo apoio dado ao evento.

iv

APRESENTAO
A edio dos anais da III WORKSHOP DE INFORMTICA APLICADA E DESENVOLVIMENTO DE JOGOS PARA COMPUTADORES E DISPOSITIVOS MVEIS, realizado nos dias 22 e 23 de Outubro de 2010, no Centro Universitrio de Volta Redonda (UniFOA) proporcionou uma interao entre alunos, professores e profissionais da rea de computao. O III WIA ofereceu uma oportunidade valiosa para que indstrias, empresas e instituies do estado do Rio de Janeiro viessem conhecer e discutir avanos tecnolgicos em diversas reas da computao. 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 Universitrio Serra dos rgos (UNIFESO) e aconteceu na cidade de Terespolis-RJ em Maro de 2009. Durante o III WIA 2010 foram ministradas palestras por docentes e profissionais de comprovada competncia, oriundos das instituies de ensino superior e de pesquisa do Brasil, bem como de empresas reconhecidas regionalmente e nacionalmente. Houve apresentao de trabalhos de iniciao cientfica e pesquisa por docentes e discentes de algumas IES do Brasil. O Comit Cientfico ao revisar os artigos, recomendou algumas modificaes. A realizao ou no de tais modificaes, bem como o contedo neles apresentados, de responsabilidade dos autores. A deciso de aceitao dos trabalhos, em qualquer estgio de sua execuo, foi baseada na ideia de que, com a apresentao e o debate, proporcionar-se-ia uma maior difuso de conhecimentos e uma grande integrao entre pesquisadores e profissionais da rea de computao.

A Comisso Organizadora III WIA

SUMRIO
01-78936_1 Informtica Educacional: uma Anlise sobre sua Difuso em Escolas Municipais do Ensino Fundamental I em Guaratinguet - SP
Jos Airton Ferreira da Silva (FATEC), Camila Martinelli Rocha (FATEC), Jozeli Mara da Silva Gonalves (FATEC)

02-78951_1 Matemtica via TV Digital Interativa


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)

17

03-79050_1 Problema de Alocao de Horrios: um Estudo de Caso Utilizando o Software Livre FET
Bruno Marcelo Pena Barata (UNIFESO), Raphael Carlos de Medeiros (UNIFESO), Carlos Eduardo Costa Vieira (UNIFESO e UniFOA), Jlio Csar da (UNIFESO e USS)

26

04-79051_1 Modelo de Gerenciamento de Suporte e Entrega de Servios de Tecnologia da Informao: Estudo de Caso
Adilson Ricardo da Silva (UGB), Rafael Rodrigues Pereira (UGB), Joo Paulo Rocha (UGB), Carlos Eduardo Costa Vieira (UGB)

35

05-79056_1 Aplicao de um Sistema Imunolgico Artificial em um Tower Defense


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

44

06-79068_1 Anlise de Implementaes Shaders Aplicados no Desenvolvimento de Jogos Eletrnicos


Joo Baptista Cardia Neto (UNIVEM), Renato de Pontes Pereira (UNIVEM), Mauricio Duarte (UNIVEM)

54

07-79079_1 ARPENALTY Jogo Colaborativo com Realidade Aumentada


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)

60

08-79094_1 Modelo Computacional baseado em Servidor: Estudo de Caso Utilizando Thin Clients
Moacir Luiz Barnab (UniFOA), Rita de Cassia Rocha (UniFOA), Reginaldo Castro de Souza (UniFOA), Carlos Eduardo Costa Vieira (UniFOA)

71

09-79103_1 Composio Dinmica de Servios Categorizados em Camadas por Computao Paralela


Rosenclever Lopes Gazoni (UniFOA)

79

vi

10-79109_1 INTNUM: uma Ferramenta Computacional para Visualizao e Clculo dos Mtodos de Integrao Numrica
Bruno Nunes Myrrha Ribeiro (USS), Carlos Vitor de Alencar Carvalho (USS, UniFOA e IST-Paracambi)

86

11-79110_1 Uma Ferramenta Computacional para Gerao de Modelos Digitais de Terrenos com Visualizao em VRML
Antonio de Paula Pedrosa (USS), Carlos Vitor de Alencar Carvalho (USS, UniFOA e ISTParacambi)

96

12-79193_1 BRIAN um Agente Inteligente Cognitivo e Deliberativo para Aplicaes em Jogos de Computadores
Victor A. P. Oliveira (UFERSA), Pablo L. B. Soares (UFERSA)

106

13-79244_1 Framework para Desenvolvimento de Jogos 3D baseado na API O3D


Leandro Bezerra Rodrigues (UNIFESO), Jlio Csar da Silva (UNIFESO e USS)

114

vii

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

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

INFORMTICA EDUCACIONAL: UMA ANLISE SOBRE SUA DIFUSO EM ESCOLAS MUNICIPAIS DO ENSINO FUNDAMENTAL I EM GUARATINGUET - SP 1 2

Resumo. Uma questo sempre discutida nas polticas educacionais a formao inicial e continuada dos professores constituindo um dos pilares do Plano de Desenvolvimento da Educao (PDE). Surgiram ento os primeiros projetos com destaque para o EDUCOM, projeto pblico a tratar da informtica educacional. A pesquisa realizada teve o objetivo principal de verificar a difuso e a didtica nas escolas municipais de Guaratinguet. Verificou-se que neste municpio foi realizada licitao para escolha da empresa responsvel pela implantao da informtica educacional. A Futura Educacional, atravs do Planeta Educao, possui um projeto pedaggico, multidisciplinar e uma estrutura muito bem planejada capaz de trazer bons resultados a mdio e longo prazo. Os resultados de uma pesquisa de satisfao 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 relevncia da informtica dentro do ambiente educacional. Palavras-Chave: educao, informtica, avaliao, ensino bsico, 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 Educao, 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 Introduo
Desde os primrdios da Humanidade buscamos entender e aprender com todas as situaes geradoras de dados que organizadas constituem informaes e estas indubitavelmente transformar-se-o em conhecimento. Este processo um caminho construdo pela interao e mediao educacional. A postulao de Lev Vygotsky (VYGOTSKY, 1984 apud NEVES & DAMIANI, 2006) psiclogo russo que viveu entre os anos de 1896 e 1934 produziu trabalhos III WIA, UniFOA, Volta Redonda - RJ, 2010 8

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 sobre o desenvolvimento psicolgico e a aprendizagem. Suas contribuies so um campo aberto para frteis discusses na cincia educacional. Para ele o sujeito ativo, ele age sobre o meio. Portanto, mais que superar os unilateralismos na anlise da relao sujeito-objeto, o importante buscar compreender as especificidades dessa relao quando sujeito e objeto so histricos e quando a relao entre eles tambm histrica.

2 Formao Inicial e Continuada


Uma questo sempre discutida nas polticas educacionais a formao inicial e continuada dos professores. No Plano de Desenvolvimento da Educao (PDE), a qualificao um dos pilares de sustentao, como, por exemplo, a criao do piso salarial nacional para o professor e o estmulo e ampliao do acesso dos educadores ao nvel acadmico. Com base nos resultados do Censo Escolar de 2007, o INEP (Instituto Nacional de Pesquisas Educacionais Ansio Teixeira) fez um estudo intitulado Estudo exploratrio sobre o professor brasileiro. Este estudo oferece dados sobre o perfil dos profissionais da educao, ampliando o conhecimento sobre a formao do professor, com o fornecimento de dados que melhor caracterizam sua escolaridade (reas de formao de graduao e ps-graduao, de formao continuada, disciplinas ministradas, dentre outras) constituindo em informaes importantes para o planejamento e o monitoramento de ao voltada para a formao inicial e continuada desses profissionais (BRASIL, 2009). Atravs da Figura1 pode-se observar que o nmero de professores da educao bsica 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 Educao Profissional. O estudo indica, tambm, quanto escolaridade dos professores da educao bsica, que 68% (1.288.688) possuem nvel superior. E destes 1.160.811 (90%) possuem licenciatura formao adequada para atuar na educao bsica, segundo a LDB (Leis de Diretrizes e Base) em seu artigo 62. As reas de formao superior com maior nmero de professores em relao ao total de docentes so: Pedagogia (29,2%), Letras/Literatura/Lngua Portuguesa (11,9%), Matemtica (7,4 %) e Histria (6,4%) (BRASIL, 2009).
100 90 80 70 74,4 64,4 53,3 46,7 35,6 25,6 97,9 96,1 91,2

Porcentagem

60 50 40 30 20 10 0
C re c he P r - E s c o la

8,8 2,1 3,9


F unda m e nt a l F unda m e nt a l E ns ino M dio E duc a o A no s Inic ia is A no s F ina is P ro f is s io na l

Feminino

Masculino

Figura 1 Professores das Etapas da Educao Bsica segundo o Sexo, 2007 (BRASIL, 2009, p.21)

III WIA, UniFOA, Volta Redonda - RJ, 2010 9

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 aps anlise do trabalho de BRASIL (2009).

Figura 2 Perfil do Professor da Educao Bsica (BRASIL, 2009, p.47)

3 Educao e Informtica no Brasil


Segundo Oliveira (2002 p. 23) j em 1965 a Marinha vislumbrava a possibilidade de absoro de tecnologia que permitisse a construo de um computador nacional para ser utilizado na prpria Marinha. No entanto, apenas em 1971, houve, pela primeira vez, a deciso de construir um modelo de computador para ser utilizado em operaes da Marinha no Brasil. Para proteo do mercado de informtica brasileiro o governo criou a reserva de mercado atravs da CAPRE - Coordenao de Atividades de Processamento Eletrnico, ligada ao Ministrio do Planejamento. Posteriormente, em 1979, substituda pela Secretaria Especial de Informtica ligada diretamente ao Conselho de Segurana Nacional. Esta vinculao, 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 proteo indstria de informtica brasileira por um perodo de oito anos, at que elas alcanassem maturidade suficiente para competir internacionalmente. Por volta de 1990 a Secretaria Especial de Informtica perdeu o status e passou a fazer parte do MCT Ministrio da Cincia e Tecnologia iniciando a flexibilizao e posterior desmobilizao da proteo indstria nacional. O fim efetivo da reserva, em outubro de 1992, deixou a indstria nacional sem uma base de sustentao, no entanto, com o passar dos anos o prprio mercado foi se ajustando a abertura, as transformaes e as novas diretrizes do comrcio exterior. Embora a definio de novas regras para o setor tenha ocorrido com a aprovao da Lei 8.248/91 em outubro de 1991, sua vigncia efetiva iniciou apenas com a regulamentao em 1993. Esta legislao eliminou as restries anteriores ao capital estrangeiro definindo uma nova poltica de estmulo centrada na obrigatoriedade de esforos mnimos em pesquisa e desenvolvimento (GARCIA & ROSELINO, 2004, p.179). 3.1 Breve histrico da Informtica Educacional A juno de informtica com a educao um tema recente na abordagem educativa. Podemos considerar que somente a partir da dcada de 80, os profissionais envolvidos com o III WIA, UniFOA, Volta Redonda - RJ, 2010 10

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 benefcios reais se a informatizao se tornasse uma realidade no ambiente escolar. O primeiro evento nacional referente informtica na educao foi realizado entre 25 e 27 de agosto de 1981 em Braslia: Seminrio Nacional de Informtica Educacional, realizado pela Secretaria Especial de Informtica, MEC (Ministrio da Educao e Cultura) e pelo CNPq (Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico), [...] passando a representar o inicio das discusses sobre informtica na educao, envolvendo, dessa vez, pessoas ligadas diretamente ao processo educacional (OLIVEIRA, 2002, p.51). 3.1.1 EDUCOM Educao com Computadores O projeto EDUCOM surgiu no perodo que o pas ainda vivia na reserva total de mercado, ou seja, no era possvel adquirir equipamentos e softwares estrangeiros. E como no havia, at ento, uma indstria que possibilitasse o desenvolvimento de computadores e muito menos de softwares de acordo com a demanda do pas (eram caros e restritos) informtica educacional eram desenvolvidas em escolas particulares e em pouqussimas universidades. O projeto EDUCOM o primeiro e principal projeto pblico a tratar da informtica educacional, originou-se do 1 Seminrio Nacional de Informtica na Educao realizado na Universidade de Braslia (1981). O 1 Seminrio agregou diversos pesquisadores da rea e teve por princpio o investimento em pesquisas educacionais. Este projeto forneceu as bases para a estruturao de outro projeto, mais completo e amplo, o PRONINFE. Vrias foram as metas do projeto EDUCOM, uma delas era desenvolver a pesquisa do uso educacional da informtica, ou seja, perceber como o aluno aprende sendo apoiado pelo recurso da informtica e se isso melhora efetivamente sua aprendizagem. Outra meta era levar os computadores s escolas pblicas, para possibilitar as mesmas oportunidades que as escolas particulares ofereciam a seus alunos. O fato de maior importncia neste projeto que foi adotada uma metodologia de planejamento participativo na organizao, realizao e avaliao das experincias de informtica na educao no Brasil. Este fato fez com que representantes tcnico-cientficos, professores e equipes tcnico-administrativas participassem do processo, dando-lhe uma abordagem interdisciplinar. As contribuies do Projeto EDUCOM foram importantes e decisivas para a criao e o desenvolvimento de uma cultura nacional de uso de computadores na educao, especialmente voltada para realidade da escola pblica brasileira.

4 Projeto Municipal de Informtica Educacional em Guaratinguet - SP


Guaratinguet adotou no inicio do ano 2009 o Ensino Fundamental de 9 anos, tendo como base a deliberao do Conselho Estadual de Educao e entende que o 1 ano uma oportunidade para alfabetizar os alunos, tanto matemtica como lingisticamente ao ponto que esse possa chegar no 2 ano para desenvolver ainda mais sua capacidade cognitiva. Segundo a Proposta Curricular de Guaratinguet [...] com a aprovao da lei 11.274/2006 referente ampliao do Ensino Fundamental para nove anos de durao, esta Secretaria da Educao, considerando a importncia da construo de uma escola inclusiva cidad, solidria e de qualidade social para todas as crianas e adolescentes, assume o compromisso com a implementao de uma poltica indutora de transformaes significativas na estrutura da escola, na reorganizao dos tempos e espaos escolares, nas formas de ensinar, aprender, avaliar e principalmente na organizao e desenvolvimento de um currculo que respeite as singularidades da criana no seu desenvolvimento (SECRETARIA MUNICIPAL DE EDUCAO DE GUARATINGUET, 2008). III WIA, UniFOA, Volta Redonda - RJ, 2010 11

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 concluses alcanadas mediante visitas realizadas na sede da empresa VITAE FUTURE KIDS, parceira escolhida atravs de licitao, no municpio de So Jos dos Campos e a filial no municpio de Guaratinguet nos perodos compreendidos entre Outubro a Dezembro de 2009. A Vitae Futurekids est presente em vrias cidades do Brasil, contemplando hoje mais de 2.500.000 alunos e com uma gama de 102.000 professores que so beneficiados pelo seu principal programa Vitae Educacional. Existem tambm 2.733 laboratrios de informtica com 45.875 computadores em 136 municpios. Dentro do Municpio de Guaratinguet da qual parceira desde o ano de 2006, a empresa trabalha com o programa Planeta Educao que tem por objetivo fornecer suporte as atividades gerais das escolas, gestores, professores e alunos. So ministrados Ensino de Lnguas (Ingls), Matemtica (Projeto A+) e Informtica. Atua especificamente no Ensino fundamental contemplando a escola [...] com propostas de atividades que integram os recursos tecnolgicos com as reas do conhecimento, oferecendo aos alunos possibilidades de aprofundarem ou construrem conhecimentos [...] (VITAE EDUCACIONAL, 2009). Durante o perodo letivo no Municpio, o programa realiza cursos para preparao dos mediadores que chamam de "Formao Continuada de Mediadores" com o objetivo de aprimorar seus conceitos pedaggicos, enquanto aos professores fornece oficinas para desenvolver um conhecimento mais sistmico do quanto s ferramentas tecnolgicas podem melhorar a assimilao dos contedos.

5 Resultados e Discusso
A Futura Educacional realizou uma pesquisa com a Comunidade, Educadores e Gestores no perodo de Julho de 2008 em Guaratinguet, gerando um parecer sobre diversas questes 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 preocupao com o profissional de informtica, aqui dito Mediador, com relao ao conhecimento das tecnologias, o contedo pedaggico e o ensino-aprendizagem. Nesta primeira figura pode-se verificar que para 27,5% dos educadores (Figura 3) o mediador demonstra conhecimentos dos contedos desenvolvidos em sala de aula. Se considerarmos apenas o item Concordo Totalmente (72%), este, tambm, apresenta uma porcentagem bem razovel considerando que este questionamento um dos mais discutidos entre a comunidade educacional e de informtica. O resultado demonstra a preocupao que o mediador no seja um mero educador de informtica, mas sim que esteja interligado com o contedo pedaggico trabalhado em sala de aula. Atravs da Figura 4 possvel verificar que 63% dos Educadores que freqentaram o curso onde recebiam treinamento de como atuar no ensino com a ferramenta de informtica, concordaram totalmente que o Mediador da Formao possui domnio tcnico e pedaggico referentes aos contedos propostos. Outros 24,6% apenas concordaram. No entanto 10,2% dos Educadores que participaram da formao responderam que eram Indiferentes e 0,4% discordaram a respeito do conhecimento do Mediador da Formao o que pode ser entendido como um desinteresse frente aplicao de novas tecnologias na Educao ou a possibilidade de serem j conhecedores de conceitos tecnolgicos aplicados a ela.

III WIA, UniFOA, Volta Redonda - RJ, 2010 12

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5
72,0

27,5

0,4

0,0

0,0

Concordo Totalmente

Concordo

Indiferente

Discordo

Discordo Totalmente

Figura 3 O mediador demonstra conhecimentos dos contedos trabalhados e desenvolvidos em sala de aula Fonte: Adaptado de Futura Educacional, 2008

63,6

24,6

10,2 0,4 0 1,3

Concordo Totalmente

Concordo

Indiferente

Discordo

Discordo Totalmente

No respondeu

Figura 4 O mediador da Formao de Educadores possui domnio tcnico e pedaggico referentes aos contedos propostos na formao. Fonte: Adaptado de Futura Educacional, 2008

Quando o questionamento feito comunidade (Figura 5) os resultados tambm so expressivos, porm 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 indicao de que o contedo utilizado em sala de aula no esteja contemplado de forma satisfatria no laboratrio; ou que exista o desconhecimento do uso do computador para fins educacionais; ou que a prtica pedaggica no tenha conseguido chegar ao seu objetivo. III WIA, UniFOA, Volta Redonda - RJ, 2010 13

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 5 As aulas de Informtica Educacional no laboratrio ajudam a entender melhor as matrias dadas em sala de aula Fonte: Adaptado de Futura Educacional, 2008

No podemos esquecer que a Informtica Educacional veio para ser mais um sustentculo do ensino-aprendizagem e no a soluo 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 relevncia da informtica dentro do ambiente educacional.
93,4

3,9

1,3

0,0

0,0 1,3
Discordo Totalmente No respondeu

Concordo Totalmente

Concordo

Indiferente

Discordo

Figura 6 O laboratrio de informtica 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 laboratrio de informtica, 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 servio de Informtica Educacional que o Planeta Educao fornece aos alunos das escolas municipais do ensino fundamental I na cidade.

6 Concluso
Seminrios, palestras, treinamentos, capacitaes e outros tantos eventos so realizados, assim como investimentos macios, principalmente tecnolgicos, na tentativa de absorver a demanda de uma sociedade em constante evoluo. Por outro lado, a formao do futuro docente do ensino bsico, com relao ao desenvolvimento tecnolgico/ensino-aprendizagem, est longe do ideal. Neste contexto no podemos esquecer que existem outras variveis importantes a considerar como os baixos salrios, o excesso de alunos em sala, a desmotivao, entre tantas outras. Considerando todos estes problemas e sua complexidade no de se esperar que solues surjam da noite para o dia. As parcerias com a iniciativa privada so uma tentativa de soluo destes problemas e podem ser grandes apoiadoras, mesmo considerando sua vocao neoliberal. No caso especfico da Futura Educacional existe todo um projeto pedaggico, multidisciplinar e uma estrutura muito bem planejada capaz de trazer bons resultados a mdio e longo prazo. Na anlise da pesquisa realizada pela Futura Educacional houve um retorno satisfatrio gerando uma expectativa de melhoria da qualidade no mbito educacional. E esta expectativa deve ser sanada, como dito anteriormente, a mdio e longo prazo, pois os projetos educacionais, de uma forma geral, so de aplicao demorada envolvendo mudana de cultura, de trabalho e de processos. E o poder pblico, representado pela Secretaria de Educao da Prefeitura de Guaratinguet, tem a grande responsabilidade de trabalhar conjuntamente com a parceria no desenvolvimento e planejamento do ensino-aprendizagem, como tambm fiscalizar e auditar sobre o que realizado. No podemos esquecer que o investimento em recursos humanos essencial e primordial no s para o bem estar e ascenso profissional como tambm para a melhoria da qualidade da educao brasileira. Compreendemos que a Informtica Educacional tem sido uma ferramenta diferenciada na aprendizagem dos alunos no sculo XXI e adequada aos preceitos da Lei de Diretrizes e Bases da Educao Nacional ao que se refere ao conhecimento de tecnologias. Entendemos tambm que no meio acadmico existem vrias correntes contrarias a mais uma ferramenta para o ensino-aprendizagem, contudo suas teorias desmerecem a nova gerao estudantil que domina as tecnologias mesmo antes de ter acesso a elas. Enfim, desenvolver projetos de Informtica Educacional ser a soluo para adequar a Escola aos moldes da sociedade globalizada em que vivemos e mais um meio de potencializar o ensino-aprendizagem na Educao.

Referncias Bibliogrficas
BRASIL (2009). Ministrio da Educao. Estudo exploratrio sobre o professor brasileiro com base nos resultados do Censo Escolar da Educao Bsica 2007. Instituto Nacional de Estudos e Pesquisas Educacionais Ansio Teixeira. Braslia: INEP, 65 p.: il. FUTURA EDUCACIONAL (2008). Dados estatsticos. Guaratinguet, SP. GARCIA, R.; ROSELINO, J. E. (2004). Uma avaliao da Lei de Informtica e de seus resultados como instrumento indutor de desenvolvimento tecnolgico e industrial. Gest. Prod., So Carlos, v. 11, n. 2. Disponvel em: <http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104530X2004000200004&lng=pt&nrm=iso>. Acesso em: 24 de Setembro de 2009. III WIA, UniFOA, Volta Redonda - RJ, 2010 15

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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. Disponvel em: http://www.unirevista.unisinos.br/_pdf/UNIrev_Neves_e_Damiani.pdf. Acesso em: 04 de Outubro de 2009. OLIVEIRA, R. (2002). Informtica Educativa: dos planos e discursos sala de aula. Coleo Magistrio: Formao e Trabalho Pedaggico. Campinas, SP: Papirus, 7 ed. SECRETARIA MUNICIPAL DE EDUCAO DE GUARATINGUET. (2008) Proposta Curricular/Ensino Fundamental Ciclo I. VITAE EDUCACIONAL (2009). Quem somos. Disponvel 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Gabriel Paes Barreto do Nascimento Oliveira1, Jos Henrique Cavalcante2, Henrique Simch Morais3, Michela dos Santos Gonzaga4, Ricardo da Silva Barboza5, Anderson Fernandes Esteves6 1,2,3,4,5,6 Curso Superior de Tecnologia em Desenvolvimento de Software Centro Universitrio do Norte Laureate International Universities (UNINORTE), ManausAM, Brasil 6 Instituto de Tecnologia Galileo da Amaznia (ITEGAM), ManausAM, Brasil 1 bieloliveira@msn.com, 2henry_swz@yahoo.com.br, 3 h_morais_br@yahoo.com.br, 4mgonzaga80@gmail.com, 5rsbarboza@gmail.com, 6 anderson.esteves.am@gmail.com

MATEMTICA VIA TV DIGITAL INTERATIVA

Resumo. A televiso tornou-se uma das principais fontes de informao, cultura e entretenimento. Associada a mais nova mudana, a digitalizao do sinal, a transmisso digital no s dever proporcionar significativa melhora na qualidade da imagem e do som como tambm possibilitar a transmisso de vrios programas em um nico canal. Porm a caracterstica mais interessante da TV digital combinada com um canal de retorno a possibilidade da criao de servios interativos como vdeo sobre demanda, pay-per-view, home shopping, jogos, chat, EAD (educao a distncia). O objetivo desse artigo mostrar o desenvolvimento de um sistema informatizado de auxlio ao ensino da matemtica, utilizando as vantagens que as tecnologias WEB e TV Digital propiciam. Palavras-Chave: TV-Digital, JAVA-TV, Educao a Distncia

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 Introduo
A educao representa um dos mais importantes setores responsveis pelo desenvolvimento de uma nao. produzindo conhecimento que um pas aumenta sua renda e a qualidade de vida de seu povo. Apesar, nas ltimas dcadas, do Brasil ter avanado neste campo, ainda h muito para ser feito.

III WIA, UniFOA, Volta Redonda - RJ, 2010 17

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 O desenvolvimento de um pas desacelera com uma educao precria, todas as pessoas necessitam e devem ter acesso educao. A educao distncia (EAD) mostrou que possvel levar educao de qualidade aos lares dos brasileiros, atravs de um meio de comunicao muito comum, a televiso. Como uma das principais caractersticas do meio tecnolgico no parar de evoluir, diariamente surgem novas tecnologias, ou tecnologias existentes so aperfeioadas, a fim de atender uma sociedade que exige quantidade e qualidade. Dentre as muitas inovaes tecnolgicas podemos citar a televiso digital. A televiso digital uma nova mdia que estabelece uma nova relao de comunicao com o telespectador, gerando mudanas significativas em seus hbitos. Surgiu com o intuito de unir um meio de comunicao 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 servios e funcionalidades.

2 A problemtica
Problemas enfrentados pelos pais na educao dos filhos, como fazer com que eles se interessem pelos contedos ministrados em sala de aula, e realmente se dediquem ao estudo, justificam por si s o desenvolvimento deste projeto. Hoje alm do dinheiro gasto com escolas particulares para a melhor formao dos filhos, os pais ainda devem arcar com as despesas extras como material didtico, curso pr - vestibular e outras formas para reforar o estudo [OLI09]. Apesar de todos esses gastos, os pais muitas vezes no tm como controlar a freqncia e aproveitamento dos filhos nos estudos. Outro problema enfrentado a dificuldade de locomoo dos alunos at o local de estudo, devido a fatores como trnsito, distncia, clima, que contribuem para o baixo desempenho e aumento da evaso escolar. Alm de excelentes programas educacionais, computadores nas escolas, televiso convencional acessvel via TV Escola, acredita-se que o contexto atual de exploso de conhecimentos requer uma estratgia precisa de uso e divulgao dos meios de comunicao j existentes em conjunto com os que esto surgindo. H uma carncia grande no mercado brasileiro e no h uma soluo nica, por um nico meio digital disponvel. As necessidades brasileiras devem ser tratadas no mbito local. Existem poucos projetos de TV digital voltada educao no mundo. Esse fato se d porque o sistema educacional e o acesso a informao nos pases desenvolvidos um fato e no um problema a ser resolvido.

3 Ferramentas
As ferramentas de suporte ao desenvolvimento que optamos em utilizar foram as de maior difuso no meio acadmico e as gratuitas. Os requisitos foram levantados atravs de entrevistas e pesquisas, para tanto, vale observar que nesta validao foram feitos prottipos dos dados atravs dos conceitos da UML (linguagem de modelagem unificada) a fim de elevar o nvel de abstrao e de facilitar o entendimento [OLI09]. III WIA, UniFOA, Volta Redonda - RJ, 2010 18

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 pgina Web juntamente com a tecnologia Servlet, JSP e JSTL que so base de aplicativo Web e o framework Struts para controlar o fluxo navegacional da pgina 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 produo de contedo da TV interativa, pois uma plataforma de desenvolvimento de aplicaes para TV digital flexvel e em constante atualizao. Essa plataforma pode ser utilizada nos trs grandes padres existentes, com pequenas modificaes no cdigo escrito. Para criao de grficos, usaremos o software GIMP, e para edio 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 opes de interatividade disponveis ao telespectador, utilizando o middleware Ginga-NCL, brasileiro e gratuito. Quanto modelagem de dados em nvel conceitual foi utilizado para modelagem do modelo ER - Entidade Relacionamento para criao das tabelas no banco de dados foi a ferramenta brModelo, que tem como motivao recursos que do ao usurio um alto nvel de abstrao na criao das tabelas que comporo o banco de dados. Na camada de persistncia 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 didtico nas aulas prticas de programao 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 aplicaes o banco de dados relacional. DAO (Data Access Object) um padro para persistncia de dados que permite separar regras de negcio das regras de acesso a banco de dados. Numa aplicao que utilize a arquitetura MVC, todas as funcionalidades de bancos de dados, tais como obter as conexes, 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 so utilizados microprocessadores e sistemas operacionais especficos. 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 especficos, alm de implementar conceitos de programao em tempo real e na maioria dos casos necessita de segurana e confiabilidade bem acima das exigidas pelos sistemas comerciais. III WIA, UniFOA, Volta Redonda - RJ, 2010 19

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Com o avano tecnolgico, cada vez mais esto 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 imaginao, a acelerada da evoluo dos sistemas abre um novo caminho econmico. Em nossas atividades do dia a dia podemos identificar a presena de software embarcado. Embora a grande maioria passe despercebida por ns, alguns exemplos mais comuns encontrados so nos celulares, em elevadores e nas catracas eletrnicas. Desenvolver sistema embarcado um desafio, diferentes dos enfrentados por desenvolvedores com experincia em tpicas aplicaes comerciais. A indstria de software apresenta um desempenho no desenvolvimento do pas, visto que um dos ltimos comrcios de alto valor agregado que est em desenvolvimento. 4.2 Java TV Java TV uma extenso da plataforma Java especialmente desenhada para produo de contedo para a TV interativa. Java TV consiste de uma mquina virtual Java (JVM Java Virtual Machine) e de vrias bibliotecas de cdigos reusveis e especficos para a televiso digital interativa. Com Java TV possvel desenvolver aplicaes no set-topbox que sejam associadas a determinados programas de televiso, bem como aplicaes isoladas, que podem executar de forma independente, sem estar associada a algum programa de televiso. No nvel mais alto da pilha temos aplicaes que fazem uso de Java TV e das bibliotecas da plataforma Java, que geralmente ser a J2ME devido ao pouco recurso de memria disponvel num set-top-box. Logo abaixo temos o sistema operacional que d o suporte necessrio a implementao da mquina virtual Java (JVM). Na camada de hardware, temos um receptor de televiso digital que suporta broadcast e pipeline de dados. A API Java prov uma abstrao em relao camada de hardware, fazendo com que os desenvolvedores de aplicaes no se preocupem com o ambiente desta camada. A figura 1 mostra uma pilha de software para um receptor de televiso digital.

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 trs categorias de acordo com o tipo de conexo com o meio de difuso televisivo: III WIA, UniFOA, Volta Redonda - RJ, 2010 20

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Enhanced Broadcast Receivers: Alm da tradicional exibio de um canal televisivo, so capazes de lidar com grficos, imagens e textos transmitidos junto com a difuso do sinal, os quais podem ser controlados por aplicaes tambm transmitidas com o sinal. No possui um canal de retorno, assim suporta apenas a interatividade local; Interactive Broadcast Receivers: Alm das capacidades do Enhanced Broadcast Receiver, possui um canal de retorno com o servidor, possibilitando assim servios interativos; Multi-Network Receveirs: Alm das capacidades do Interactive Broadcast Receiver, possui acesso a mais de uma rede de difuso e um canal de retorno. Assim, possibilita a utilizao de outros servios de comunicao, como por exemplo, telefonia local e Internet. As principais funcionalidades de um set-top-box so: Sintonizao, demodularizao, demultiplexao e decodificao do sinal recebido; Verificao dos direitos de acesso e nveis de segurana; Sada de vdeo com qualidade de cinema ao televisor; Sada de som com qualidade Estreo, Surround ou Dolby Digital; Processar e verificar os servios de Televiso Interativa. Na figura 2 mostrada uma arquitetura de set-top-box quando implementado em tecnologia JAVA.

Figura 2 Arquitetura de um set-top-box genrico utilizando tecnologia Java

III WIA, UniFOA, Volta Redonda - RJ, 2010 21

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 televiso interativa equivale a um applet Java em um browser para PC. Assim como o applet, que carregado pelo browser atravs da Internet quando o usurio acessa determinado endereo, o Xlet difundido em uma seqncia de transporte MPEG-2 e carregado pelo set-top-box quando o telespectador seleciona determinado servio (ou canal). Assim como uma applet, uma Xlet possui uma interface que permite que uma fonte externa, no caso o gerenciador de aplicao do set-top-box, inicie-a, pare-a, ou a controle de vrias outras formas. A maior diferena entre uma applet e uma Xlet que a segunda pode tambm ser paralisada e depois ter sua execuo continuada. Essa diferena em relao a uma applet se deve ao fato de que, em um ambiente de televiso interativa, vrias 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 televiso digital, provavelmente apenas uma Xlet estar visvel em determinado instante, dessa forma, paralisando uma Xlet que se torna invisvel, poupa-se valiosos recursos de hardware, tornando possvel a execuo e exibio de outras aplicaes. Posteriormente, a Xlet paralisada pode retornar a execuo. A Figura 3 mostra o estado de uma Xlet.

Figura 3 Os Estados possveis de uma Xlet

Quando o telespectador escolhe iniciar determinado servio que contm a Xlet, ou quando outra aplicao determina que a mesma deva ser iniciada automaticamente, o gerenciador de aplicao invoca o mtodo de inicializao da Xlet, passando, para a mesma, um objeto contendo o contexto no qual ela se encontra. A Xlet usa esse objeto para sua inicializao e para pr-carregar todos os recursos (como imagens, por exemplo) da seqncia de transporte da qual far uso. Aps isso, a Xlet entra no estado paralisada, no qual est pronta para ser iniciada imediatamente. Quando a Xlet retornar do mtodo de inicializao, o gerenciador de aplicao chama outro mtodo para iniciar a mesma. A Xlet passa ento ao estado iniciada, no qual estar apta para interagir com o telespectador. Nesse ponto, o gerenciador de aplicao 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 tambm escolher destru-la, liberando assim todos os recursos que a mesma ocupa. Uma vez destruda, a mesma instancia da Xlet no pode voltar a nenhum dos estados j citados. III WIA, UniFOA, Volta Redonda - RJ, 2010 22

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 cdigo aberto sob a licena GPL, e alm de uma implementao de referncia da API JavaTV, traz consigo implementaes de outras APIs especificadas no padro MHP, como a Havi (Home Audio- Vdeo interoperability) [HAV10], DAVIC (Digital Audio-Video Council) e implementaes especificadas pela prpria DVB (Digital Vdeo), alm das bibliotecas do PersonalJava que o mesmo padro 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, porm com vrias deficincias, como a incapacidade de exibir vdeo MPEG relacionado ou controlado por uma Xlet. Uma das grandes vantagens do XleTView sobre a soluo da Sun que a mesma busca suprir todo o conjunto de APIs especificadas pelo padro MHP, enquanto a implementao de referncia fornecida pela Sun puramente uma implementao 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 fruns na Internet.

5 Projeto de Interface
Sero mostradas algumas interfaces do sistema desenvolvido em [OLI09]. A Figura 4 mostra o menu Principal do mdulo embarcado. A Figura 5 mostra a interface de Enquetes no mdulo embarcado. A Figura 6 mostra a interface de Enquetes no mdulo embarcado.

Figura 4 Menu Principal Mdulo Embarcado

III WIA, UniFOA, Volta Redonda - RJ, 2010 23

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 5 Interface Enquete Questes e Alternativas

Figura 6 Interface Enquete Resultados

III WIA, UniFOA, Volta Redonda - RJ, 2010 24

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

6 Concluses
Foi apresentada neste trabalho uma ferramenta de apoio a EAD via televiso digital interativa e algumas consideraes sobre sua aplicabilidade educacional. Foram discutidas possibilidades para exibio de material de apoio ao aluno e exibio de exerccios visando auto-avaliao por meio desses aplicativos. importante observar que este tipo de aplicativo no auto-suficiente, ou seja, deve ser incorporado a outros recursos de aprendizagem. A simples exposio dos alunos s informaes desconexas, no gera aprendizagem e muito menos educao, pois a educao um complexo processo que supe intencionalidade [SIL05]. Assim, torna-se importante o uso efetivo da TV digital pelos prprios sujeitos envolvidos no processo de ensino-aprendizagem: o professor e o aluno. Segundo [AMA03] a educao para o uso da TV Digital Interativa encontra sua mxima expresso quando professores e alunos tm a oportunidade de criar e desenvolver atravs dos meios suas prprias mensagens. A expresso atravs da TV interativa, como estratgia motivadora e desmistificadora, requer, portanto, no apenas decifrar a linguagem da comunicao, mas sim servir-se dela. importante lembrar que a introduo 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 didtico 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. Alm disso, para um trabalho efetivo no uso da TVDi no espao educativo preciso antes de tudo conhecer, criar propostas e explorar da melhor forma as oportunidades de ampliar o acesso e a socializao dos conhecimentos.

Referncias
[AMA03] AMARAL, S. F. A TV Digital Interativa no Espao Educacional. Jornal da Unicamp, set. de 2003. Disponvel em: http://www.unicamp.br/unicamp/unicamp_hoje/ju/setembro2003/ju229pg2b.html. Consultado na Internet em maio de 2009. [OLI09] OLIVEIRA, G. P. B, CAVALCANTE, J. H. S, MORAIS, H. S., GONZAGA, M. S. Sistema de Ensino da Matemtica via TV Digital Interativa. Trabalho de Concluso de Curso. Centro Universitrio do Norte (LAUREATE), Manaus: 2009. [HAV10] Home udio-Video Council. Disponvel em: http://www.havi.com. Consultado na Internet em 15 de janeiro de 2010. [SIL05] SILVA, M. R. C., VIEIRA, M. C. A., MARCONATTO, S. C. Uma anlise sobre a produo de contedo e a interatividade na TV digital interativa. Anais do IV Seminrio de Gesto do Conhecimento e Tecnologia da Informao e I Encontro do Conhecimento em Educao e Tecnologia da Informao UNICAMP-SP: 2005. [XleT10] XleTView. Consultado na Internet em 15 de fevereiro de 2010. http://sourceforge.net/projects/xletview/ III WIA, UniFOA, Volta Redonda - RJ, 2010 25

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

PROBLEMA DE ALOCAO DE HORRIOS: UM ESTUDO DE CASO UTILIZANDO O SOFTWARE LIVRE FET


Bruno Marcelo Pena Barata, Raphael Carlos de Medeiros, Carlos Eduardo Costa Vieira2, Jlio Csar da Silva3 Cincia da Computao, Centro Universitrio Serra dos rgos (UNIFESO), Terespolis-RJ, Brasil Sistemas de Informao, Centro Universitrio de Volta Redonda (UniFOA), Volta Redonda-RJ, Brasil 3 Cincia da Computao, Centro Universitrio Serra dos rgos (UNIFESO), Terespolis-RJ, Brasil e Mestrado Profissional em Educao Matemtica, 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 Instituies de Ensino Superior brasileiras, ao iniciar o seu perodo letivo, a programao dos horrios das aulas. Este problema, abordado por diversos pesquisadores, se torna de difcil resoluo devido ao grande nmero de possibilidades a serem analisadas e a necessidade de verificao de uma srie de requisitos, muitos dos quais conflitantes entre si, tornando o espao de busca vasto e altamente restrito. O problema de alocao de horrio sem conflitos de disponibilidades de tais docentes envolvidos uma tarefa difcil que demanda tempo e nem sempre se consegue resolver. O objetivo deste artigo automatizar a gerao das grades horrias para o corpo docente do curso de Cincia da Computao do Centro Universitrio Serra dos rgos (UNIFESO), utilizando o software livre Free Timetabling Program (FET), tornando o processo mais rpido, seguro e eficaz. Palavras-chave: Alocao, Horrios, Metaheursticas 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 rgos (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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

1 Introduo
O problema da construo de grades horrias em qualquer instituio de ensino se repete a cada semestre, ocasionado principalmente pela indisponibilidade de horrio dos professores e tambm pelas aposentadorias, contratao de novos professores e aditivos de contratos. A situao do Curso de Cincia da Computao do UNIFESO no muito diferente deste cenrio, pois a maior parte dos professores vem de outras cidades e no h um software que execute a montagem das grades horrias. O curso no possui um sistema informatizado para resolver alocao de professor, gerando seu quadro de horrios com facilidade e agilidade de acordo com a disponibilidade diria e horria dos mesmos e, principalmente, atendendo s vrias restries. Tais restries so tantas, que o resultado acaba implicando em dificuldades no cotidiano da instituio durante todo o perodo, pois as solues encontradas podem no atender s expectativas, sendo realizadas de forma manual. O propsito do artigo encontrar uma soluo para o problema de gerao da grade horria do Curso de Cincia da Computao do UNIFESO, tendo em vista a situao em que o sistema atual se encontra. O resultado final a relao dos professores com suas respectivas matrias e perodos, de modo que no haja conflitos entre as partes envolvidas (matrias, disponibilidade de tempo, professores) [Souza, Maculan and Ochi 2000], [Souza, Maculan and Ochi 2001], obedecendo a restries que garantiro um melhor arranjo das aulas, gerando assim um quadro de horrios vivel para o professor, alocando o mximo de matrias possveis. Para buscar este objetivo e automatizar a gerao das grades horrias foi utilizado o software livre Free Timetabling Program (FET), que atendeu prontamente a todas as iteraes do processo, desde a fase de cadastro, at a gerao definitiva das grades do corpo docente do Curso. Este artigo est dividido como se segue: a Seo 2 descrever o problema de alocao de horrios de uma forma geral e o problema especfico do curso de Cincia da Computao do UNIFESO; a Seo 3 abordar algumas tcnicas utilizadas para resolver problemas de otimizao combinatria dentre os quais se enquadra o problema de alocao de horrios; a Seo 4 apresentar o software FET utilizado para gerar as grades horrias; por ltimo, a Seo 5 apresentar as consideraes finais e propostas de trabalhos futuros.

2 Problema de Alocao de Horrios


O problema de construo de grades horrias relaciona professores, alunos, matrias e horrios semanais para a realizao das aulas e podem ser de vrios tipos, como horrios de exames escolares, programao de horrios de cursos, dentre outros. Devido tanta diversidade, o problema da alocao de horrios em instituies de ensino superior um dos mais complexos, levando-se em considerao o nmero de variveis e solues possveis. A relao deste conjunto exemplificada por x = d*h, onde x so os horrios semanais, d o nmero de dias da semana e h o nmero de horas de aula por dia [Souza III WIA, UniFOA, Volta Redonda - RJ, 2010 27

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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-difcil, de extrema dificuldade de soluo, pois a possibilidade de existirem algoritmos exatos que os resolvam em tempo de execuo polinomial muito pequena. O passo inicial a ser tomado consultar a disponibilidade horria de professores e depois aloc-los nas turmas disponveis, evitando ao mximo que as turmas fiquem desmoduladas, com tempos vagos e com muitas aulas diferentes no mesmo dia, precavendo tambm que os professores ministrem poucas aulas no dia. No Curso de Cincia da Computao do UNIFESO, existem algumas restries especficas que devem ser consideradas para a confeco da grade horria, tais como: No permitir a alocao de mais de um professor em uma mesma turma no mesmo horrio; Um professor no pode ser alocado a um horrio no qual no esteja disponvel; Evitar quebras de aulas, isto , aulas no consecutivas de uma matria para uma turma em um mesmo dia; Respeitar o limite dirio de aulas de uma mesma matria para uma mesma turma; Eliminar, sempre que possvel, os buracos nos horrios dos professores; Atender ao maior nmero possvel de aulas geminadas, ou seja, aulas realizadas em at dois horrios consecutivos em um mesmo dia, ou at quatro na mesma semana; Minimizar a quantidade de dias que cada professor necessita ir faculdade.

3 Tcnicas Utilizadas para Resolver o Problema de Alocao de Horrios


A tarefa de conciliar todas as restries citadas na Seo 2 no nada simples. Alguns pesquisadores obtm sucesso graas a tcnicas de busca por solues, cujo intuito sempre obter solues satisfatrias num tempo razovel. Independente da tcnica utilizada importante obedecer a algumas regras bsicas, para que no momento da gerao das grades horrias, no apaream surpresas desagradveis, como geralmente ocorre ao utilizar o processo manual, onde muitas vezes preciso desfazer todo o processo. Dentre as tcnicas mais usuais, existem as tcnicas de Algoritmos Exatos (AE) e os Algoritmos heursticos e metaheursticos. 3.1 Algoritmos Exatos ou de Programao Inteira Algoritmos Exatos (AE) so modelos computacionais cuja caracterstica seu tempo de execuo/resposta, que geralmente no satisfatrio, mas em contrapartida, existe a garantia de encontrar uma soluo tima para o problema. Quando se utiliza AEs para resolver problemas de alocao de horrios, devemse criar regras e restries com bastante cautela, pois quaisquer mudanas nas regras so perigosas, ocasionando consequncias em cascata. Por exemplo, ao final do processo de gerao de grades, descobre-se alguma inconsistncia nas regras, o que ocasiona na reviso de todo o processo, demandando muito tempo. Podem-se citar como exemplos III WIA, UniFOA, Volta Redonda - RJ, 2010 28

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 Heursticos e Metaheursticos As tcnicas heursticas e metaheursticas no garantem encontrar a soluo tima, porm apresentam tempos computacionais razoveis. Dentre as metaheursticas mais usuais existem o GRASP, Busca Tabu e Algoritmos Genticos. 3.2.1 Greedy Randomized Adaptive Search Procedures (GRASP) O mtodo GRASP, Procedimento de Busca Adaptativa Gulosa e Randomizada, um processo iterativo, no qual cada iterao consiste de duas fases: fase de construo e fase de busca local [Resende e Ribeiro 2010]. Na fase de construo, ele executa a chamada busca gulosa, onde solues so construdas elemento a elemento, seguindo algum critrio heurstico de otimizao, at que se tenha uma soluo vivel. Uma soluo vivel gerada iterativamente, elemento a elemento, at que a soluo esteja completa, gerando uma lista. Esta lista ordenada por uma funo gulosa que mede o benefcio que o mais recente elemento escolhido concede parte da soluo j construda. J a fase de busca local consiste na busca de um timo local na vizinhana da soluo construda. A melhor soluo encontrada ao longo das iteraes GRASP retornada como resultado [Ferreira e Glazar 2005]. Portanto, este procedimento permite que diferentes solues de boa qualidade sejam geradas. 3.2.2 Busca Tabu A Busca Tabu um procedimento heurstico proposto por Glover, para resolver problemas de otimizao combinatria. Sua finalidade evitar que a busca por solues timas termine ao encontrar um mnimo local [Glover e Laguna 1997]. A partir da soluo inicial gerada pelo procedimento construtivo, a metaheurstica Busca Tabu faz uma busca agressiva no espao de solues, procurando por solues melhores que a corrente e utilizando uma estrutura de memria que armazena os ltimos movimentos realizados. A essa estrutura dado o nome de lista tabu, porque os movimentos que se encontram nessa lista so proibidos por certo nmero de iteraes. A lista tabu ser til quando, em algum momento, no for possvel melhorar a soluo corrente, o que caracteriza um timo local. Nesse momento, o algoritmo ter que escolher a melhor soluo, o que poderia ocasionar um retorno soluo anteriormente visitada, gerando, assim, um ciclo. Como os ltimos movimentos so proibidos pela lista tabu, o algoritmo deve prosseguir por outro caminho que ainda no foi visitado, aumentando o seu universo de busca [Ferreira e Glazar 2005] e [Oliveira 2003]. 3.2.3 Algoritmos Genticos Algoritmos Genticos (AGs) so mtodos computacionais de busca baseados nos mecanismos de evoluo natural e na gentica. Em AGs, uma populao de possveis III WIA, UniFOA, Volta Redonda - RJ, 2010 29

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 solues para o problema em questo evolui de acordo com operadores probabilsticos concebidos a partir de metforas biolgicas, de modo que h uma tendncia de que, na mdia, os indivduos representem solues cada vez melhores medida que o processo evolutivo continua [Linden 2008]. Os Algoritmos Genticos tm as seguintes caractersticas: Operam numa populao (conjunto) de pontos, e no a partir de um ponto isolado; Operam num espao de solues codificadas, e no no espao de busca diretamente; Necessitam somente de informao sobre o valor de uma funo objetivo para cada membro da populao, e no requerem derivadas ou qualquer outro tipo de conhecimento; Utilizam transies probabilsticas e no regras determinsticas.

AGs so algoritmos iterativos e a cada iterao a populao modificada. Cada iterao de um AG denominada uma gerao, embora nem todos os indivduos de uma populao sejam necessariamente filhos de indivduos da populao na iterao anterior. Na maioria das aplicaes, a populao inicial de N indivduos gerada aleatoriamente ou atravs de algum processo heurstico. Como no caso biolgico, no h evoluo sem variedade. Ou seja, a teoria da seleo natural ou lei do mais forte necessita de que os indivduos tenham diferentes graus de adaptao ao ambiente em que vivem. Assim, importante que a populao inicial cubra a maior rea possvel do espao de busca. O fluxo bsico de um algoritmo gentico possui trs operadores: Seleo, Cruzamento e Mutao [Linden 2008]. Seleo: O mecanismo de seleo em AGs emula os processos de reproduo assexuada e seleo natural. Geram-se uma populao temporria de N indivduos extrados com probabilidade proporcional adequabilidade relativa de cada indivduo na populao. Neste processo, indivduos com baixa adequabilidade tero alta probabilidade de desaparecerem da populao, ou seja, serem extintos, ao passo que indivduos adequados tero grandes chances de sobreviverem; Cruzamento: O processo de cruzamento um processo sexuado - ou seja, envolve mais de um indivduo - que emula o fenmeno de crossover, a troca de fragmentos entre pares de cromossomos. Na forma mais simples, trata-se um processo aleatrio que ocorre com probabilidade fixa que deve ser especificada pelo usurio; Mutao: Este processo uma forma de busca aleatria no cromossomo, onde capturada uma posio qualquer do mesmo e trocada por um possvel valor para esse gene. Logicamente, quando so tratados cromossomos com valores binrios, se a posio capturada tiver o valor 1, muda pra 0, e vice-versa. Como na natureza, ocorre com baixa probabilidade. Este operador de extrema relevncia, pois previne que todas as solues do III WIA, UniFOA, Volta Redonda - RJ, 2010 30

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 problema sejam combinaes das solues encontradas a partir da populao inicial, aumentando ainda mais a diversidade de solues. O Algoritmo Gentico precisa de uma condio de finalizao de seu processo, (condio de parada), ou seja, uma condio, um valor, ou uma varivel que faa com que as iteraes cheguem ao fim, podendo ser o tempo, estagnao da populao, o nmero de geraes, entre outras.

4 Free Timetabling Program (FET)


importante destacar que a elaborao da grade horria de todos os oito perodos do curso de Cincia da Computao do UNIFESO realizada de forma manual, utilizado o software MS Word, demandando dias ou at mesmo semanas para a sua elaborao, principalmente quando imprevistos aconteciam (contratao, desligamento ou no 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 gerao das grades horrios do corpo docente do Curso de Cincia da Computao. O FET um programa que foi desenvolvido por Liviu Lalescu, para resolver problemas de compromissos, tarefas, horrios em escolas e universidades. O FET um software bastante completo, traduzido para diversos idiomas, inclusive o portugus, e possui como mtodo de busca a metaheurstica Algoritmos Genticos, combinando resultados e executando mutaes nos mesmos, a fim de retornar a melhor soluo [FET 2010]. A verso utilizada neste artigo a 5.13.4, de 13 de Junho de 2010, que possibilita inmeras configuraes, desde o cadastro das variveis (professores, matrias, perodos etc.) at suas manipulaes, como horrio de incio/fim de cada aula, nmero de aulas que cada professor leciona e inclusive sua disponibilidade na Instituio. possvel ainda, dividir o nmero de aulas por dia e por semana, manejar matrias pr-requisitos de outras, alm de outros tantos recursos adicionais de cadastro, como por exemplo, de salas e laboratrios. Qualquer matria que seja alocada num horrio em que o professor no esteja disponvel ou se for alocado mais de um professor para lecionar a mesma matria, o software automaticamente acusa o erro, exibindo uma mensagem na tela e pra imediatamente as iteraes da gerao da grade horria. Assim, o usurio pode corrigir o erro imediatamente, ao contrrio da elaborao manual, cuja inconsistncia seria possivelmente notada no final do processo. Com o FET possvel descrever o nmero de alunos em cada turma e horrio de incio e trmino das aulas. A Figura 1 mostra a tela inicial do FET. A Figura 2 ilustra a tela de alocao de matrias, 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, matrias, perodos e tempos de aula. Uma vez feito todo o cadastro de matrias, professores, horrios e dias da semana corretamente, o sistema se encarrega de gerar as grades horrias automaticamente. O FET possibilita a exportao das grades horrias para relatrios 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 comparao do processo manual, feito hoje em dia, com o processo automatizado, realizado no FET. Pode-se observar atravs da tabela como os resultados so bem contrastantes.

Figura 1. Tela inicial do FET 5.13.4.

Figura 2. Alocao de matrias no FET 5.13.4. Tabela 1. Comparao entre o processo manual e informatizado.

III WIA, UniFOA, Volta Redonda - RJ, 2010 32

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 3. Relao de matrias com respectivos professores e horrios.

5 Consideraes Finais
Apesar de ser um tema bastante complexo, o problema de automatizao de grades horrias bastante vivel de ser entendido e implementado, por meio de metaheursticas, como as que foram apresentadas de modo a gerar boas solues para o problema de alocao de horrios. Durante todo o perodo de testes e simulaes reais, o software FET realmente impressionou, se mostrando rpido, coeso e eficiente a todo instante, provando que pode ser utilizado na gerao das grades horrias do corpo docente do curso de Cincia da Computao. Alm disso, um sistema bastante flexvel, que pode ser utilizado em computadores com configuraes de hardware e software desde as mais inferiores, at as mais atuais. A reduo do tempo gasto foi a principal vantagem do FET, pois foram necessrios somente alguns dias para deixar o banco de dados totalmente acertado, e aps a finalizao do cadastro, a gerao final das grades horrias para o corpo docente foi executada automaticamente pelo software. Por se tratar de um sistema multiplataforma, o FET pode ser executado sem problemas numa mquina Pentium/AMD 266Mhz com 256Mb de memria, segundo o autor. Como consideraes finais, podem ser apontadas as seguintes vantagens do FET, em relao ao processo executado de forma manual: Economia de tempo, custo e pessoal, para gerao das grades horrias; Possibilidade de modificar os resultados obtidos em qualquer momento; O autor do programa se disponibiliza a fornecer informaes mais detalhadas e interagir com os usurios de seu programa. Como propostas de trabalhos futuros sugerem-se a utilizao dos demais recursos do software FET, como as restries de disponibilidade de locais (salas e laboratrios), e tambm a divulgao do sistema aos alunos, para que tambm possam gerar suas grades no FET. III WIA, UniFOA, Volta Redonda - RJ, 2010 33

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Referncias Bibliogrficas
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). Definio de parmetros na utilizao de meta-heursticas para a programao de horrios escolares. Revista Educao e Tecnologia. 1(1), 1-11. FET. (2010). Free Evolutionary Timetabling, endereo: 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). Otimizao Combinatria e Programao Linear: Modelos e Algoritmos, Elsevier, 2. ed. rev. e atual. Linden, R. (2008). Algoritmos Genticos, Brasport, 2. ed. Oliveira, J. A. Construo de Tabela de Horrio Escolar na Web. 2003. 84 f. Dissertao (Mestrado em Informtica Aplicada) Curso de Cincia da Computao, 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, 2nd edition, 1-25. Souza, M. J. F. Programao de Horrios em Escolas: Uma Aproximao por Metaheursticas. (2000). 160 f. Tese (Doutorado em Engenharia de Sistemas e Computao) Programa de Ps-Graduao 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 Horrios atravs de Caminhos Mnimos. Tendncias em Matemtica Aplicada e Computacional. 1(2), 515-524. Souza, M. J. F., Maculan, N. e Ochi, L. S., (2001). Uma Heurstica para o Problema de Programao de Horrios em Escolas. Tendncias em Matemtica Aplicada e Computacional. (2), 213-222.

III WIA, UniFOA, Volta Redonda - RJ, 2010 34

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 SERVIOS DE TECNOLOGIA DA INFORMAO: ESTUDO DE CASO


Adilson Ricardo da Silva1, Rafael Rodrigues Pereira2, Joo Paulo Rocha3, Carlos Eduardo Costa Vieira4 1,2,3,4 Curso Superior de Tecnologia em Redes de Computadores, Centro Universitrio Geraldo Di Biasi (UGB), Volta Redonda-RJ, Brasil 1 suporte_adilson@hotmail.com, 2rafaelrodriguespereira@gmail.com, 3 rochajs1@ig.com.br, 4cadu.vieira@gmail.com

Resumo: O objetivo do artigo apresentar um modelo de gerenciamento de infra-estrutura de Tecnologia da Informao (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 benefcios de se aplicar essas prticas de gerenciamento de suporte de servios. Palavras-chave: Tecnologia da Informao; 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 Introduo
Com o avano da tecnologia, a rea de Tecnologia da Informao (TI) passou a ocupar um lugar estratgico nas organizaes. A qualidade dos servios prestados por esta rea afeta diretamente a qualidade e eficincia do trabalho realizado pelas demais. Isto, naturalmente, remete concluso de que as organizaes esto cientes da necessidade constante de investimentos em TI, e que, com o aumento gradativo da complexidade dos servios prestados pelas empresas e profissionais do segmento, surge tambm a necessidade para adoo de boas prticas de gesto [Nakamura e Geus 2007]. O ITIL (Information Technology Infrastructure Library) foi desenvolvido na Inglaterra pela CCTA (Central Computer and Telecomunications Agency), rgo do governo ingls, no final da dcada de 80, a partir da necessidade do governo de ter processos organizados nas reas de TI e Telecomunicaes. O resultado foi a aglutinao dos melhores processos e prticas para ancorar a gesto de servios de TI. Foram levadas em conta, nesta empreitada, as experincias acumuladas por organizaes pblicas e privadas de diversos pases. O objetivo do artigo explorar as prticas e estratgias de gerenciamento de III WIA, UniFOA, Volta Redonda - RJ, 2010 35

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 infra-estrutura de TI, norteados pelas prticas do livro de entrega de servios da ITIL. Deseja-se traar um paralelo com o panorama atual da empresa analisada, que no utilizava as ferramentas de gesto de TI e descrever uma soluo de baixo custo para a otimizao de centrais de servios de TI atravs do sistema OcoMon, que um software desenvolvido em plataforma Linux. A ferramenta de cdigo aberto, o que proporciona ao administrador a alternativa de customizar os servios, grficos, relatrios e interfaces do aplicativo, alinhando a ferramenta ao negcio. Observando-se as constantes transformaes do mercado, a crescente demanda por profissionais com viso de negcio e a importncia da organizao do ambiente de TI, surge necessidade de aprofundar os conhecimentos sobre as ferramentas que podem agregar valor aos servios de TI [Andrade 2008]. Atualmente, imprescindvel adotar melhorias nas reas que proporcionam maior valor para o negcio. nesse cenrio que o ITIL vem ganhando espao nas organizaes vinculadas ao mercado de TI.

2 A Biblioteca ITIL
A ITIL o modelo de referncia para gerenciamento de processos de TI mais aceito mundialmente. A biblioteca foi criada pela secretaria de comrcio (Office of Government Commerce, OGC) do governo Ingls, a partir de pesquisas realizadas por Consultores, Especialistas e Doutores, para desenvolver as melhores prticas para a gesto da rea de TI nas empresas privadas e pblicas 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
Problem Management (Gerenciamento de Problemas) Change Management (Gerenciamento de Mudanas)

Objetivos globais
Minimizar o impacto no negcio dos incidentes e problemas causados pelos erros na infraestrutura de TI e prevenir incidentes recorrentes desses mesmos erros. Minimizar o impacto da mudana requerida para resoluo do incidente ou problema, mantendo a qualidade dos servios, bem como melhorar a operacionalizao da infraestrutura. Identificar e controlar os ativos de TI e itens de configurao (CIs ou Configuration Items) existentes na organizao, estabelecendo o relacionamento dos mesmos aos servios prestados. Prevenir a indisponibilidade do servio, garantindo que as instalaes de verses de hardware e software estejam seguras, autorizadas e devidamente testadas. Reduzir o tempo de indisponibilidade (downtime) dos servios.

Configuration Management (Gerenciamento de Configurao)

Release Management (Gerenciamento de Liberaes) Incident Management (Gerenciamento de geincidentes)

III WIA, UniFOA, Volta Redonda - RJ, 2010 36

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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]

III WIA, UniFOA, Volta Redonda - RJ, 2010 37

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Segue abaixo a percepo das organizaes sobre a rea de TI: Proviso de servios inadequada; Dificuldades de comunicao; Gastos excessivos com infra-estrutura; Justificativas insuficientes ou pouco fundamentadas para os custos da proviso dos servios (dificuldade na comprovao dos seus benefcios para o negcio); Falta de sintonia entre mudanas na infra-estrutura e os objetivos de negcio; Entrega de projetos com atrasos e acima do oramento.

3 O Software OcoMon
A escolha do OcoMon como objeto de estudo na presente pesquisa se d pela maior vantagem custo x benefcio que o software proporciona combinando a reduo de custo por se tratar de um software livre, a facilidade de implementao e a possibilidade de customizao. O OcoMon tem por objetivo o cadastro, acompanhamento, controle e consulta de ocorrncias de incidentes de suporte e surgiu em Maro de 2002 como projeto pessoal do programador Franque Custdio, tendo como primeiro usurio o Centro Universitrio La Salle (UNILASALLE). Em Maio de 2003, surgiu a primeira verso do mdulo de inventrio (Invmon), e a partir da todas as informaes de atendimentos comearam a ser vinculadas ao respectivo software, acrescentando grande praticidade e valor ao sistema de atendimento. Com a percepo da necessidade crescente de informaes mais relacionadas com a questo de qualidade no suporte, no incio de 2004 foram adicionadas caractersticas 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 servios realizados [Ribeiro 2008]. Atualmente possvel responder atravs do software questes como: Tempo mdio de resposta e soluo para os chamados; Percentual de chamados atendidos e resolvidos dentro do SLA; Tempo dos chamados decomposto em cada status de atendimento; Usurios mais ativos; Principais problemas; Reincidncia de chamados por equipamento; Como e onde esto distribudos os equipamentos; Vencimento das garantias dos equipamentos e questes pertinentes gerncia pr-ativa do setor de suporte. Abertura de chamados de suporte por rea de competncia; Vnculo do chamado com a etiqueta de patrimnio do equipamento; Busca rpida de informaes referentes ao equipamento (configurao, localizao, histrico de chamados, garantia) no momento da abertura do chamado; III WIA, UniFOA, Volta Redonda - RJ, 2010 38

As principais funes do mdulo de ocorrncias so [Ribeiro 2008]:

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Envio automtico de e-mail para as reas de competncia; Acompanhamento do andamento do processo de atendimento das ocorrncias; Definies de nveis de prioridades para os setores da empresa; Gerenciamento de tempo de resposta baseado nas definies de prioridades dos setores e categoria de problemas; Consultas personalizadas; Relatrios gerenciais; Controle de SLAs. Cadastro detalhado das informaes de hardware dos equipamentos; Cadastro de informaes contbeis dos equipamentos (valor, centro de custo, localizao, reitoria, fornecedor, etc); Cadastro de modelos de configurao para carga rpida de informaes de novos equipamentos; Cadastro de documentaes relacionadas aos equipamentos (manuais, termos de garantia, mdias, etc); Controle de garantias dos equipamentos; Histrico de mudanas (de localidades) dos equipamentos; Controle de licenas de softwares; Busca rpida das informaes de chamados de suporte para o equipamento; Busca rpida de informaes dos equipamentos; Buscas por histrico de mudanas (localizao); Consultas personalizadas; Estatsticas tcnicas e gerenciais do parque de equipamentos; Relatrios gerenciais.

As principais funes do mdulo de inventrio so [Ribeiro 2008]:

3.1 Questes Tcnicas O OcoMon foi concebido sob a viso de software opensource sob o modelo GPL (General Public License) de licenciamento, utilizando tecnologias e ferramentas livres para o seu desenvolvimento e manuteno. Segue abaixo a lista de requisitos para a instalao do software: Linguagem: PHP a partir da verso 4.3x at a 5x, HTML (Hypertext Markup Language), CSS (Cascading Style Sheets) e Javascript; Banco de dados: MySQL a partir da verso 4.1x; Autenticao de usurios: a autenticao de usurios pode ser feita tanto na prpria base do sistema quanto atravs de uma base LDAP (Lighweigth Directory Access Protocol) em algum ponto da rede de computadores; Novas funcionalidades tm sido acrescentadas ao sistema ao longo do tempo e o objetivo torn-lo cada vez mais aderente s boas prticas relacionadas tanto operacionalizao quanto gesto de reas de atendimento tcnico. III WIA, UniFOA, Volta Redonda - RJ, 2010 39

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 industrializao para empresas agro-qumicas e de qumica fina, alm de servios ambientais, tais como: tratamento de efluentes e incinerao que completam o seu portflio de servios oferecidos aos clientes. Empresa de autogesto que iniciou suas atividades em 19 de abril de 2005, resultado da aquisio do parque industrial da BASF pelos 184 funcionrios 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 Informao da empresa consiste, basicamente, em uma equipe de quatro analistas, que desenvolvem atividades relacionadas s seguintes tecnologias: Telefonia: Fixa, mvel e IP (Internet Protocol); Infraestrutura de Rede (Projeto e Construo de Cabeamento Estruturado); Administrao de Redes (Gerenciamento de Ativos, Segurana, Monitorao, etc); Suporte e desenvolvimento de sistemas; Administrao e suporte de Banco de Dados (SQL 2005).

A principal motivao com o novo modelo gerencial foi aproximar as metas do negcio s aes de TI e alinhar os objetivos do negcio aos objetivos da TI. Um exemplo dessas iniciativas foi a aplicao de conceito de Insourcing (delegao de operaes internas) em algumas atividades como a de desenvolvimento de aplicaes, que anteriormente era realizada por uma empresa externa. Outra necessidade importante que motivou a re-estruturao do ambiente de TI foi a falta de controle sobre a demanda de servios que existia no departamento, fazendo com que a TI no tivesse uma real percepo dos servios que prestava, no existia controle da realizao das atividades, existia uma grande insatisfao dos usurios da rede acerca dos servios prestados, no existia documentao dos processos e o TI no agregava valor algum aos projetos das outras reas de negcio da empresa. 4.2 As Mudanas Realizadas na Re-Estruturao As principais mudanas nas atividades do Departamento de TI foram: Antes do novo modelo gerencial de Tecnologia da Informao, a empresa despendia muitos gastos com consultoria no desenvolvimento de aplicaes e administrao de redes de computadores. Com o novo modelo, essas atividades passaram a ser responsabilidade do departamento de TI; Aps mapear as competncias tcnicas 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 4.3 O Gerenciamento de Incidentes atravs da Utilizao do OcoMon na Empresa No perodo de re-estruturao, a equipe de TI realizou testes com outros softwares de gerncia (como o 0800net), mas optou pela escolha do OcoMon como ferramenta. O fator decisivo foi o baixo custo da implementao, por se tratar de um software livre e opensource (cdigo-aberto). O software utiliza dois mdulos o InvMon, que trata especificamente o inventrio e controle dos ativos e o OcoMon, que fornece uma soluo para registro de ocorrncias e software de apoio Central de Servios. O mdulo de inventrio atende diretamente s necessidades do processo de Gerenciamento de Configurao do livro de Suporte de Servios do ITIL, pois permite ao Gerente de Infraestrutura armazenar e consultar todas as informaes relevantes acerca dos ICs (itens de configurao) da infra-estrutura mostrando o relacionamento e dependncia deles, alm de criar relatrios estruturados atravs de consultas personalizadas. O mdulo de inventrio (InvMon) do OcoMon pode ser considerado o prprio CMDB (Banco de dados de Gerenciamento de Configurao). A Tabela 3 mostra um exemplo de atributos que devem ser registrados nos itens de configurao.
Tabela 3 Exemplos de itens de configurao do CMDB

Atravs do mdulo de ocorrncias do OcoMon pode-se implementar na totalidade o conceito de Central de Servios descrito no livro de Suporte de Servios do ITIL, pois a ferramenta permite a criao de um SPOF (Ponto nico de contato) entre o TI e a empresa utilizando a interface cliente de abertura de ocorrncias. Todos os incidentes da infra-estrutura devem ser registrados no mdulo de ocorrncia para serem tratados de forma estruturada e centralizada a fim de se evitar re-trabalhos provenientes da comunicao ineficiente. Pode-se ainda relacionar o gerenciamento de problemas do ITIL com o OcoMon, pois com o histrico de incidentes ele fornece informaes sensveis que auxiliam na atuao pr-ativa do departamento de TI. Essa associao fica clara ao observar o histrico 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 possvel visualizar a abordagem do Gerenciamento de Nvel de Servios de forma mais clara na Figura 1, que mostra o detalhamento das ocorrncias, mostrando tambm o tempo de atendimento e o tempo de resoluo do problema.

Figura 1 Detalhamento de Ocorrncia

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 nvel de servio, a localizao do incidente e a rea de negcio afetada.

Figura 2 Total de Chamados Analista X rea

III WIA, UniFOA, Volta Redonda - RJ, 2010 42

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 A implementao do software OcoMon trouxe vrios benefcios para empresa, que antes no tinha um controle centralizado de suas ocorrncias, o que impactava at mesmo a falta de investimentos na rea de TI, devido a falta de indicadores para comprovar questes bsicas como a quantidade de atendimentos, o tempo gasto em cada um e a falta de registro dos incidentes mais comuns que precisavam ser corrigidos. Tambm trouxe benefcios individuais para os Analistas de TI da empresa, onde agora possvel fazer uma anlise individual do desempenho de cada um, levando-se em conta o tempo de atendimento necessrio 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 soluo dos problemas. Atualmente, devido s prticas adotadas, o departamento de TI goza de grande prestgio para com os demais parceiros da empresa e j visto como um setor que gera lucros e no apenas gastos, contribuindo para o crescimento e reconhecimento da empresa, alm de ter sido fundamental nos prmios conquistados como a ISO 9002.

5 Consideraes Finais
Este artigo apresentou como a biblioteca ITIL e o software OcoMon podem ser muito teis quando aplicados nas empresas de TI. Atravs de um estudo de caso, foi apresentado como a rea de TI da empresa Servatis pde melhorar a qualidade de seus atendimentos, ajudando a realizar uma gesto de pessoas por competncias na equipe de TI, conseguindo tambm um maior reconhecimento com as outras reas de negcio 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 implementao e a melhoria no Gerenciamento de TI das empresas que ainda no o iniciaram. Muitas empresas no possuem qualquer Gerenciamento de TI, algumas falham no controle sobre os inventrios, sobre as tarefas realizadas e at mesmo nos incidentes ocorridos. Sabe-se que o gerenciamento, de certa forma, essencial para todas as empresas, sem exceo.

Referncias Bibliogrficas
Andrade, V. (2008) Descomplicando o ITIL, endereo: 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). Segurana de Redes em Ambientes Cooperativos, Novatec. Ribeiro, F. (2008). OcoMon - Sistema HelpDesk em http://ocomonphp.sourceforge.net/, Acesso em: 04/05/2010. PHP, endereo:

III WIA, UniFOA, Volta Redonda - RJ, 2010 43

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Renato de Pontes Pereira, Mauricio Duarte UNIVEM, Centro Universitrio Eurpedes de Marlia, Computing and Information Systems Research Lab, renato.ppontes@gmail.com UNIVEM, Centro Universitrio Eurpedes de Marlia, Computing and Information Systems Research Lab, maur.duarte@gmail.com

APLICAO DE UM SISTEMA IMUNOLGICO ARTIFICIAL EM UM TOWER DEFENSE

Resumo. Um dos problemas enfrentados na criao da inteligncia artificial em um jogo a resposta mecnica e desequilibrada do computador s aes do jogador. Diversas tcnicas podem ser usadas para evitar ou amenizar isso, por exemplo, com tcnicas bio-inspiradas como redes neurais artificiais, algoritmos genticos ou sistemas imunolgicos artificiais. Esse artigo apresenta a rea de sistemas imunolgicos artificiais, demonstrando a aplicao dessa tcnica em um jogo de Tower Defense. Palavras-Chave: Sistemas Imunolgicos Artificiais, Inteligncia 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 players 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 Introduo
Os jogos vm tentando aumentar a imerso dos jogadores de vrias formas seja por grficos realistas, histrias bem planejadas ou uma boa ambientao. Nesse contexto, outro aspecto a se considerar o desenvolvimento da inteligncia 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 representao complexa, como os de simulao de voo ou de tiro em primeira pessoa que usam tticas de combate real [Rabin 2002] [Charles 2007]. Em muitos casos, a complexidade dos ambientes torna o uso de algumas tcnicas clssicas de inteligncia artificial impraticvel, em outros o desequilbrio entre as aes do computador e a habilidade do jogador muito grande. Esses so alguns dos motivos pelos quais o jogo no causa a imerso 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Diversas tcnicas vm sido aplicadas na tentativa de suprir a necessidade de representar melhor ambientes complexos e de responder de forma mais natural s aes do jogador, por exemplo, tcnicas bio-inspiradas, rvores de comportamento ou algoritmos de aprendizado. As tcnicas bio-inspiradas possuem caractersticas interessantes que se enquadram nesse contexto, possibilitando a gerao de um comportamento mais natural e um grande nvel de abstrao para tratar de problemas complexos [Bourg e Seemann 2004] [Charles 2007]. A inteligncia artificial bio-inspirada o subcampo da IA que explora as vantagens e propriedades de sistemas naturais. Algumas tcnicas j so usadas em jogos com bastante aceitao, como as redes neurais artificiais, vida artificial ou algoritmos genticos. Outras como os sistemas imunolgicos artificiais (SIA) tm emergido nos ltimos anos em aplicaes nas mais diversas reas, inclusive em jogos de computadores [Bourg e Seemann 2004]. Esse artigo tem como objetivo demonstrar a aplicabilidade dos sistemas imunolgicos artificiais em jogos, visando obter principalmente um comportamento mais natural e equilibrado nas aes do computador. As Sees 2 e 3 apresentam a base terica, citando trs processos e tcnicas bsicas dos sistemas imunes biolgicos e artificiais. A Seo 4 descreve o Tower Defense que ser usado como estudo de caso e as sees 5 e 6 apresentam os resultados das simulaes realizadas e a discusso.

2 Sistema Imunolgico Biolgico


O sistema imunolgico um complexo conjunto de tecidos, clulas e molculas que trabalham de forma coordenada para defender o organismo de ataques de invasores (conhecidos como patgenos). Ele pode ser dividido basicamente em dois subsistemas inter-relacionados: sistema imunolgico inato e sistema imunolgico adaptativo (tambm chamados de imunidade natural ou nativa e imunidade adquirida ou especfica 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 indivduo saudvel, protegendo o corpo desde seu nascimento. Esse sistema composto por mecanismos de defesa celulares e bioqumicos, os quais respondem rapidamente infeces, podendo destruir os patgenos logo no primeiro encontro. Apesar de ser indispensvel para o organismo, o sistema inato no pode se adaptar a novos patgenos, ou novas mutaes destes [Abbas, Lichtman e Pillai 2007] [Abbas e Lichtman 2008] [Castro e Zuben 1999]. O sistema imunolgico adaptativo tem a funo 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 infeco. Outra caracterstica muito importante nesse sistema a capacidade de se lembrar de patgenos, conseguindo responder a eles de forma mais eficaz quando encontrados novamente [Abbas, Lichtman e Pillai 2007] [Abbas e Lichtman 2008]. As duas clulas mais importantes para o processo de deteco e eliminao de invasores so dois tipos de leuccitos chamados de linfcitos T e linfcitos B (ou III WIA, UniFOA, Volta Redonda - RJ, 2010 45

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 clulas T e B). Essas clulas possuem receptores que so responsveis por detectar as clulas estrangeiras. Qualquer molcula identificada pelos receptores chamada de antgeno e considerada como invasora pelo sistema imune [Aickelin e Dasgupta 2006]. A principal funo das clulas B a produo de anticorpos como resposta aos patgenos. Cada linfcito B produz um tipo nico de anticorpo e cada anticorpo pode reconhecer apenas um tipo de antgeno. As clulas T diferem das clulas B por possurem um receptor especial (TCR) em sua superfcie, com o qual elas identificam pequenos fragmentos de antgenos na superfcie de clulas infectadas ou cancergenas [Castro e Timmis 2002] [Abbas, Lichtman e Pillai 2007] [Castro e Zuben 1999]. 2.1 Seleo Clonal Quando um patgeno reconhecido, o sistema imune deve ter a quantidade necessria de clulas defensoras com a mesma afinidade para elimin-lo, mas em um estado inicial o nmero de linfcitos capazes de identificar o mesmo antgeno limitado. O sistema imunolgico precisa ter um processo que consiga suprir essa demanda de forma rpida e efetiva. Esse processo chamado de seleo clonal. A teoria da seleo clonal estabelece a ideia de que somente as clulas que reconhecem os antgenos proliferem, dessa forma alcanando a quantidade mnima necessria para eliminar os patgenos identificados. A seleo clonal atua tanto com clulas B quanto clulas T [Castro e Zuben 1999] [Castro e Timmis 2002]. 2.2 Seleo Positiva Durante o processo de criao dos linfcitos B e T algumas clulas podem no se desenvolver (no adquirindo receptores) ou no conseguir adquirir uma capacidade mnima para o reconhecimento de antgenos (receptores no produtivos para o organismo). O processo de seleo positiva serve para evitar o acmulo desses linfcitos, selecionando apenas clulas produtivas e teis para o corpo. Nessa seleo apresentado diversas clulas aos novos linfcitos, se esses linfcitos no reconhecerem nenhuma clula do conjunto, eles so descartados [Castro e Timmis 2002] [Abbas, Lichtman e Pillai 2007]. 2.3 Seleo Negativa No processo de seleo negativa acontece o inverso: se os linfcitos reconhecem antgenos prprios eles so descartados. Essa caracterstica de no assimilar clulas prprias como clulas invasoras chamada de tolerncia imunolgica e tambm definida no desenvolvimento dos linfcitos. No processo apresentado milhares de clulas prprias para os linfcitos, se algum deles ligar a uma clula apresentada, o encontro ativa um mecanismo de autodestruio e o linfcito morre [AISWeb 2010].

3 Sistema Imunolgico Artificial


O sistema imunolgico biolgico possui diversas caractersticas importantes do ponto de vista de jogos de computadores, como reconhecimento de padres, deteco de anomalias, tolerncia a rudo, tolerncia a falhas, autonomia, aprendizado, memria, auto-organizao, etc. Ele um sistema natural com um conjunto de funcionalidades III WIA, UniFOA, Volta Redonda - RJ, 2010 46

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 biolgicos [Castro e Timmis 2002]. Um sistema imunolgico artificial (SIA), como o prprio nome sugere, um modelo computacional inspirado no funcionamento do sistema imune biolgico e pode ser usado em diversas aplicaes, por exemplo, em problemas de reconhecimento de padres, deteco de falhas, deteco e eliminao de vrus, deteco de intruso, entre outras [Dasgupta 2006]. Existem diversos algoritmos baseados nesse sistema, de vrios nveis de complexidade e explorando caractersticas diferentes no sistema imune biolgico. Aqui sero abordados trs dos algoritmos mais simples e conhecidos, inspirados nos processos citados anteriormente. 3.1 Seleo Negativa No contexto biolgico, a seleo negativa responsvel por remover os linfcitos que reagem a molculas do prprio organismo, acontecendo no desenvolvimento dessas clulas, antes de sarem pelo corpo. Esse processo garante que os linfcitos percorram o organismo sem causar ativaes falsas no sistema imune [AISWeb 2010][Castro e Timmis 2002]. O algoritmo de seleo negativa inspirado nesse mecanismo biolgico, sendo um dos primeiros modelos de SIA, proposto pela primeira vez em [Forrest et al. 1994] para deteco de mudana de dados causada por vrus no campo de segurana computacional. Esse modelo um dos mtodos de deteco de recursos prprios e no prprios [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 so eliminados, os que sobram do processo formam o conjunto final de receptores prontos para serem usados.

Figura 1. Algoritmo de seleo negativa [AISWeb 2010].

3.2 Seleo Positiva No processo biolgico da seleo positiva, somente os linfcitos que reconhecem algumas molculas prprias especiais recebem permisso para percorrer o corpo, enquanto as outras so descartadas. Esse mecanismo faz com que clulas com pouco III WIA, UniFOA, Volta Redonda - RJ, 2010 47

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 desempenho no finalizem seu desenvolvimento, deixando espao e recursos para clulas mais teis [Castro e Timmis 2002]. Esse algoritmo (Figura 2) semelhante ao da seleo negativa: um conjunto de elementos prprios passado para detectores gerados aleatoriamente, se um detector no reconhecer pelo menos um dos elementos prprios ele descartado [Castro e Timmis 2002].

Figura 2. Algoritmo de seleo positiva.

3.3 Seleo Clonal Se um ou mais antgenos so encontrados, o sistema imunolgico precisa produzir clulas suficientes para elimin-los, isso acontece atravs do processo de seleo clonal, onde os linfcitos que foram estimulados pelos antgenos so usados como modelos para gerar novas clulas. Esse mecanismo faz com que as novas clulas produzidas possuam receptores capazes de identificar os mesmo antgenos. A seleo clonal vlida tanto para clulas B quanto clulas T, a diferena que as clulas B podem sofrer uma pequena mutao para aumentar a afinidade com os antgenos reconhecidos e as clulas T no. Por causa da adaptabilidade via mutao das clulas B, os algoritmos clonais geralmente so modelados com base nelas [Castro e Timmis 2002]. Entre os algoritmos baseados no princpio da seleo clonal o CLONALG se destaca, sendo um dos mais populares e usados. Proposto em [Castro e Zuben 2000a], o algoritmo inicialmente foi desenvolvido para aplicaes de reconhecimento de padres e depois adaptado para resolver tarefas de otimizao [Brownlee 2005] [Castro e Timmis 2002] [AISWeb 2010] [Castro e Zuben 2000a] [Castro e Zuben 2000b]. O algoritmo CLONALG (Figura 3) trabalha com duas populaes: A populao de antgenos Ag (padres a serem reconhecidos) e a populao de anticorpos P. Depois de uma inicializao aleatria da populao P o algoritmo determina a afinidade dos elementos criados para todos os indivduos da populao 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 3. Algoritmo de seleo clonal [AISWeb 2010].

4 Desenvolvimento de um Tower Defense


Para demonstrar a aplicabilidade das tcnicas de SIA, est sendo desenvolvido um jogo no estilo Tower Defense. Nesse tipo de jogo o jogador deve colocar torres em locais estratgicos do mapa para atacar e evitar que as unidades do inimigo alcancem seu objetivo (normalmente alcanar o final do mapa, ou um ponto especfico dele). Para que cada elemento tenha caractersticas diferentes, as torres e as unidades de ataque possuiro trs atributos com valores variveis. Os atributos das torres so velocidade de ataque, raio de viso e dano por ataque. Para as unidades de ataque os atributos so velocidade de movimentao, capacidade de defesa e quantidade de pontos de vida. O jogo ser dividido em turnos com trs fases: manuteno, ao e verificao de resultados. Na primeira fase o jogador de ataque escolhe as unidades que percorrero o mapa e o jogador de defesa posicionar suas torres. Em seguida entra a fase de ao, onde os jogadores no podero "atuar", pois ela serve apenas para calcular os combates e mostrar a animao (no caso da implementao visual). Por ltimo, os resultados sero verificados para definir se chegou ao final do jogo ou no. O jogo terminar quando um dos jogadores alcanarem uma quantidade pr-definida de pontos ou quando for atingida a quantidade mxima de turnos. A princpio o desenvolvimento da inteligncia artificial ficar apenas para o jogador atacante, usando um sistema imunolgico artificial para selecionar as unidades mais eficazes contra a estratgia escolhida pelo jogador defensor.

5 Experimentos Realizados
As primeiras simulaes realizadas usaram apenas seis tipos de unidades (A, B, C, D, E e F), sem considerar seus atributos. Usando a ideia da seleo clonal, o jogador artificial seleciona a unidade com maior pontuao para gerar seu clone. Ele tambm substitui todas as unidades com pontuao abaixo de um nvel mnimo por outras geradas aleatoriamente. Se nenhuma unidade possui uma pontuao abaixo do mnimo esperado, ele seleciona a de menor pontuao e a substitui por outra tambm gerada aleatoriamente.

III WIA, UniFOA, Volta Redonda - RJ, 2010 49

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Na primeira simulao (Figura 4) foram definidas pontuaes fixas para cada unidade, sem variar durante o jogo, como se o jogador defensor no fizesse nenhuma mudana em sua estratgia. possvel verificar que inicialmente o atacante s possua unidades B, D e F, sendo que a unidade D possua maior pontuao. Aproximadamente no turno seis o sistema colocou uma unidade C no jogo e "descobriu" que ela obteve maior pontuao, assim ela continuou a ser clonada at o fim, ficando com cerca de 18 dessas unidades atacando.

Figura 4. Primeira simulao, usando seis tipos de unidades (A, B, C, D, E e F), comeando o jogo com 4 unidades aleatrias e adicionando uma unidade a mais por turno. A quantidade mxima de turnos foi definida como sendo 20 e a quantidade mnima aceitvel de pontuao foi 10.

A segunda simulao (Figura 5) usa os mesmos parmetros iniciais da primeira simulao, mas no turno 10 a pontuao das unidades muda, simulando uma mudana repentina na estratgia do jogador defensor. Novamente possvel ver que a unidade C possui a maior pontuao at a metade do jogo, mas aps a mudana de pontuao a unidade F teve maior desempenho, dessa forma, sendo clonada at o fim do jogo. Na terceira simulao os tipos foram retirados e as unidades so diferenciadas por seus atributos: health representando os pontos de vida, defense representando a capacidade de defesa e speed representando a velocidade. A soma dos trs 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 5. Segunda simulao, usando seis tipos de unidades (A, B, C, D, E e F), comeando o jogo com 4 unidades aleatrias e adicionando uma unidade a mais por turno. A quantidade mxima de turnos foi definida como sendo 20 e a quantidade mnima aceitvel de pontuao foi 30.

Nessa simulao foram definidos trs estgios (simulando as mudanas 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 so os valores ideais para os atributos em cada estgio do jogo.
Tabela 1. Valores ideais para os atributos em cada estgio do jogo

A Figura 6 mostra a mdia dos atributos durante o jogo simulado, possvel 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 cenrio, fazendo com que a defesa se sobressaia. No estgio final, ao turno 13 outra mudana ocorre e o sistema se adequa novamente.

III WIA, UniFOA, Volta Redonda - RJ, 2010 51

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 6. Terceira simulao, mdia de valores dos atributos. A simulao foi iniciada com 20 unidades e pontuao mnima de 30.

6 Discusso
A partir dos dados analisados, pde-se observar o comportamento adaptativo do sistema imunolgico seguindo as mudanas feitas no ambiente. Essa abordagem j elimina o comportamento previsvel e mecnico do computador, pois apesar da adaptatividade demonstrada nas simulaes, o sistema ainda possui elementos aleatrios que fazem com que todas as partidas possuam diferentes respostas para as mesmas aes. Na continuao do projeto, ser mais bem analisada a questo do desequilbrio de habilidade entre o jogador e o computador. Tambm se pretende desenvolver a parte de interao do jogo para testes com jogadores humanos, alm da explorao do mecanismo de memria da seleo clonal para conseguir respostas mais eficientes contra aes j executadas pelo oponente humano.

Referncias Bibliogrficas
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", endereo: http://www.artificial-immune-systems.org. Acesso em 17/06/2010. III WIA, UniFOA, Volta Redonda - RJ, 2010 52

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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. Castro, L. N. and Zuben, F. J. (2000a). The Clonal Selection Algorithm with 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

ANLISE DE IMPLEMENTAES SHADERS APLICADOS NO DESENVOLVIMENTO DE JOGOS ELETRNICOS 1 2 3


Joo Baptista Cardia Neto , Renato de Pontes Pereira , Mauricio Duarte 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 implementao utilizando a engine OpenSource Panda3D. Tambm ser analisado a implementao 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 Introduo
O realismo dos jogos progrediu muito desde o incio da indstria at os dias de hoje. Fazendo uma comparao possvel visualizar que, num perodo de aproximadamente cinquenta e oito anos contando a partir de Tennis for Two, existiu uma evoluo muito grande, saindo de jogos construdos utilizando um osciloscpio at chegar aos consoles e computadores atuais, em que existe um alto realismo grfico [AHL, 1983]. Junto com o lanamento do DirectX 8 vieram os pixel e vertex shaders nas verses 1.0 e 1.1, eles foram os primeiros passos em possibilitar a flexibilidade que artistas e desenvolvedores necessitam para ser possvel a produo de grficos reais. Um shader um programa que pode ser executado no hardware grfico, esta uma forma que os desenvolvedores conseguem implementar seus algoritmos customizados podendo operar os dados que compe suas cenas virtuais, eles podem ser utilizados para criar qualquer tipo de efeito, dando um alto nvel de liberdade e flexibilidade transparecendo a API utilizada [ST-LAURENT, 2004] [SHERROD, 2009]. Atualmente existem trs tipos de shaders diferentes, vertex, geometry e pixel. O primeiro atua para cada vrtice que passado para o hardware grfico, 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 so exibidos na tela. Cada um deles explicado com maiores detalhes na seo de tipos de shaders [SHERROD, 2009].

2 Shaders
As APIs grficas oferecem um conjunto de algoritmos e estados de renderizao que um programador poderia habilitar ou desabilitar em qualquer momento em uma aplicao. Esses III WIA, UniFOA, Volta Redonda - RJ, 2010 54

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 funes fixas (Fixed-Function Pipeline), e ele fornece acesso em alto nvel para o hardware grfico. O grande problema com o pipeline de funes fixas era no existir a possibilidade de o programador desenvolver seus prprios algoritmos e execut-los no hardware grfico [SHERROD, 2008]. Uma forma de o programador conseguir desenvolver seus prprios algoritmos e execut-los diretamente no hardware grfico com a utilizao de Shaders. Um shader um cdigo executvel que programa o pipeline das placas grficas, eles fornecem um alto nvel de flexibilidade e, exatamente por esse motivo, podem ser utilizados para a criao de qualquer efeito que o desenvolvedor tenha em mente [SHERROD, 2008]. possvel trabalhar com trs tipos possveis de shaders: vertex, geometry e pixel shaders. Quando so combinados os trs tipos de shaders o conjunto chamado de programa shader. S possvel a ativao de um tipo ao mesmo tempo, ou seja, no possvel que dois geometry trabalhem nos mesmos dados [SHERROD, 2008]. O vertex shader (figura 2) executado em cada vrtice que passado para o hardware grfico. As entradas vm diretamente da aplicao enquanto outros tipos de shaders recebem a entrada vinda do executado anteriormente. Normalmente so utilizados para a posio dos vrtices usando vrias matrizes e para clculos que so utilizados uma vez por vrtice [SHERROD, 2008]. O geometry shader fica entre o vertex e pixel shader, aps os dados terem sido processados pelo vertex eles so passados para ele (caso exista algum). Eles podem ser utilizados para efetuar a criao de nova geometria e podem operar em primitivas inteiras [SHERROD, 2008]. Ele pode ser utilizado para a emisso de zero ou mais primitivas, quando emitindo mais primitivas do que foi passado inicialmente para o shader realizada gerao de nova geometria e se no for gerada nenhuma primitiva a original descartada. Ele um novo tipo e s disponvel no shader model 4.0 atualmente suportado pelo DirectX 10 e OpenGL 3.0 [SHERROD, 2008]. O pixel shader (Figura 1 - tambm 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].

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

III WIA, UniFOA, Volta Redonda - RJ, 2010 55

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

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

3 A linguagem GLSL
GLSL a linguagem de alto nvel padro da API OpenGL, foi adicionada ao ncleo a partir da verso 2.0 e usa as extenses ARB_shading_language_100, ARB_vertex_shader, ARB_fragment_shader e ARB_shader_objects [SHERROD, 2008]. Variveis so type safe e podem ser declaradas em qualquer lugar dentro de uma funo, a linguagem no suporta casting implcito (ou seja, no possvel assimilar um valor inteiro para uma varivel de ponto flutuantes) mas existem casts explcitos para outros tipos [SHERROD, 2008]. A GLSL na verdade funciona como vrias linguagens relacionadas, elas so utilizadas para a criao de shaders para cada um dos processadores programveis dentro do pipeline de processamento do OpenGL (atualmente so vertex, controle de tessellation, validao de tessellation, geometry e fragment). A maioria dos estados do OpenGL no monitorado ou disponibilizado para os shaders, normalmente variveis so definidas para serem utilizadas como forma de comunicao entre os diferentes estgios do pipeline do OpenGL. Existem alguns poucos estgios que so monitorados e so disponibilizados automaticamente para os shaders e algumas variveis reservadas que fazem interface entre os diferentes estgios do pipeline do OpenGL [KESSENICH, 2010]. Os vertex shaders operam no processador de vertex que opera com entrada de vrtices e seus dados associados. Ele opera em um vertex de cada vez e no substitui operaes grficas que requerem o conhecimento de vrios vrtices ao mesmo tempo [KESSENICH, 2010]. O processador de controle de tessellation uma unidade programvel que opera com a entrada de em um trecho de vrtices e seus dados associados emitindo um novo trecho, neste processador so executados os controles de tessellation shaders. Esse tipo de shader invocado para cada vrtice do trecho de sada. Cada invocao pode ler os atributos de qualquer vertex nos trechos de entrada ou sada, mas s pode escrever atributos para o trecho de sada correspondente. Aps o fim de todas as invocaes os vrtices de sada e os atributos por trecho so combinados para formarem um trecho que ser usado por estgios subsequentes do pipeline. As invocaes so feitas, em sua maior parte, independente sem uma ordem definida de execuo. possvel utilizar a funo barrier() para III WIA, UniFOA, Volta Redonda - RJ, 2010 56

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 controle a ordem da execuo, para isso ela sincroniza as invocaes dividindo efetivamente a execuo do shader em um conjunto de fases [KESSENICH, 2010]. O processador de validao de tessellation uma unidade programvel que valida a posio e outros atributos de um vertex gerado pela primitiva de tessellation usando um trecho de vrtices e seus dados associados. Os shaders que rodam nesta unidade tm a capacidade de computar a posio 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 posio relativa do vertex na primitiva que est passando pelo processo de tessellation. O executvel (que so os shaders de validao de tessellation compilados) escreve a posio e outros atributos do shader [KESSENICH, 2010]. Os geometry shader so executados no processador de geometry e opera numa primitiva de entrada com o nmero de vrtices fixo. Quando invocado pode emitir um nmero varivel de vrtices que so agregados em primitivas que so tipos declarados de sada e passado para os estados subsequentes do pipeline [KESSENICH, 2010]. Os fragment shaders so executados nos processadores de fragment e operam em pixels e seus dados associados. Um shader desse tipo no pode alterar a posio de um pixel, nem acessar um vizinho. Os valores que so computados por ele so utilizados para atualizar a memria de framebuffer ou a memria de textura, dependo do estado corrente do OpenGL ou o comando que ocasionou a gerao do pixel [KESSENICH, 2010].

4 Desenvolvimento de um jogo teste


Para conseguir testar e apurar possveis solues 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 adversrio (mas isso no uma exigncia do gnero). O jogo foi implementado mesclando sprites em 2D e forma poligonais. desejado testar o efeito dos shaders em ambas s situaes, assim sendo, o avatar das personagens controlveis pelo jogador e seus inimigos sero feitos com sprites e os cenrios sero 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 cenrio e o jogador dever ir se deslocando para a direita at encontrar o fim, durante todo o percurso inimigo tentaro 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 simulao de gravidade. A engine utilizada (Panda3D) possui ferramentas para tornar mais fcil a simulao de gravidade, mas essa ferramenta s afeta objetos que tenham polgonos e como o personagem principal do jogo era composto de sprites no foi possvel a utilizao. Por isso foi implementada uma simulao e no utilizada as ferramentas dispostas da linguagem. Depois de concludo a implementao das funes bsicas do game (gravidade, movimentao e animaes) o prximo passo carregar, compilar e dizer quais objetos sero 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 compilao o erro demonstrado como na Figura 5.

Figura 3. Imagem da primeira verso do jogo desenvolvido.

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

Figura 5: Erro de compilao de um shader.

5 Desenvolvimento de um shader
O processo de desenvolvimento de um shader no chega a ter muitas diferenas de um programa comum, durante este trabalho o processo se dividiu em trs partes: Anlise, Desenvolvimento e Teste. O processo de anlise foi desenvolvido em conjunto com o processo de anlise 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 excluso de efeitos que sejam tenham visuais impressionantes, mas que destoam do estilo de arte que foi proposto. Aps escolhidos os efeitos verificados como eles funcionam e, a partir destas informaes, gerado o algoritmo de como cada efeito deve ser implementado. III WIA, UniFOA, Volta Redonda - RJ, 2010 58

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 A prxima 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 mos ferramentas que auxiliem seu trabalho como o ambiente Render Monkey ou OpenGL Shader Builder. Aps a implementao o shader carregado dentro do jogo e a parte de teste feita observando como o ambiente reage aos efeitos programados, caso o resultado obtido no seja satisfatrio o shader deve primeiro ser passar pela anlise novamente e feitas s correes desejadas.

6 Resultados obtidos
Primeiramente foi necessrio um grande estudo nos conceitos de Computao grfica, processo de desenvolvimento de jogos e shaders, a partir deste estudo foi observado que, nas condies atuais e do trabalho, uma das melhores formas para a otimizao de cdigos shaders a observao do assembly gerado, alem de possveis instrues que possam ocasionar possveis lentides em modelos de placas especficas. Tambm foi observado que a precariedade dos primeiros vertex e pixel shader tornam praticamente impossveis a aplicao plena de alguns efeitos e muitas vezes os programadores criavam solues criativas para esse tipo de limitao, com o aumento da liberdade essas solues foram deixadas para trs e existe a possibilidade que a volta de suas implementaes 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 programao python e a engine Panda3D, a verso utilizada para os testes contem um cenrio poligonal e um personagem que consegue se movimentar pelo cenrio. Tambm foi obtido um shader bem simples, que serviu para a compreenso da melhor forma de implementao em GLSL e no funcionamento do pipeline programvel.

7 Discusso
Com os resultados obtidos foi observado que existe a possibilidade de muitos das implementaes feitas hoje em dia de efeitos podem ter seu custo reduzido e, ao programar especificamente para alguma arquitetura de placa de vdeo, possvel aproveitar ao mximo suas caractersticas e compensar seus pontos fracos. O conhecimento da engine extremamente necessrio, muitas vezes o desenvolvedor tem a necessidade de implementar um comportamento que fuja do padro j oferecido pela engine e somente com o conhecimento profundo possvel saber onde e de que forma essas novas funes devem se integrar. A continuidade deste trabalho ser analisar mais profundamente a implementao de shaders e procurar formas de melhorar sua desempenho seja diminuindo sua complexidade ou utilizando tcnicas para ganho de desempenho.

Referncias Bibliogrficas
Ahl, D.H. (1983). Video & Arcade Games, http://www.osti.gov/accomplishments/videogame.html. Acesso em 28/07/2010. endereo:

Kessenich, J., Dave, B., Randi, R. (2006). The OpenGL Shading Language, endereo: 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

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

ARPENALTY JOGO COLABORATIVO COM REALIDADE AUMENTADA

Resumo. A Realidade Aumentada apresentada como uma opo para a implementao de jogos inovadores, envolvendo maior flexibilizao e explorao das caractersticas espaciais para o desenvolvimento cognitivo das pessoas. Este trabalho descreve a implementao de um jogo colaborativo com Realidade Aumentada e discute sua utilizao, mostrando suas restries e potencialidades de evoluo no espao tridimensional. Palavras-Chave: Realidade Aumentada, Jogos Colaborativos, Interao.

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 Introduo
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 restries de material e por leis fsicas, relativas a fatores como a gravidade, o atrito, a inrcia, o choque de corpos, etc. Essas restries foraram o desenvolvimento da maioria dos jogos sobre a mesa, dando-lhes caractersticas planares. Com o uso do computador, a multimdia e a Realidade Virtual foram eliminadas algumas destas restries, dando maior flexibilidade aos jogos. Porm surgiram novos obstculos, como, por exemplo, a necessidade de treinamento em um ambiente estranho ao usurio e o uso de dispositivos especiais como joystick, luva e capacete. Assim, apesar dos benefcios de uma interao mais natural, as necessidades de equipamentos especiais e de treinamento para seu uso acabam limitando o alcance da Realidade Virtual. Recentemente, a evoluo cientfica e tecnolgica propiciou a viabilizao da Realidade Aumentada, que consiste na sobreposio de objetos virtuais gerados por computador em um ambiente real, utilizando para isso algum dispositivo tecnolgico III WIA, UniFOA, Volta Redonda - RJ, 2010 60

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 [Milgram 1994]. Por meio desta tecnologia possvel trazer os jogos virtuais do computador para o espao do usurio, permitindo sua manipulao direta com as mos ou por meio de elementos simples como placas ou pedaos de papel, familiares maioria das pessoas. Nesse caso, os jogos passam a ser potencializados, atravs de maior capacidade de visualizao e interao com os elementos virtuais do jogo, dispostos no espao tridimensional, emitindo sons e mostrando animaes, alm de poderem ser replicados com baixo custo por ser quase estritamente software. Isso propicia ambientes diversos, incluindo a explorao dos benefcios dos jogos educacionais, em funo de suas caractersticas ldicas, de envolvimento, de desenvolvimento de habilidades e de construo do conhecimento. Entretanto, para desenvolver tais ambientes necessria a utilizao de algum software e dispositivos tecnolgicos. Este trabalho apresenta a implementao de um jogo colaborativo com Realidade Aumentada e discute a sua utilizao, enfatizando suas caractersticas e vantagens para o entretenimento e aprendizado. Sendo assim, a Seo 2 introduz jogos com Realidade Aumentada e apresenta aplicaes correlatas. A Seo 3 descreve o jogo desenvolvido. Finalmente, na Seo 4, so apresentadas as consideraes finais.

2 Jogos com Realidade Aumentada


O jogo permite que seu usurio estabelea oportunidades de encontrar solues, criar estratgias e interagir com outros usurios, ocasionando ento, o processo de atividades colaborativas e ampliando as estratgias coletivas de uma maneira estimulante e ldica. Assim, o jogo reconhecido como meio de fornecer ao usurio um ambiente agradvel, motivador, planejado e enriquecido, proporcionando a aprendizagem de vrias habilidades [Valentim 2010]. Os jogos podem ser apresentados em diversas maneiras, tais como no papel, verbal, manual ou eletrnico. Os jogos no papel, verbal e manual, no necessariamente necessitam de dispositivos tecnolgicos para sua execuo, fazendo com que o usurio vivencie um processo de interao natural. No entanto, os jogos eletrnicos permitem que os usurios passem por situaes diversas em um mundo virtual, ultrapassando os limites da lgica e da imaginao, utilizando as mos diretamente ou atravs de dispositivos especiais para apoiar a interao. A principal deficincia dos jogos eletrnicos convencionais a necessidade de adaptao aos dispositivos de interface no naturais. Portanto, ao ser desenvolvido, o jogo deve fornecer um ambiente enriquecido, capaz de estimular e enriquecer a experimentao do usurio por meio da interao, propiciando o desenvolvimento do raciocnio e da habilidade cognitiva. Com o avano tecnolgico, atravs de tcnicas de Realidade Aumentada, tornouse possvel associar ao mundo real ambiente virtual e proporcionar ao usurio uma experincia natural, agradvel e motivadora. III WIA, UniFOA, Volta Redonda - RJ, 2010 61

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 fsico disposto na frente do usurio, visualizados diretamente no capacete ou indiretamente no monitor, por exemplo. Alm disso, o usurio com uso das mos, por exemplo, consegue manipular os objetos reais e virtuais do ambiente misturado, sem a necessidade de equipamentos especiais. Esta tecnologia permite que o usurio tenha uma interao atrativa e motivadora com tais ambientes e por conseqncia, o desenvolvimento de habilidades e a construo do conhecimento. Para o desenvolvimento das aplicaes deste artigo utilizou-se a ARToolKit (Augmented Reality Toolkit) [Kato, Billinghurst e Poupyrev 2000], uma biblioteca, com cdigo aberto e gratuita, apropriada para desenvolver aplicaes de Realidade Aumentada, que faz uso de tcnicas de Viso Computacional para o reconhecimento de padres e insero dos objetos virtuais no ambiente real. A estratgia de concepo de solues com uso da ARToolkit fundamenta-se em um conjunto de procedimentos. Inicialmente, a imagem capturada pela cmera transformada em valores binrios (Preto & Branco). Essa imagem analisada pelo software, procurando por regies quadradas que possam indicar a existncia de uma marca. Assim, quando uma marca (marcador) reconhecida, ele examina o interior da mesma fazendo uma busca pelo smbolo desenhado. Em seguida, este smbolo capturado e comparado com os smbolos pr-cadastrados na biblioteca. Por fim, se for encontrada alguma similaridade entre smbolos capturados com smbolos prcadastrados, considerado ento que foi encontrado um dos padres de referncia. Dessa forma, a ARToolKit utiliza o tamanho conhecido do quadrado e a orientao do padro encontrado para calcular a posio real da cmera em relao a posio real do marcador. Assim, uma matriz 3x4 gerada, contendo as coordenadas reais da cmera em relao ao marcador. Esta matriz usada para calcular a posio das coordenadas da cmera virtual. Se as coordenadas virtuais e reais da cmera forem iguais, o objeto virtual desenhado precisamente sobre o marcador real. A Realidade Aumentada, pelo fato de permitir trabalhar com objetos virtuais no espao tridimensional, traz um grande potencial de ampliao dos limites dos jogos tradicionais, rompendo a barreira da gravidade e permitindo posicionar peas no espao, sem a necessidade de elementos auxiliares. A comunidade internacional e brasileira de Realidade Aumentada j vem desenvolvendo jogos tanto para entretenimento quanto para aplicaes educacionais. Alguns desses trabalhos so descritos nesta seo. 2.1 Jogos de Palavras A proposta deste jogo [Zorzal et al 2008] fazer a juno de letras para formar palavras, resgatando a imagem referente com tcnicas de Realidade Aumentada para enriquecer os resultados finais. A ARToolKit utiliza marcadores de referncia com formas retangulares ou quadradas. Essas marcas no precisam ser necessariamente uma pea inteiria, podendo III WIA, UniFOA, Volta Redonda - RJ, 2010 62

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 ser compostas por vrios fragmentos, desde que ao final o marcador formado esteja satisfatoriamente alinhado e possibilite o reconhecimento do padro quadrado ou retangular. Baseando-se nisso, foram desenvolvidos marcadores com letras em seus interiores, e cadastradas combinaes de palavras, formando assim marcadores compostos. Quando o usurio forma uma seqncia de letras previamente cadastrada, o ARToolKit mostra um objeto virtual associado quela combinao. A Figura 1 (a) apresenta alguns modelos de placas cadastradas junto aos seus respectivos objetos virtuais, usando palavras em ingls. Essas caractersticas fazem desse jogo, alm de um timo entretenimento, uma fonte de aplicaes prticas como alfabetizao, aprendizado de idiomas, entre outras. O posicionamento no espao dos objetos virtuais resultantes das montagens das palavras permite que sejam montados cenrios virtuais ajustados pelo usurio, 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 visveis na mesa para o usurio. A Figura 1 (b) mostra algumas peas utilizadas e o cenrio do jogo.

Figura 1. (a) Exemplo de placas e objetos virtuais correspondentes. (b) Peas e o ambiente do quebra-cabea com palavras.

2.2 ARSoccer O ARSoccer foi desenvolvido por pesquisadores da Universidade de Paderborn na Alemanha, com o intuito de mostrar a interao entre objetos virtuais e o usurio utilizando a cmera disponvel em alguns celulares [Paelke, Reimann e Stichling 2004]. Atualmente distribudo para o iPhone [Laan Consulting Corp 2010]. O jogo permite ao usurio fazer embaixadinhas com a bola virtual, mostrada no visor do dispositivo, com o objetivo de no deix-la cair. Para isso o usurio 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 resoluo, os movimentos no podem ser bruscos, caso contrrio no sero detectados pela cmera e o movimento poder no ser reconhecido. A Figura 2 apresenta o ambiente do jogo ARSoccer.

III WIA, UniFOA, Volta Redonda - RJ, 2010 63

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 2. ARSoccer no iPhone.

2.3 SymBall O SymBall foi desenvolvido como uma variao do jogo CamBall [Woodward et al 2004]. Diferentemente da verso tradicional do jogo para computadores, onde se usam raquetes virtuais para se jogar tnis de mesa pela internet, por exemplo, o SymBall (Figura 3) utiliza as cmeras dos dispositivos mveis como as raquetes. O jogador pode jogar contra o computador ou contra outro usurio, atravs de Bluetooth. Movendo o dispositivo para os lados, o jogador pode controlar a raquete projetada na tela, e dessa forma tentar acertar a bolinha lanada pelo seu oponente.

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 informaes e sobrepem os espaos fsicos dos vrios usurios (mesa, por exemplo), utilizando uma rede de computadores. Assim, cada usurio pode colocar objetos virtuais sobre a mesa, de forma a visualizar todo o conjunto de objetos e manipul-los. Usando ARToolKit, cada usurio poder colocar suas placas no campo de viso da webcam, enxergando seus objetos e os objetos dos outros que aparecem no cenrio, em funo de suas posies, promovendo assim a colaborao remota. Desenvolveu-se um jogo colaborativo para cobranas de pnaltis com Realidade Aumentada utilizando dois computadores remotos, denominado ARPenalty. Na implementao, a comunicao em rede baseou-se em sockets. Paralelamente, a ARToolKit foi utilizada para gerar todo ambiente do jogo e permitir o compartilhamento do ambiente dos usurios, de forma que todos pudessem interagir no ambiente. O funcionamento do jogo similar ao jogo convencional. Basicamente, a aplicao suporta dois jogadores, na qual um dos participantes ser o jogador III WIA, UniFOA, Volta Redonda - RJ, 2010 64

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 responsvel por cobrar o pnalti e o outro ser o jogador responsvel por defender o pnalti cobrado. O esquema da interao entre os dois jogadores pode ser visualizado na Figura 4.

Figura 4. Comunicao entre os jogadores.

Nas aplicaes que utilizam a biblioteca ARToolKit como suporte possvel saber quantos marcadores esto cadastrados na aplicao, quais deles esto visveis no ambiente (no campo de viso da cmera de vdeo) e quais no esto visveis (oclusos). Neste contexto, por meio da obstruo de marcadores tambm possvel determinar diversas aes que podem ser usadas para acionar diferentes eventos na interface do usurio. Inicialmente, o jogador responsvel pela cobrana do pnalti dever chutar a bola virtual e, a partir das caractersticas de seu chute, o sistema determina a velocidade e a direo em que a bola ir ao outro usurio (goleiro). Para determinar a direo da bola, foi implementado um tapete com 15 marcas fiduciais, distribudas em uma matriz de trs linhas e cinco colunas. A bola virtual se encontra na posio [0][2] da matriz, como apresentado na Figura 5.

Figura 5. Tapete com a bola virtual.

A partir da ocluso das marcas no tapete possvel determinar a velocidade e a direo em que a bola virtual ir percorrer em direo ao usurio (goleiro), conforme apresentado na Figura 6.

Figura 6. Direo dos chutes.

III WIA, UniFOA, Volta Redonda - RJ, 2010 65

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 As condies de chutes para fora do gol tambm foram tratadas (Figura 7). Para que esta condio seja verdadeira, marcas especficas no tapete devem ser oclusas, independente se as demais marcas sejam oclusas ou no.

Figura 7. Chutes para fora.

Para defender a bola virtual, o jogador (goleiro) deve usar uma marca anexada nas luvas, a fim de determinar a posio de suas mos. Assim, aps o jogador responsvel por cobrar o pnalti dar o chute, o jogador goleiro poder ver a bola vindo a sua direo, 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 mos na direo correta da bola. A bola poder alcanar cinco direes diferentes, sendo que apenas trs destas so em direo ao gol. Conforme contextualizado, o chute poder ser para frente, direita ou esquerda, tendo ainda duas opes de chute para fora (Figura 8). A altura da bola pode ser aleatria ou dependente da velocidade do movimento do p do usurio no momento do chute.

Figura 8. O gol e suas posies.

Para simular a movimentao da bola ao longo do tempo, uma modelagem fsica foi feita tomando como base as leis da mecnica clssica. Alm de calcular a posio da bola em funo do tempo, foi necessrio definir algumas restries para que exista possibilidade de gol. O ARPenalty modela um jogo de cobrana de pnaltis. Para tanto, necessrio considerar algumas variveis para o modelo. Sejam L a largura do gol, D a distncia da bola ao centro do gol, o ngulo formado entre a projeo da bola no solo e a direo de D e o ngulo formado entre a bola e o solo na direo perpendicular ao mesmo.

III WIA, UniFOA, Volta Redonda - RJ, 2010 66

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Considerando a velocidade inicial da bola, pode-se obt-la a partir de suas projees nos eixos x, y e z, respectivamente. Tomando como base as Figuras 9 e 10, a velocidade inicial da bola ser obtida conforme a Equao (1). (1)

Figura 9. Trajetria.

Seja

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

assumindo que o mdulo de seja constante. Como o campo gravitacional atua apenas na direo perpendicular ao solo, ento: (2) Com isso, pode-se calcular a posio da bola em funo do tempo (Equao (3)). Seja a posio da bola num dado instante, logo:

(3) A partir do clculo da posio da bola em funo do tempo, foram incrementadas no modelo as restries para que haja possibilidade de gol. Seja o maior ngulo no plano xy em relao direo de D, tal que haja possibilidade de gol. Se , ento no h possibilidade de gol, independentemente dos valores de e . Nesse caso, a bola iria para fora pelas laterais do gol.

Figura 10. Lanamento da bola em um sistema tridimensional.

III WIA, UniFOA, Volta Redonda - RJ, 2010 67

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 restrio deve ser satisfeita de acordo com a Equao (4). (4)

Figura 11. Metade do gol.

Para poder modelar a restrio de gol em um movimento na vertical, necessrio descobrir o tempo mximo de movimento da bola. Seja s(t) a posio da bola no eixo x no instante t. Seja horizontal. Pode-se encontrar o tempo mximo de movimento da bola na fazendo (Equao (5)). Logo:

(5) Seja h(t) a posio da bola no eixo Z no instante t. Seja de movimento da bola na vertical. Pode-se encontrar (Equao (6)). Logo: o tempo mximo

) fazendo

(6) O modelo restrito para um nico movimento oblquo, ou seja, no simulada a rebatida da bola no cho. Ento, deve-se encontrar o mnimo entre o tempo mximo de movimento na vertical e o tempo mximo de movimento na horizontal (Equao (7)). Assim: (7) Calculado , pode-se encontrar a restrio de gol na direo vertical. Para que haja possibilidade de gol (Equao (8)), duas restries devem ser satisfeitas: (1) , visto que a bola precisa percorrer a distncia D no eixo X para alcanar o gol; (2) . Logo:

III WIA, UniFOA, Volta Redonda - RJ, 2010 68

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

(8)

4 Consideraes Finais
Os jogos com Realidade Aumentada permitem que os usurios tenham uma viso enriquecida e ampliada do ambiente. Ao lidar com os objetos virtuais tridimensionais sobrepostos ao cenrio real, o jogador pode estimular sua capacidade de percepo e raciocnio espacial. Alm de aumentar a viso do usurio com objetos virtuais postos em seu ambiente fsico, tambm possvel ampliar sua audio com a execuo de sons especficos para cada ao tomada mediante os objetos gerados. Esta caracterstica pode ser includa tambm na aplicao ARPenalty e em outros jogos. Para o correto funcionamento, em sistemas deste mbito, necessrio que objetos reais e virtuais estejam devidamente alinhados para que o usurio tenha uma completa iluso de coexistncia dos dois ambientes. Este alinhamento chamado de registro e tem como objetivo informar o sistema sobre a posio e as dimenses de objetos reais que iro compor o cenrio visualizado. Problemas relacionados ao registro podem ser constantes e um conhecimento prvio 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 implementao destes sistemas, que podem ser auxiliados por tcnicas de Viso Computacional ou sensores de movimento e orientao. Outro problema encontrado foi a questo do reconhecimento de marcadores (marcas responsveis por fazer o mapeamento do objeto virtual para o cenrio real), principalmente porque exige recursos de iluminao e posicionamento de cmera e/ou observador de forma adequada. Problemas relacionados ao reconhecimento dos marcadores podem estar ligados ambientes com iluminao inadequada (pouca ou muita iluminao) ou com a ocluso dos marcadores, quando partes do marcador so obstrudas, fazendo com que o padro do marcador no seja reconhecido. Os jogos com Realidade Aumentada tm um potencial muito grande de desenvolvimento, que at agora foi pouco explorado. A rea de trabalhos colaborativos, especificamente, apresenta um espao interessante de desenvolvimento, em funo da existncia de mltiplos usurios interagindo em um mesmo espao compartilhado. Esses ambientes exigiro novas formas de interao, gerando novas interfaces que devero facilitar o trabalho das pessoas e o seu desenvolvimento cognitivo. O Grupo de Pesquisa em Tecnologias para Interao da Universidade Federal de So Paulo tem trabalhado no desenvolvimento de diversos ambientes utilizando Realidade Aumentada, e atualmente trabalha em testes dos mesmos.

Referncias Bibliogrficas
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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 Aplicaes. Livro do Pr-Simpsio; IX Symposium on Virtual and Augmented Reality, Petrpolis RJ, 2007. Laan Consulting Corp. (2010) Augmented Reality http://bit.ly/ARSoccer. Acesso em 25 de Setembro de 2010. Sports, endereo:

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: importncia para o desenvolvimento neuropsicolgico. Disponvel em: <http://www.profala.com/arteducesp60.htm>. Acesso em: 14 de Outubro de 2010. Woodward C., Honkamaa P., Jppinen J., Pykkimies 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 Jnior, E. A. (2008) Aplicao de Jogos Educacionais com Realidade Aumentada. RENOTE - Revista Novas Tecnolgicas na Educao, Porto Alegre, v.6, n.1, julho de 2008.

III WIA, UniFOA, Volta Redonda - RJ, 2010 70

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 Informao, Centro Universitrio de Volta Redonda (UniFOA), Volta Redonda-RJ, Brasil {unisei, rita}@arbain.com.br, {castrodesouza, cadu.vieira}@gmail.com

Resumo. Este artigo apresenta a soluo Thin Client como alternativa, econmica e segura, ao modelo computacional massivamente utilizado atualmente no meio empresarial. Aonde, paradoxalmente, concedido inicialmente aos clientes, equipamentos e recursos tecnolgicos, atravs de computadores, para posteriormente, em uma ao permanente, controlar ou limitar estes recursos de forma a garantir a segurana, 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 Introduo
A soluo Thin Client consiste em computadores interligados em rede atravs de uma arquitetura baseada em servidor, no qual o computador cliente possui poucos ou at mesmo nenhum aplicativo ou dispositivo de entrada e sada instalado, sendo totalmente dependente do servidor para a execuo das aplicaes 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 mquina normal. Tais dispositivos necessitam tipicamente de uma pequena imagem de boot para inicializar uma conexo com a rede e utilizar um navegador web dedicado ou uma conexo com uma rea de trabalho remoto. O projeto desses terminais leva em considerao apenas funcionalidades que venham a ser teis para programas de interface de usurio. O armazenamento no realizado em discos rgidos impossibilitando que os mesmos sejam corrompidos por um software malicioso ou incompatvel. Para esse fim so utilizados dispositivos como cd-rom, memria flash e discos virtuais de rede, garantindo baixos custos de manuteno e o aumento do tempo mdio entre falhas (MTBF - Mean Time Between Failures) [NOGUEIRA, 2010]. III WIA, UniFOA, Volta Redonda - RJ, 2010 71

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 implantao, vantagens e desvantagens desta tecnologia sobre a computao convencional no mbito empresarial explorando, ainda, um estudo de caso de sucesso de implantao desta tecnologia em um ambiente empresarial.

2 Rede Corporativa
O ambiente computacional empresarial surgiu em meio a utilizao de equipamentos limitados de computao, onde possua-se um servidor central que armazenava e processava todas as aplicaes e os terminais burros clientes que acessavam este computador central. Esta limitao tinha como um efeito colateral a segurana de que os terminais seriam usados apenas para o fim que foram destinados. Com a evoluo tecnolgica, as empresas adotaram computadores pessoais em substituio aos terminais de dados, criando como efeito colateral indesejvel, perda de informao e produtividade. Para controlar este efeito, as empresas investem massiva e permanentemente, em solues de segurana tais como anti-vrus, firewall ou sistemas de controle de admisso como Network Access Control (NAC) da Cisco. 2.1 Tecnologia Thin Client Alguns fabricantes perceberam que as empresas na verdade usavam suas estaes de trabalho como terminais de entrada e sada modernos, ou seja, um terminal grfico, porm com certa garantia de que os dados estariam seguros em um servidor central, facilitando a sua proteo e recuperao. Perceberam tambm um maior custo financeiro e operacional, para restabelecimento de uma estao de trabalho principalmente em funo das partes mveis como o hard disk e das medidas para proteo dos dados nele contido, bem como a re-instalao, configurao de aplicativos e os testes necessrios para que um usurio de uma estao de trabalho retorne a operao. Outro ponto importante foi vida til de uma estao de trabalho, que para ser considerada operacional em um ambiente corporativo, precisava ser constantemente atualizada para acompanhar as exigncias da tecnologia. Diante deste cenrio, fabricantes desenvolveram uma nova verso dos ditos terminais burros, criaram um hardware especfico com baixo poder de processamento sem partes mveis e com interface grfica 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 soluo como Network Computer ou NC. O mercado batizou simplesmente de cliente magro ou Thin Client. Suas principais caractersticas so [Greenberg 2000]: Longa vida til sem upgrades; No requer instalao de aplicativos ou mesmo de sistema operacional; Toda a configurao pode ser armazenada em um computador central; A inicializao completa do dispositivo pode levar apenas 40 segundos; Possui recursos grficos similares a de uma estao grfica comum; Consumo de energia 90 vezes menor que uma estao de trabalho; III WIA, UniFOA, Volta Redonda - RJ, 2010 72

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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-instalao de aplicativos; No possui partes mveis; Todos os dados so armazenados no servidor de aplicao; Economia de licenas (por exemplo, para o anti-vrus necessria somente uma licena no servidor de aplicao).

3 Servidor de Aplicao
No modelo computacional baseado em servidor, todas as aplicaes so processadas em um servidor central que responde pelo processamento de aplicaes e armazenamento de arquivos. Os computadores, usados como estao de trabalho, pelos usurios possuem apenas o papel de entrada de informaes (teclado e mouse) e sada de informaes (tela e impressora). Vrios desenvolvedores criaram aplicaes e protocolos especficos para comunicao entre este servidor de aplicao e as estaes de trabalho. 3.1 Tecnologias de Acesso Remoto Todo o acesso ao servidor de aplicao realizado de forma remota pelas estaes de trabalho em um modelo Computacional Baseado em Servidor utilizando a tecnologia desenvolvida por vrios fabricantes especificamente para este tipo de acesso [Mathers 2004]. 3.1.1 Citrix Esta fabricante norte americana desenvolveu o conceito das novas geraes de terminais, atravs de sua tecnologia Citrix Multwin e de seus servidores Winfrane, Metaframe, Presentation Server e, a soluo atual, XenApp. Estas plataformas utilizam o protocolo ICA (Independent Computing Architeture) e oferecem um amplo conjunto de ferramentas de gerenciamento. A soluo 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 conexes de baixa velocidade, possibilitando que as aplicaes sejam executadas de forma eficiente sobre qualquer infra-estrutura de comunicao, incluindo roteadores, linhas discadas, etc. Na tecnologia Citrix, nem dados e arquivos executveis trafegam na rede, o trfego gerado diminui e apenas uma pequena frao gerada pela aplicao enviada. Somente as modificaes das telas, os movimentos do mouse e os caracteres digitados no teclado so enviados atravs da rede e dos meios de comunicao permitindo que os usurios locais ou remotos obtenham uma melhoria significativa no tempo de resposta em seus aplicativos, mesmo atravs de redes congestionadas. 3.1.2 Microsoft A empresa norte americana desenvolveu a sua soluo 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 caractersticas semelhantes ao do III WIA, UniFOA, Volta Redonda - RJ, 2010 73

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 procolo ICA, contudo com limitaes de uso, gerenciamento e performance. O Terminal Services herdou algumas das qualidades da Citrix e todas as suas limitaes, sendo mono-plataforma do lado do servidor, permitindo sua instalao somente em servidores Windows. Devido ao seu custo menor, largamente usada em todas as plataformas de servidores Microsoft a partir da verso Windows NT 4.0 TSE j possuem o Terminal Services. 3.1.3 Graphon Tambm de origem americana, desenvolveu a sua soluo de terminais GO GLOBAL a partir da modificao do proto X11 (um protocolo para a publicao de aplicaes grficas do Unix existente desde a dcada de 80) dando origem ao RXP (Rapid X Protocol). O GO GLOBAL uma soluo multi-plataforma do lado servidor, permitindo publicar aplicaes a partir de servidores Windows Server 2003, Linux e Unix (SUN, IBM e HP). As solues Citrix, Microsoft e Graphon so multi-plataforma do lado cliente, permitindo o acesso a partir de qualquer estao com sistemas operacionais como Windows 98, Windows 2X, Windows XP, Windows Vista, Windows 7, Windows CE e Linux de qualquer distribuio (Red Hat, Suse, Debian e outros). O acesso ao servidor de aplicao realizado atravs de softwares cliente especial ou de navegadores Web com plugins fornecidos pelos fabricantes em tempo de execuo [Graphon 2007].

4 O Equipamento Thin Client


O dispositivo Thin Client um hardware projetado para possuir poucos recursos e executar, praticamente, todas as suas aplicaes 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 cdigo para o acesso remoto ao servidor de aplicao. O Thin Client o resultado da observao 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. Solues Thin Clients focam a segurana, economia, praticidade e robustez. Em caso de queima de uma unidade, basta apenas substitu-la sem a necessidade de instalar ou configurar aplicativos, antivrus, diretivas e nem restaurar arquivos. No possui ventoinhas e consume pouca energia, portanto no precisa de refrigerao rgida externa ou de dispositivos de condicionamento eltrico. Normalmente possuem um boot rpido, 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, no so recomendados para uso em ambientes caseiros, multimdia, ou que fazem uso de aplicaes grficas onde a dinmica de tela ou interao com o usurio intensa, como jogos e aplicaes de desenho. So recomendados para ambientes corporativos, mas somente nos postos que no necessitem destas caractersticas.

III WIA, UniFOA, Volta Redonda - RJ, 2010 74

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

5 Computador Convencional
Um computador convencional no possui as limitaes quanto a sua aplicao, faz tudo que um Thin Client capaz, e muito mais. Em ambientes corporativos possibilita ao usurio us-lo de forma recreativa e, intencionalmente, ou no, danificar o equipamento atravs da instalao e remoo de arquivos ou aplicativos. Computadores convencionais focam a velocidade, flexibilidade e independncia do seu usurio. Possuem ventoinhas (para dissipar a alta potncia consumida e gerada em forma de calor) e partes mveis que se desgastam com o tempo tornando-os mais frgeis e suscetveis a temperatura e variaes eltricas. Normalmente um condicionador eltrico recomendado para evitar perdas de informao 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 adoo de softwares especficos ou diretivas de segurana usadas em ambientes corporativos para este fim. Sempre necessrio um sistema de antivrus e de procedimentos de atualizao do sistema operacional. Em caso de pane, no basta apenas substituir o equipamento, tambm necessrio a instalao, re-configurao de aplicativos e restaurao de arquivos. Em virtude de seus muitos recursos, os computadores convencionais so usados tanto em ambientes caseiros como corporativos. Contudo, neste ltimo, a um alto custo operacional envolvido para restringir e controlar as interaes do usurio com estes equipamentos, para que ele se comporte e tenha os benefcios de um Thin Client nas corporaes.

6 Estudo de Caso: Supermercados Bahamas


O cliente possua a necessidade de um sistema de alta disponibilidade para atendimento ao seu centro de distribuio, considerado a rea mais crtica da empresa, por ser a responsvel pela logstica e distribuio para abastecimento de cerca de 30 unidades no estado de Minas Gerais. Problemas neste departamento tinham um impacto direto nas operaes das unidades e, consequentemente, no faturamento da empresa. O centro de distribuio funciona 24 horas por dia e 7 dias por semana e operava com computadores convencionais e sistema operacional Windows. Para manter esta operao, era frequente a interveno tcnica para restabelecimento das estaes de trabalho e a equipe de planto se fazia necessria constantemente para resolver problemas de hardware, ou problemas causados pelos prprios usurios como a instalao de aplicativos no autorizados, uso recreativo dos equipamentos e consequentemente a remoo de vrus ou a re-instalao do sistema operacional. Para atender o cliente foi desenvolvida uma soluo baseada em 40 Thin Clients inicialmente. Para o servidor de aplicao foi escolhido o servidor Blade IBM de alta disponibilidade com sistema operacional Windows Server 2003 Enterprise Edition e Terminal Server. O protocolo de comunicao utilizado foi o RDP. A soluo 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 reduo em relao aos 450W utilizados anteriormente por estao, ou seja, o consumo III WIA, UniFOA, Volta Redonda - RJ, 2010 75

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio 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 trs computadores que eram usados pelo cliente. Pela prpria natureza dos dispositivos, a segurana foi garantida e ampliada atravs de diretivas que impedem a instalao de novas aplicaes e o uso de dispositivos removveis que, por padro na soluo Thin Client, so bloqueados. Em mais de 18 meses de operao, no foi registrado nenhuma falha com os dispositivos. A implantao e operao da soluo foi totalmente transparente para os operadores considerando que a nica interao fsica com os dispositivos um boto liga e desliga. Nenhum treinamento foi necessrio para os operadores ou administradores de TI (Tecnologia de Informao) e a substituio dos equipamentos foi realizada de forma gradativa e paralela ao sistema convencional em produo. O servidor Linux (virtualizado) o responsvel pela carga inicial e configurao do dispositivo Thin Client passando parmetros de configurao na inicializao do dispositivo. Na inicializao, o dispositivo Thin Client recebe um endereo da rede IP (Internet Protocol) do cliente e logo em seguida, um mini sistema operacional que ser responsvel pela sua carga inicial e conter a configurao dos perifricos (teclado, mouse e vdeo), a especificao da interface de interao com o usurio (Windows ou Linux) e a especificao do servidor de aplicao que ser usado por cada unidade Thin Client. O mini sistema operacional (mini SO) carregado na inicializao possui um aplicativo de conexo que possibilita a sua comunicao com o servidor de aplicao. Neste estudo de caso, o aplicativo de conexo usado permite a conexo dos dispositivos Thin Clients ao servidor de aplicao Windows 2003, atravs de um Client Terminal Services desenvolvido para o Sistema Operacional Linux. Todo este processo de inicializao leva cerca de 40 segundos. Toda a especificao dos parmetros de configurao realizada somente no servidor Linux virtualizado atravs de uma console gerenciada via Web. A Figura 1 apresenta a topologia e o processo de inicializao dos dispositivos Thin Clients.

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

III WIA, UniFOA, Volta Redonda - RJ, 2010 76

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

7 Consideraes Finais
A soluo Thin Client deve ser vista como um complemento ou alternativa computacional eficiente e vivel somente quando mensurado o ambiente onde ser implementada. Apesar de suas inmeras vantagens, possui restries em relao ao seu uso e um dimensionamento incorreto dos servidores ou mapeamento impreciso das aplicaes que sero executadas neste ambiente podem comprometer ou inviabilizar por completo o seu uso. Diferentemente de uma soluo computacional convencional, o desenvolvimento de um projeto para implantao de Thin Clients deve ser realizado por especialistas, que devero se encarregar de toda a especificao da topologia, sistema operacional dos servidores, protocolo de comunicao, contingncia, dimensionamento de switches, escolha dos modelos Thin Clients, mapeamento das aplicaes do cliente, impacto quanto a utilizao dos recursos dos servidores e especificao do hardware dos servidores para atender o nmero de Thin Clients envolvidos. A melhor forma de entender a tecnologia Thin Client compreender o modelo computacional baseado em servidor, dos primrdios da computao em que ela se baseia. A total dependncia de um servidor central compensada pelo controle e gerncia mais rgida, econmica e eficiente. A tecnologia, atualmente disponvel, possibilita que esta dependncia em um nico servidor seja dividida em um regime de balanceamento de carga automtico com outros servidores de forma que, na eventual falha de um servidor, os outros assumam o controle das aplicaes. Plataformas como a Citrix e Graphon fazem este tipo de gerncia de forma automtica. A economia financeira envolvida no projeto no pode ser mensurada, simplesmente, atravs de uma comparao direta com a computao convencional, considerando que a maior vantagem da tecnologia Thin Client no mbito operacional. Para esta comparao financeira, o cliente deveria ter o histrico de atendimentos, contendo o tempo de parada de um posto de trabalho, energia eltrica gasta por equipamento, peas trocadas e o custo relativo a estes eventos, ou seja, o custo anual de manuteno e atualizao de equipamentos e o impacto na produo ou operao nas eventuais intervenes e normalmente o cliente no possui essas informaes. Para uma comparao financeira direta, sem o histrico do cliente, apenas o custo de energia eltrica de um Thin Client em oposio ao de um computador convencional ou eventual economia de licena pode ser mensurado. Esta complexidade na especificao, ou demonstrao de viabilidade, da tecnologia Thin Client, justifica o motivo pelo qual esta soluo, mesmo a mais de uma dcada no mercado, no ser largamente utilizada ou mesmo conhecida por grande parte de especialistas da rea. Mas o cuidado na anlise e elaborao desta especificao vital para garantir o sucesso e viabilidade de sua implantao, 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Referncias Bibliogrficas
Ansari, N., Tiwari, S. and Agrawal, N. (2005). Practical Handbook Of Thin-Client Implementation, New Age Internacional. Graphon. (2007). GO Global Customer Story, endereo: 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?, endereo: 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., endereo: http://marcelonogueira.wordpress.com/category/tecnologia/. Acesso em: 22/03/2010. Pinheiro, J. M. S. (2004). Computao Baseada em Servidor, endereo: 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 Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

COMPOSIO DINMICA DE SERVIOS CATEGORIZADOS EM CAMADAS POR COMPUTAO PARALELA 1


1

Rosenclever Lopes Gazoni Curso de Sistemas de Informao, Centro Universitrio de Volta Redonda (UniFOA), Volta Redonda-RJ {rosenclever, rosenclever.gazoni@foa.org.br}

Resumo Este artigo apresenta uma verificao da possibilidade de evoluo da composio dinmica de servios da abordagem baseada em qualidade de servios de modo a identificar mecanismos de categorizao dos servios antes de sua classificao, realizar classificaes para cada camada identificada concorrentemente e agrupar as solues obtidas para atender aos requisitos de um solicitante. Palavras-chave: Composio dinmica de servios, Servios Web, Computao Paralela

Layers Services Dynamic Composition by Paralell Computing


Abstract This paper presents a view of an evolution possible at Services Dynamic Composition according Quality Services Approach in order to identify mechanisms of categorization of services before its classification, to produce concurrency classification to each identified layer and group solutions to supply requirements. Keywords: Services Dynamic Composition, Web Services, Parallel Computing

1 Introduo
Servios Web so programas que so acessados atravs da Internet e esto de acordo com um conjunto de padres abertos. Tambm fornecem um caminho direto para integrao de sistemas distribudos [Antoniou e Harmelen 2004]. A arquitetura de Servios Web baseia-se na troca de mensagens baseadas em XML, elas so consideradas independente de plataforma, linguagem de software, processador e localizao [Curbera, Nagy e Weerawarana 2001]. Uma justificativa para o uso de Servios Web est na possibilidade de reuso de componentes de aplicao. Alm disso, eles ajudam a resolver problemas de interoperabilidade possibilitando a diferentes aplicaes (de diferentes plataformas) um meio para ligar seus dados. Entre as principais tecnologias utilizas pelos Servios Web pode-se citar: SOAP (Simple Object Access Protocol) que um protocolo de comunicao baseado em XML que possibilita que aplicaes distribudas escritas em diferentes linguagens e executando sobre diferentes plataformas interajam umas com as outras. Esta comunicao possvel de ser estabelecida devido a troca de mensagens entre os programas ser realizada sobre o HTTP (Hypertext Transfer Protocol) [Fielding et al 1999]. III WIA, UniFOA, Volta Redonda - RJ, 2010 79

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 WSDL (Web Service Description Language) (2003) que prov uma interface abstrata do Servio Web baseada em XML (independente de plataforma e de linguagem) permitindo aos solicitantes de servios acessar e invocar um servio sem conhecer seus detalhes de implementao. Ela especifica a localizao do servio e as operaes (ou mtodos) que o servio prov, por exemplo, nome da operao, parmetros de entrada e sada e excees [Oliveira Jnior 2009]. UDDI (Universal Description Discover and Integration) um registro (ou catlogo) de servios que possibilita empresas (provedoras de servios) prover informaes para qualquer um, inclusive ela mesma, sobre as funcionalidades que ela prov, habilitando clientes (solicitantes de servios) a encontrar os servios desejados [Oliveira Jnior 2009]. A Figura 1 ilustra como essas tecnologias auxiliam a troca de servios entre provedores e solicitantes de servios fazendo uso das tecnologias anteriormente citadas. O provedor do servio publica os servios que deseja disponibilizar em um UDDI. Neste momento, o servio publicado torna-se disponvel para outros poderem utiliz-lo. Pelo fato do servio disponibilizado estar escrito em WSDL (2003) qualquer solicitante poder acess-lo, independentemente de plataforma e linguagem. Uma vez que um solicitante necessite de um servio, ele pode busc-lo em um UDDI e, caso encontre o servio desejado, poder invoc-lo diretamente do provedor do servio, utilizando a interface WSDL obtida no UDDI para fazer suas solicitaes atravs do SOAP.

Figura 1 - Componentes Bsicos de um Servio Web [Oliveira Jnior 2009]

Atualmente, o contedo da Web est disponvel para consumo humano. Assim, os computadores tm dificuldades de raciocinar sobre esses dados (interpretar sentenas e extrair informaes teis para os usurios) [Antoniou e Harmelen 2004]. Tal fato estende-se aos Servios Web, os quais necessitam de uma sintaxe precisa para serem automaticamente encontrados e utilizados, fazendo com que algumas tarefas que poderiam ser realizadas por servios Web existentes deixem de ser atendidas devido a dificuldade das mquinas encontrarem os servios disponveis que correspondem semanticamente aos requisitados, mas que esto em formatos que no podem ser interpretados pelos motores de busca e composio de servios.

III WIA, UniFOA, Volta Redonda - RJ, 2010 80

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 A especificao explcita do significado da informao apresentada nos recursos Web (pginas, servios etc.), que no pode ser obtido apenas pela utilizao da XML, o principal objetivo da Web semntica [Oliveira Jnior 2009]. Segundo Berners-Lee, Hendler e Lassila (2010) a Web semntica uma extenso da Web atual que habilita computadores a processar o significado de informaes. Em outras palavras, a idia por trs da Web semntica prover uma definio formal estruturada sobre os recursos disponveis na Web e como eles se relacionam de modo que seja possvel que os computadores processem automaticamente os recursos semnticos, assim como raciocinar sobre eles. Para o desenvolvimento de Servios Semnticos, a tecnologia mais utilizada atualmente prope o uso de ontologias. Uma ontologia busca resolver alguns problemas que no so solucionveis por meio de RDF (Resource Definition Framework). O RDF busca definir o relacionamento entre os recursos disponveis na Web por meio de uma tripla (sujeito, predicado, objeto), porm ele no permite, por exemplo, expressar cardinalidade. Segundo Gruber (1993) ontologia definida como a especificao de um conceito. Para [Oliveira Jnior 2009], a semntica de Servios Web diz respeito descrio do significado da informao envolvida no servio, consequentemente o envolvimento humano necessrio para encontrar um servio desejado ou uma combinao de servios para cumprir uma dada requisio. Servios Web Semnticos buscam descrever semanticamente os servios combinando uma tecnologia emergente chamada Web Semntica com os atuais Servios Web padres (sintticos). A especificao explcita do significado da informao apresentada nos recursos Web (pginas, servios etc.), que no pode ser obtido apenas pela utilizao da XML, o principal objetivo da Web semntica. Servios Web podem ser classificados em Servios Web Simples, onde apenas um servio necessrio para atender a uma dada tarefa, ou Servio Web Complexo, quando dois ou mais servios so utilizados para compor a realizao da tarefa [Oliveira Jnior 2009]. A. Qualidade de Servios (QoS) H abordagens que consideram a composio SWS (Servios Web Semnticos) baseada em para atender a um conjunto de requisitos predefinidos H abordagens que no consideram a qualidade, mas sim fazem uso de IA para encontrar os servios que atendem as requisitos sem considerar QoS. Outras que consideram o QoS durante a composio dos servios, porm realizam uma busca exaustiva sobre todos os servios disponveis. B. Composio de Servios ERL [2009] define uma composio de servios como sendo composta de servios montados a fim de fornecer as funcionalidades requeridas para automatizar uma tarefa ou um processo de negcio. III WIA, UniFOA, Volta Redonda - RJ, 2010 81

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Figura 2 apresenta uma composio de servios gerada a partir de um inventrio de servios disponveis. Esta composio pode ser gerada por meio de uma requisio pr-definida ou mesmo automaticamente, o que denominado como Composio Dinmica de Servios.

Figura 2 Composio de Servios

C. Composio Dinmica de Servios Baseada em Qualidade de Servios A qualidade do servio medida por requisitos no funcionais como desempenho, disponibilidade, custo, entre outros. Para Vogel et al (1995) qualidade de servios definida como um conjunto de caractersticas qualitativas e quantitativas de um sistema necessrios para atender tanto aos requisitos funcionais da aplicao quanto a satisfao do usurio. Oliveira Junior (2009) props um mecanismo para seleo e composio de servios considerando fatores de qualidade durante o processo de classificao de servios conforme apresentado na Figura 3.

Figura 3. Composio Dinmica de Servios Baseada em Regras de Qualidade

Nesta abordagem um solicitante requer algumas funcionalidades fornecendo algumas informaes e impondo regras de qualidade para um Compositor, que por sua vez, o mdulo responsvel por executar um conjunto de servios que juntos atendem a sadas requeridas e renem regras de qualidade de Servios [Oliveira Jnior 2009]. III WIA, UniFOA, Volta Redonda - RJ, 2010 82

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

2 Modelos de Servios
Durante a construo de servios h a possibilidade de categoriz-los com base no tipo de lgica que encapsulam, na extenso do potencial de reuso que essa lgica possui, e a forma como essa lgica se relaciona com domnios existentes dentro da empresa [Erl 2009]. Desta forma h trs classificaes comuns de servios que representam os modelos de servios primrios, conforme apresentado na Figura 4 e descrito a seguir [Erl 2009]: Servios de Entidade Representa um servio centralizado no negcio, que fundamenta o contexto e o limite funcional em uma ou mais entidades de negcio relacionadas. Este tipo de servio altamente reusvel; Servio-Tarefa Serve de base para servios de negcio com limite funcional diretamente associado a uma tarefa ou a um processo especfico. Tem menos potencial de reuso e normalmente corresponde ao controlador de uma composio de servios. Servio Utilitrio Concentra servios que no se relacionam diretamente com o modelo de negcio, mas que realizam tarefas em diversos processos de negcio.

Figura 4. Camadas de Servios

Ao se classificar servios de acordo com o modelo de servios primrios apresentados, ante padres podem ajudar na identificao e categorizao de cada servio em sua respectiva camada.

3 Composio de Servios Categorizados por Camadas


Este artigo estende a proposta de Oliveira Junior (2009) propondo o acrscimo de uma etapa antes da etapa de localizao de servios (Figura 5) categorizando os servios solicitados de forma a separ-los em camadas, a fim de permitir a execuo concorrente do algoritmo QoS para cada camada de servios. Ao trmino da classificao das composies categorizadas, os resultados devem ser agrupados e retornados ao solicitante. Os servios so selecionados tendo como base as funcionalidades que eles oferecem. A documentao do Web Service fornecida no formato WSDL no suporta a especificao explcita de requisitos no-funcionais tais como regras baseadas em III WIA, UniFOA, Volta Redonda - RJ, 2010 83

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 critrios de qualidade do servio (WSDL, 2003). Este problema resolvido quando os provedores de servio especificam estes critrios na Licena de Nvel de Servio (SLA), a qual um contrato que define o relacionamento entre o provedor do servio e um cliente/usurio [Oliveira Jnior 2009].

Figura 5. Composio Dinmica de Servios Categorizados em Camadas

4 Concluso
A possibilidade de execuo concorrente de servios durante o processo de busca e classificao pode ser muito vantajosa para os requisitantes, pois possibilita melhorar o tempo de resposta a uma dada requisio alm de propiciar atender ao requisito de qualidade desempenho que pode vir a no ser atendido quando executado de maneira serializada. A identificao e separao Servios Web por categoria crucial para o bom desempenho desta proposta, assim deve ser realizada uma pesquisa exaustiva para que se encontrem maneiras de realizar esta categorizao. Pode haver situaes em que diferentes tipos de categorizao sejam identificados, fato que possibilitaria a execuo do processo de classificao sob diferentes perspectivas e que podem gerar resultados especficos para cada uma, assim demandaria a necessidade de uma avaliao sobre qual o tipo de categorizao seria mais adequado para atender aos requisitos dos solicitantes.

Referncias Bibliogrficas
Oliveira Junior, Frederico G. A. (2009). Uma Abordagem Baseada Em Qualidade Para Composio Dinmica De Servios Web. 114f. Tese De Mestrado Em Cincias Instituto Tecnolgico De Aeronutica, So Jos Dos Campos. Antoniou, G.; Harmelen, F. V (2004). A Semantic Web Primer. Cambridge, MA, USA: MIT Press, 2004.

III WIA, UniFOA, Volta Redonda - RJ, 2010 84

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Berners-Lee, T.; Hendler, J.; Lassila, O. The Semantic Web (2001). Disponvel Em Http://Www.Sciam.Com/Version.Cfm?Articleid=00048144-10D2-1C7084A9809EC588EF21. Acessado Em Junho De 2010. Curbera, F.; Nagy, W. A.; Weerawarana, S (2001). Web Services: Why And How. In: Workshop On Object-Oriented Web Services OOPSLA. Florida, USA: [S.N.]. Fielding, R.; Gettys, J.; Mogul, J.; Frystyk, H.; Masinter, L.; Leach, P.; Berners-Lee, T (1999). Hypertext Transfer Protocol - HTTP/1.1. World Wide Web Consortium (W3C). Disponvel Em: Ftp://Ftp.Isi.Edu/In-Notes/Rfc2616.Txt. Acesso Em Junho De 2010. Gruber, T. R (1993). A Translation Approach To Portable Ontology Specifications. Knowl. Acquis., Academic Press Ltd., London, UK, V. 5, N. 2, P. 199220. Vogel, A.; Kerherv E, B.; Bochmann, G. Von; Gecsei, J (1995). Distributed Multimedia And Qos: A Survey. IEEE Multimedia, IEEE Computer Society Press, Los Alamitos, CA, USA, V. 2, N. 2, P. 1019. WSDL (2003). Disponvel Em Http://Ssel.Vub.Ac.Be/Wsml/. Acesso Em Junho De 2010. Erl, Thomas (2009). SOA. Princpios De Design De Servios. Pearson Prentice Hall, So Paulo.

III WIA, UniFOA, Volta Redonda - RJ, 2010 85

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

INTNUM: UMA FERRAMENTA COMPUTACIONAL PARA VISUALIZAO E CLCULO DOS MTODOS DE INTEGRAO NUMRICA
Bruno Nunes Myrrha Ribeiro, Carlos Vitor de Alencar Carvalho Universidade Severino Sombra-USS Vassouras-RJ, Brasil e Centro Universitrio Geraldo Di Biase-UGB Barra do Pira-RJ, Brasil Universidade Severino Sombra-USS Vassouras-RJ, Brasil, Centro Universitrio de Volta Redonda-UniFOA , Volta Redonda-RJ, Brasil e Instituto Superior de Tecnologia IST/FAETEC, Paracambi-RJ, Brasil {myrrhaugb@gmail.com, cvitorc@gmail.com}

Resumo. O presente artigo destina-se a apresentao do software INTNUM. Trata-se de um software direcionado para o estudo do clculo numrico e tem o objetivo de visualizar diferentes mtodos de integrao numrica, tais como: Retngulo, Trapzio e Simpson. Assim sendo, este software fornece o clculo da rea sob a funo em uma varivel, bem como possibilita a interao atravs do teclado, variando o nmero de parties e otimizando o valor numrico da integral. O sistema foi desenvolvido em linguagem de programao C++, utilizando o ambiente de desenvolvimento Microsoft Visual C++ 2008 Express Edition e sistema grfico OpenGL. O uso do software tem como proposta o objetivo complementar a aprendizagem na disciplina de Clculo Numrico, proporcionando uma interatividade, visualizao, e otimizao nos Mtodos de Integrao Numrica, contribuindo assim, no processo de ensino- aprendizagem. Palavras-Chave: software integrao numrica. educativo, clculo numrico, mtodos de

INTNUM: A Computational Tool for Visualization and Calculation Methods of Numerical Integration
Abstract. This article is intended to INTNUM presentation software. This is software directed to the study of numerical calculation and is intended to display different numerical integration methods, such as Rectangle, Trapezoid and Simpson. Thus, this software provides the calculation of the area under the function in one variable, and allows interaction via the keyboard, varying the number of partitions and optimizes the numerical value of the integral. The system was developed in programming language C++ using the development environment Microsoft Visual C++ 2008 Express Edition and OpenGL graphics system. The use of the software is proposed in order to complement the learning in the discipline of Numerical Calculus, providing interactivity, visualization, and optimization of numerical integration methods, thus helping in the teaching-learning process. Keywords: educational software, numerical calculus, numerical integration methods.

III WIA, UniFOA, Volta Redonda - RJ, 2010 86

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

1 Introduo
As grandes mudanas que aconteceram em relao proposta pedaggica do sculo XXI, esto relacionadas ao desenvolvimento das Tecnologias de Informao e Comunicao (TIC), possibilitando novas prticas pedaggicas, favorecendo o processo ensino-aprendizagem. Das prticas derivada da informtica aplicada educao, o presente artigo direciona o desenvolvimento de software com enfoque educativo, mais precisamente classificado como: sistema de exerccios e prticas e simulao [Valente, 1999]. No ensino da engenharia existe uma grande demanda para aumentar a utilizao de softwares educacionais em sala de aula. Algumas propostas podem ser vista em Carvalho (2009) que apresenta um estudo da utilizao do software OCTAVE para o apoio ao ensino do clculo numrico. Carvalho (2005) desenvolveu um simulador para estudo do comportamento da ventilao cruzada em ambientes construdos. Convm ressaltar que a aprendizagem deve ser feita pela informtica e no da informtica. Valendo-se dessa hiptese, a professora Regina Clia Haidt diz que:
(...) o emprego do computador no processo pedaggico, assim como o uso de qualquer tecnologia, exige do educador uma reflexo crtica. Refletir criticamente sobre o valor pedaggico da informtica significa tambm refletir sobre as transformaes da escola e repensar o futuro da educao (Haidt, 2001:215).

O espao escolar o lugar onde se constri o conhecimento. Recursos que permitam e facilitem aos alunos a apropriao das experincias humanas consideradas como cultura, devem pertencer a este espao como, segundo DAMBRSIO (p. 60, 2002):
Como consequncia na Educao. No h como escapar. Ou os educadores adotam a teleinformtica com absoluta normalidade, assim como o material impresso e a linguagem, ou sero atropelados no processo e inteis na sua profisso. Procurem imaginar um professor que rejeita os meios mais tradicionais: falar, ver, ouvir, ler e escrever. Lamentavelmente ainda h alguns que s praticam o falar!

As consideraes descritas acima foram motivaes para o desenvolvimento do software INTNUM. Tal sistema, foi desenvolvido em linguagem de programao C++, com tcnicas de computao grfica 2D [Foley et al, 1999], usando o sistema grfico OpenGL, com objetivo pedaggico de auxiliar o processo ensino-aprendizagem na disciplina de Clculo Numrico, mais precisamente, os tpicos relativos aos mtodos de integrao numrica. Tratando-se da visualizao, bem como o valor aproximado, dos mtodos: Retngulo, Trapzio e Simpson. O artigo apresenta-se da seguinte forma: na seo 2 so mostrados os desenvolvimentos matemticos dos mtodos da integrao numrica e suas respectivas implementaes. Na seo 3 apresentado o desenvolvimento do sistema INTNUM. Na seo 4 so apresentados o software desenvolvido e alguns exemplos da sua utilizao como proposta complementar para apoio ao ensino-aprendizagem dos mtodos de integrao numrica. III WIA, UniFOA, Volta Redonda - RJ, 2010 87

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

2 Mtodos de Integrao Numrica


O clculo de integrais numricas aparece constantemente na resoluo de diversos problemas que no podem ser resolvidos analiticamente, ocasionando aproximaes com aplicao de alguns mtodos, que na maioria dos casos no podem ser determinados explicitamente por frmulas simples. Ento, utiliza-se a resoluo numrica pelas Somas de Riemann [Pereira, 2008]. Dada uma funo logo: no intervalo , dividido em parties com comprimento ,

(1) Sendo e , a rea limitada entre a curva, gerada pela funo das abscissas no intervalo dada pela integral definida: , e o eixo

(2) Com a dificuldade de integrao em relao a algumas funes, nos leva a determinao de uma forma aproximada para o clculo da rea, tal forma resulta no uso de mtodos para o clculo numrico de integrais. 2.1 Mtodo dos Retngulos Conhecido tambm como Mtodo do Ponto a Esquerda, consiste na aproximao numrica, por retngulos, em relao rea sob a funo dada.

Figura 7. Mtodo dos Retngulos.

Sendo

o nmero de parties estabelecido no intervalo

, define-se

como: (3)

III WIA, UniFOA, Volta Redonda - RJ, 2010 88

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Observando a Figura 1, tem-se Sendo a rea total sob a curva: . A partir da, determina-se as reas dos retngulos.

(4) Generalizando o caso acima, obtm-se a rea total no Mtodo dos Retngulos: (5)

2.2 Mtodo dos Trapzios Consiste na aproximao numrica, por trapzios, em relao rea sob a funo dada.

Figura 8. Mtodo dos Trapzios.

Sendo

o nmero de parties estabelecido no intervalo

, define-se

como: (6)

Observando a Figura 2, tem-se Sendo a rea total sob a curva:

. A partir da, determina-se as reas dos trapzios.

(7)

Generalizando o caso acima, obtm-se a rea total no Mtodo dos Trapzios: III WIA, UniFOA, Volta Redonda - RJ, 2010 89

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

(8)

2.3 Mtodo de Simpson Consiste na aproximao numrica, por trapzios parablicos, em relao rea sob a funo dada.

Figura 9. Mtodo de Simpson.

Os Sendo como:

o nmero de parties, com

par, estabelecido no intervalo

, define-se

(9) Apresentam-se cada rea sendo um trapzio parablico, tomada com uma interpolao quadrtica na limitao em trs pontos , e [Cuminato, 2009], logo:

(10) De forma anloga aos mtodos descritos anteriormente, sendo a rea total sob a curva:

(11) Com: III WIA, UniFOA, Volta Redonda - RJ, 2010 90

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

(12) Generalizando o caso acima, obtm-se a rea total no Mtodo de Simpson:

(13)

3 Desenvolvimento Computacional
O software foi desenvolvido em linguagem C++, no ambiente Microsoft Visual C++ 2008 Express Edition, usando o sistema grfico OpenGL [Woo et al, 1999]. Nesta seo so apresentados os algoritmos dos mtodos implementados. Basicamente pode-se dividir o desenvolvimento em trs algoritmos principais: algoritmo 1 valor da integral, algoritmo 2 visualizao da funo, algoritmo 3 visualizao do mtodo de integrao. 3.1 Algoritmo 1 Valor da Integral Destina-se a aproximao numrica, do clculo da integral, atravs dos mtodos citados anteriormente, definindo o nmero de parties. O quadro 1 mostra detalhes do algoritmo. Quadro 1: Algoritmo 1 Valor da Integral.

III WIA, UniFOA, Volta Redonda - RJ, 2010 91

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 3.2 Algoritmo 2 Visualizao da Funo Cria o grfico da funo dada, utilizando visualizao por pontos. O quadro 2 mostra detalhes do algoritmo. Quadro 2: Algoritmo 2: Visualizao da Funo.

3.3 Algoritmo 3 Visualizar Mtodos de Integrao Estabelece parmetros para cada um dos mtodos, buscando a visualizao atravs de lista de quadrilteros. O quadro 3 mostra detalhes do algoritmo. Quadro 3: Algoritmo 3 Visualizao dos Mtodos de Integrao.

4 Resultados
Na Figura 4 apresentado o menu de opes do programa. Nele o usurio pode inserir primeiramente como dado de entrada a escolha entre os mtodos de integrao numrica: Ponto a Esquerda, Trapzio e Simpson. Aps o mtodo ser selecionado, insere-se o nmero correspondente a quantidade de parties iniciais, possibilitando uma interao atravs do teclado (com as teclas + e -), com a finalidade de variao entre as parties, resultando a visualizao e o valor da integral. Inicialmente seleciona o mtodo e a quantidade inicial de parties .

III WIA, UniFOA, Volta Redonda - RJ, 2010 92

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 10. Menu.

4.1 Mtodo dos Retngulos Para o mtodo dos Retngulos, foi utilizada a funo e as condies descritas na tabela 1.
Tabela 1: Condies iniciais para testar o mtodo dos retngulos. Funo Nmero de Variao do Intervalo de Valor da Partio Domnio Integrao Integral 25 [-10,10] [-10,10] 15,5223

Figura 11. Mtodo dos Retngulos (25 parties).

Na Figura 6, aumenta o nmero de partio para 50 utilizando a interao via teclado.


Tabela 2: Aumento de parties para testar o mtodo dos retngulos. Funo Nmero de Variao do Intervalo de Valor da Integral Partio Domnio Integrao 50 [-10,10] [-10,10] 15,4922

Figura 12. Mtodo dos Retngulos (25 parties)

III WIA, UniFOA, Volta Redonda - RJ, 2010 93

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 4.2 Mtodo dos Trapzios
Tabela 3: Condies iniciais para testar o mtodo dos trapzios. Funo Numero de Variao do Domnio Intervalo de Valor da Integral Partio Integrao 50 [-10,10] [-10,10] 15,4922

Figura 13. Mtodo dos Trapzios (50 parties).

4.3 Mtodo de Simpson


Funo Tabela 4: Condies iniciais para testar o mtodo de Simpson. Nmero de Variao do Intervalo de Partio Domnio Integrao 50 [-10,10] [-10,10] Valor da Integral 15,4821

Figura 14. Mtodo de Simpson (50 parties).

5 Consideraes Finais
Este artigo se refere ao desenvolvimento do software INTNUM. A possibilidade que o software tem de permitir a visualizao dos mtodos de integrao numrica, bem como, os respectivos valores da integral e tambm a interatividade atravs do teclado em relao aproximao da rea sob a curva, aumentam significativamente a assimilao mais slida em relao ao contedo Integral Numrica, na disciplina de Clculo Numrico, proporcionando uma aula mais dinmica. Entretanto, importante que os educadores, sejam mediadores e direcionadores do aprendizado, mostrando que os recursos do software desenvolvido fornecero respostas de acordo com os dados que o aluno ir colocar, necessitando assim de anlises sobre os resultados obtidos. A prxima etapa desse trabalho ser o desenvolvimento de uma interface grfica mais amigvel e a utilizao do software com III WIA, UniFOA, Volta Redonda - RJ, 2010 94

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 alunos que cursam a disciplina de Clculo Numrico, verificando assim, sua avaliao/validao em sala de aula.

Referncias Bibliogrficas
Borba, M. C., Penteado, M. G. (2003) Informtica e Educao Matemtica. 3.ed. Belo Horizonte: Autntica. Cuminato, J. A., Clculo Numrico, Apostila do ICMC/USP. (texto auxiliar). DAmbrsio, Ubiratan. (2002) Educao Matemtica da teoria prtica. 9 ed. So Paulo: Papirus, Coleo Perspectivas em Educao Matemtica. Foley, J.D., Van Dam, A., Feiner, S. K. and Heghes, J. F. (1999) Computer Graphics Principles and Practice, second edition in C, Addison-Wesley publish company. Paiva, A.M.S., Carvalho, J.V., Carvalho, C.V.A., Porto, I.P.G., (2008) A integrao da TIC na Escola Bsica: Questes para Avaliao, Revista Eletrnica TECCEN, ano 1, vol 1. Pereira, T. P. (2008) Clculo numrico computacional. Sobral: UVA. Valente, J. A. (2003) Diferentes Usos do Computador na Educao. Em J.A. Valente (Org.), Computadores e Conhecimento: repensando a educao (pp.1-23). Campinas, SP: Grfica da UNICAMP. Tajra, S. F. (2003) Informtica na educao: novas ferramentas pedaggicas para o professor da atualidade. 3. ed. So Paulo: rica. Woo, M., Jackie, N, Davis, J., Shreiner, D. (1999) OpenGL Programming Guide, Third Edition (OpenGL, Version 1.2), Addison-Welsey. Carvalho, C. V. A.; Carvalho, J. V.; Aguiar, R. A. (2009) Utilizao do software livre OCTAVE para apoio ao ensino do Clculo Numrico. In: VI CIBEM-Congresso Iberoamericano de Educacin Matemtica, Poerto Montt, vol. 1. p. 679-684. Carvalho, C. V. A, Martha, L. F.; Teixeira, (2005) W. FLUXOVENTO - Um simulador grfico interativo para o estudo de ventilao em ambientes construdos. In: VII Encontro Nacional sobre Conforto no Ambiente Construdo (ENCAC). ISBN: 8589478-12-2. Macei, v. 1. p. 350-360. Haidt, R. C. C. (2001) Curso de didtica Geral, So Paulo - Brasil: Editora tica Srie Educao.

III WIA, UniFOA, Volta Redonda - RJ, 2010 95

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Antonio de Paula Pedrosa, Carlos Vitor de Alencar Carvalho Universidade Severino Sombra-USS Vassouras-RJ, Brasil Universidade Severino Sombra-USS Vassouras-RJ, Brasil, Centro Universitrio de Volta Redonda-UniFOA , Volta Redonda-RJ, Brasil e Instituto Superior de Tecnologia IST/FAETEC, Paracambi-RJ, Brasil {tonywebdevelop@hotmail.com, cvitorc@gmail.com}

UMA FERRAMENTA COMPUTACIONAL PARA GERAO DE MODELOS DIGITAIS DE TERRENOS COM VISUALIZAO EM VRML

Resumo. Este trabalho apresenta o desenvolvimento de uma aplicao computacional para gerao de Modelos Digitais de Terrenos (MDT). Neste trabalho est sendo utilizado o mtodo denominado de Inverso do quadrado da distncia. Esse mtodo de interpolao, comumente utilizado em sistemas de informao geogrfica (SIG) para gerao de mapas a partir de dados pontuais. O desenvolvimento foi feito utilizando a linguagem Java e a visualizao da superfcie gerada foi feita atravs da linguagem VRML. Com exemplo da metodologia adotada, foi gerado um MDT de parte da regio da cidade de Vassouras, Rio de Janeiro. Palavras-Chave: Modelo Digital de Terreno, Linguagem Java e VRML

A Computational Tool for generation of Digital Terrain Models with visualization in VRML
Abstract. This paper presents the development of a computer application for generation of Digital Terrain Models (DTM). This work is being used a method called the inverse square distance. This method of interpolation is commonly used in geographic information systems (GIS) to generate maps from point data. The development was done using the Java language and visualization of the surface was generated by VRML. As an example of the methodology used, was generated from a DTM of the region of the city of Vassouras, Rio de Janeiro. Keywords: Digital Terrain Model, VRML and Java Language

1 Introduo
A computao nos dias atuais est sendo utilizada nas mais diversas reas e uma das reas onde ela tem uma demanda muito grande na aplicao para soluo de problemas de engenharia. Uma das aplicaes na engenharia, onde a componente computacional importante na gerao de superfcies para visualizao de uma determinada caracterstica de estudo. Geralmente as superfcies so geradas de dados onde no se conhece e sua distribuio em todos os pontos da mesma, isto , os dados so gerados atravs de uma modelagem matemtica de forma analtica ou com base nos dados pontuais coletados. Tais superfcies so chamadas de Modelos Digitais de Terrenos (MDT). A superfcie gerada em geral contnua e a caracterstica que ela

III WIA, UniFOA, Volta Redonda - RJ, 2010 96

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 representa pode ser de vrias reas de conhecimento, segundo Burrough (1986) apud Medina (2007), alguns usos do MDT so: Armazenamento de dados de altimetria para mapas topogrficos; Anlises de corte-aterro para projeto de estradas e barragens; Elaborao de mapas de declividade e exposio para apoio a anlise de geomorfologia e erodibilidade; Anlise de variveis geofsicas e geoqumicas; Apresentao tridimensional (em combinao com outras variveis).

O processo de gerao de um MDT pode ser resumido na Figura 1. Fundamentalmente existem trs procedimentos: aquisio dos dados, gerao do grid e visualizao da superfcie gerada.

Figura 1 processo de gerao de um MDT Este trabalho apresenta um sistema computacional para gerao de um MDT desenvolvido em linguagem Java, onde a visualizao foi feita atravs da linguagem VRML. O algoritmo utilizado para a gerao da superfcie foi o Inverso do Quadrado da Distncia (IQD). Trata-se de um mtodo de interpolao local, determinstico e exato, comumente utilizado em Sistemas de Informao Geogrfica (SIG) para gerao de mapas a partir de dados pontuais [Landim 2000]. O restante deste artigo est dividido da seguinte forma: A seo 2 apresenta detalhes do algoritmo utilizado para a gerao do grid. Na seo 3 so apresentados os detalhes da metodologia adotada, na seo 4 os resultados obtidos com a gerao do MDT de parte da regio da Cidade de Vassouras, Rio de Janeiro. Em seguidas so apresentadas as consideraes finais e concluses do trabalho.

2 Algoritmo para a gerao do grid


Para a gerao de um MDT, quando no se conhecem todas as informaes da regio a ser modelada, necessria a definio de um modelo matemtico. Existem diversos III WIA, UniFOA, Volta Redonda - RJ, 2010 97

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 modelos matemticos onde se destacam dois grupos: funes globais e locais. Nos mtodos de funes globais so considerados todos os pontos da rea, permitindo a interpolar o valor da funo em qualquer ponto dentro do domnio dos dados originais. A adio ou remoo de um valor ter conseqncias no domnio de definio da funo. Como exemplos tm-se: polinmios e equaes multiqudricas. Nos mtodos de funes locais, elas so definidas para pores do mapa. A alterao de um valor afetar localmente os pontos prximos ao mesmo, como exemplos dessa metodologia tem-se: triangulao e inverso da potncia das distncias [Landim 2000]. Como dito anteriormente, neste artigo, foi mtodo utilizado para gerao do MDT, o mtodo chamado Inverso do Quadrado da Distncia (IQD). Trata-se de um mtodo de interpolao local, determinstico e exato, comumente utilizado em Sistemas de Informao Geogrfica (SIG) para gerao de mapas a partir de dados pontuais [Landim 2000]. Neste mtodo, as cotas do grid so atualizadas pelas mdias ponderadas das amostras. Os pesos devem levar em conta a pouca influncia dos pontos mais distantes na determinao das grandezas desconhecidas, ou seja, o peso utilizado como sendo o inverso da distncia do ponto (x, y) de que se quer obter o valor da subsidncia a uma das amostras. O valor estimado da grandeza dado pela equao (1). Para os pontos pertencentes ao conjunto de amostras, utiliza-se a equao (2). Isso evita erros de interpolao para valores pr-existentes. A Figura 2 apresenta de forma esquemtica o grid que ser gerado e os pontos conhecidos e interpolados [Carvalho 2002].
n i =1 n

z ( x, y ) =

h
ij

zi

1 h i =1 ij
2

(1)

hij =

(x

x j ) + (yi y j )
2

(2) (3)

z ( x, y ) = z i

Onde:
z ( x, y ) - valor interpolado para o n do grid, onde x e y so as posies cartesianas do ponto z. z i - valor conhecido da amostra i;

hij - distncia entre o n do grid e o ponto da amostra i. calculado pela eq. (2);

- expoente de ponderao que neste caso igual a 2.


n - nmero de amostras utilizadas para interpolar cada n do grid.
III WIA, UniFOA, Volta Redonda - RJ, 2010 98

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 2 esquema do grid gerado indicando pontos conhecidos e pontos que sero interpolados

3 Metodologia
A seguinte metodologia foi adotada para a aquisio, gerao e visualizao do MDT de parte da regio da cidade de Vassouras, Rio de Janeiro.

3.1 Aquisio
Inicialmente atravs do google earth [GoogleEarth 2010] foi definida uma regio da cidade de Vassouras de forma a contemplar os principais pontos da cidade. Inicialmente foram marcados quatro pontos principais delimitando assim, a regio a ser modelada: As distncia entre as marcaes que delimitam a regio esto equidistante de 3 quilmetros [Tabela 1 e Figura 3]. No modelo, o grid foi dividido em 10 (dez) partes com 300 (trezentos) metros cada uma, totalizando 3 quilmetros de um ponto ao outro, tambm foram selecionados 10 (dez) pontos principais da cidade. Os pontos escolhidos foram: Universidade Severino Sombra, Igreja Matriz, Cmara Municipal de Vassouras, Ginsio Esportivo Sombro, Shopping BR - 393, Hospital Universitrio, Monumento Centenrio, Memorial Manoel Congo, Morro da Torre e Frum [Tabela 2 e Tabela 3].

Tabela 1 distncia entre as marcaes que delimitam a regio a ser modelada


Marcao A Marc 1 Marc 1 Marc 2 Marc 3 Marcao B Marc 2 Marc 3 Marc 4 Marc 4 Distncia 3 km 3 km 3 km 3 km

III WIA, UniFOA, Volta Redonda - RJ, 2010 99

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 3 Regio a ser modelada indicando as marcaes 1, 2, 3 e 4. Tabela 2 Coordenadas dos pontos da cidade que foram selecionados e suas respectivas elevaes.
Nmero 1
2 3 4 5 6 7 8 9 10

Pontos Marcados Universidade Severino Sombra


Igreja Matriz Cmara Municipal Sombro Shopping BR- 393 Hospital Universitrio Monumento Centenrio Memorial Manoel Congo Morro da Torre Frum

Elevaes 431 m
441 m 428 m 439 m 415 m 434 m 464 m 471 m 592 m 415 m

Figura 4 Regio a ser modelada indicando os pontos da cidade que foram selecionados.

III WIA, UniFOA, Volta Redonda - RJ, 2010 100

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Tabela 3 Coordenadas dos pontos da cidade que foram selecionados e suas respectivas posies na direo x e y.
Ponto de marcao
Monumento Centenrio Shopping BR- 393 Universidade Severino Sombra Igreja Matriz Cmara Municipal Memorial Manoel Congo Frum Ginsio Esportivo Sombro Morro da Torre Hospital Universitrio

X
620 736 1549 1772 1829 1986 2008 2240 2510 2634

Z
312 781 855 775 934 554 1894 1411 727 2139

3.2 Gerao e Visualizao


O sistema, aps gerar a superfcie, exporta um arquivo no formato da linguagem VRML para visualizao. A Figura 4 ilustra o procedimento de exportao e importao do arquivo gerado. A gerao do grid do MDT atravs do mtodo do IQD foi implementada em linguagem Java. Parte do cdigo desenvolvido pode ser visualizado no Quadro 1.

Figura 4 esquema do processo para a gerao e visualizao do MDT


A linguagem VRML [Vrml 2010] foi utilizada por ser um padro para desenvolvimento de aplicaes de realidade virtual multi-usurio na Internet [Portela 2010]. Trata-se de uma linguagem independente de plataforma que permite a criao de ambientes virtuais, por onde se pode passear, visualizar objetos por ngulos diferentes e at interagir com eles. A linguagem trabalha com geometria 3D atravs de algumas primitivas bsicas (cubo, cone, cilindro e esfera) e suporta transformaes (rotao, translao, escala), texturas, luz e sombreamento.
Para navegar em mundos virtuais criados com a linguagem necessrio usar browsers que suportem VRML. Existem muitos browsers disponveis que suportam

III WIA, UniFOA, Volta Redonda - RJ, 2010 101

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5
diretamente a linguagem. Outros browsers que no suportam necessitam de software adicional (plug-in) [Portela 2010]. Quadro 1 parte principal do cdigo implementado.

4 Resultados
Primeiramente procurou-se verificar o potencial da linguagem VRML no que diz respeito visualizao, atravs da criao de um terreno com dados randmicos e sem textura (Figura 5) e com textura (Figura 6).

Figura 5 Visualizao de uma superfcie com dados randmicos

Figura 6 Terreno visualizado com textura

III WIA, UniFOA, Volta Redonda - RJ, 2010 102

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Com a implementao do mtodo IQD foi possvel chegar a um ponto aproximado do terreno MDT, contendo as elevaes existentes. Nessa primeira exibio no contm nenhum tipo de textura, como podemos ver na figura 7.

Figura 7 1 modelo de terreno gerado a partir do mtodo IQD e visualizado ainda sem textura.
Na prxima imagem (Figura 8) vemos o mesmo terreno, agora contendo a textura.

Figura 8 1 modelo de terreno gerado a partir do mtodo IQD e visualizado ainda com textura
Com a funcionalidade do plugin adquirido em Cortona3D (2010), podemos alcanar o terreno de diferentes ngulos, com maior ou menor visibilidade, como nos mostram as figuras a seguir (Figura 9).

Figura 9 Maior visibilidade do terreno atravs de aproximao (ngulo 1).


III WIA, UniFOA, Volta Redonda - RJ, 2010 103

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Nas figuras 10 e 11 podemos visualizar, em uma parte do terreno, suas elevaes com mais detalhes.

Figura 10 Maior visibilidade do terreno atravs de aproximao (ngulo 2).

Figura 11 Maior visibilidade do terreno atravs de aproximao (ngulo 3).

5 Consideraes Finais
Acreditamos que o primeiro objetivo desse projeto foi cumprido, com o desenvolvimento de uma aplicao computacional para gerao de um MDT. A ideia aperfeioar o modelo gerado, para que possa ter objetos que identifiquem os pontos da cidade selecionados, conforme indicado na Tabela 2, atribuindo ao terreno caractersticas de uma cidade em 3D.

Agradecimentos
O primeiro autor agradece FAPERJ pelo apoio financeiro atravs da Bolsa de Iniciao Cientfica. O segundo autor agradece ao CNPq pelo apoio financeiro atravs da Bolsa de Produtividade em Desenvolvimento Tecnolgico e Extenso Inovadora DT.

Referncias Bibliogrficas
Burrough, P.A.; McDonnell, R.A. Principles of geographical information Systems. Oxford University Press. 1986. 333p.

III WIA, UniFOA, Volta Redonda - RJ, 2010 104

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Carvalho C. V. A., Simulao de Transporte e Deposio de Sedimentos Siliciclsticos em Ambientes de Plataforma, Talude e Bacia", Tese de doutorado, Departamento de Engenharia Civil/Tecgraf, PUC-Rio, 2002. Cortona3d. Cortona3D Viewer Users Guide. June 2009. Disponvel em: http://82.165.194.128/cortona3d/files/a2/a2607c21-b8b6-4abf-8f5de3abb2a67649.pdf. ltimo acesso em 01 de Abril de 2010. Cortona3d. Cortona3D Viewer. Disponvel em: http://www.cortona3d.com/ Products/Cortona-3D - Viewer.aspx. ltimo acesso em 01 de Abril de 2010. Google Earth. Disponvel em: http://earth.google.com/. ltimo acesso em 10 de Setembro de 2010. Lamdim, P. M., B., Texto Didtico 2 Introduo aos Mtodos de Estimatio espacial para confeco de mapas, UNESP/Rio Claro, 2000. Medina, A. S., Medina, S. da S. S. A Representao da superfcie topogrfica atravs de modelos digitais de terrenos. VII International Conference on Graphics Engineering for Arts and Design XVIII Simpsio Nacional de Geometria Descritiva e Desenho Tcnico, Curitiba, Paran, Brasil, 2007. Portela, F. C. Tutorial VRML. Disponvel em: http://www.franklin.pro.br/ apostilas/apostilaVRML.pdf. ltimo acesso em 20 de Setembro de 2010. Vrml. VRML Interactive Tutorial. .Disponvel em: http://sim.di.uminho.pt/vrmltut/. ltimo acesso em 04 de Abril de 2010.

III WIA, UniFOA, Volta Redonda - RJ, 2010 105

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Victor A. P. Oliveira , Pablo L. B. Soares Cincia da Computao Universidade Federal Rural do Semi-rido (UFERSA) Avenida Francisco Mota, 572, Costa e Silva 59.625-900 Mossor RN Brasil {victorcactusti, pabloufersa}@gmail.com

BRIAN UM AGENTE INTELIGENTE COGNITIVO E DELIBERATIVO PARA APLICAES EM JOGOS DE COMPUTADORES 1 1

Resumo. A inteligncia Artificial (IA) um recurso muito utilizado em jogos eletrnicos. Diversos elementos de um jogo exibem de uma forma ou de outra, certo grau de inteligncia. Atualmente, existem diversas tcnicas utilizadas para implementar inteligncia artificial em jogos. Dentre elas, h mquinas de estados finitas, agentes, redes neurais, algoritmos genticos, entre outros. Nesse artigo sero mostradas algumas dessas principais tcnicas de IA aplicadas a uma agente em um ambiente de simulao. Como resultado, observou-se que o agente apresentou um comportamento caracterstico de um ser inteligente, aprendendo e tomando suas prprias decises sobre seu ambiente.
Palavras Chave: inteligncia artificial, agentes inteligentes, redes neurais, jogos de computadores

Brian A Cognitive and Deliberative Intelligent Agent for Applications in Computer Games
Abstract. Artificial Intelligence (AI) is a feature commonly used in electronic games. Several elements of a game show, one way or another, some degree of intelligence. Currently, there are several techniques used to implement artificial intelligence in games. Among them, there are finite state machines, agents, neural networks, genetic algorithms, among others. This article will show some of the main AI techniques applied to an agent in a simulation environment. As a result, it was observed that the agent showed a characteristic behavior of an intelligent being, learning and making their own decisions on the environment.
Keywords: artificial intelligence, intelligent agent, neural networks, computer games

1 Introduo
A inteligncia artificial para jogos de computadores teve incio na dcada de 1970 e tem sido aplicada aos jogos atuais cada vez mais. Diversos desenvolvedores de jogos utilizaram deste artifcio para darem vidas aos seus jogos. Porm, em sua maioria, a inteligncia dos personagens dos jogos atuais est limitada a respostas s aes baseadas em scripts predefinidos Perucia (2005).

III WIA, UniFOA, Volta Redonda - RJ, 2010 106

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Portanto, esse artigo apresenta tcnicas de inteligncia artificial que foram utilizadas em um ambiente semelhante ao de um jogo, mostrando como a inteligncia artificial acrescenta em contedo e funcionalidades a um jogo. Neste ambiente, existe um personagem, o qual se tornou um agente que aprender com seus erros e com as situaes que forem vivenciadas. Nas prximas sees sero apresentado o agente, bem como seu ambiente, que foi implementado no simulador e ser mostrado s tcnicas de inteligncia artificial que foram utilizadas na sua implementao.

2 Agentes Inteligentes
Um agente uma entidade que possuem objetivos e capaz de perceber certas propriedades do ambiente em que se encontra, podendo executar aes especficas nesse mesmo ambiente, executando algumas dessas aes ou percepes mediante a cooperao com outros agentes Perucia (2005) e Norvig (2004). O agente que foi implementado no simulador um agente do tipo cognitivo, ou seja, ele pode aprender com suas experincias e deliberativo (planeja e executa os planos que foram criados por ele mesmo). De acordo com Norvig (2004), agente simplesmente aquele ou aquilo que tem capacidade de perceber o seu ambiente e agir sobre ele. claro que, para que este agente parea realmente inteligente ele precisa ser capaz de aprender com o ambiente e tomar suas decises de uma forma satisfatria. Ser apresentado aqui o agente inteligente chamado Brian. Ele um ser que est sempre disposto a aprender. O objetivo que ele seja um agente (ou um ser) racional, isto , um ser que faz tudo certo, ou pelo menos, aprende com seus erros. Brian , na realidade, um agente experimental, e como todo agente experimental, ele precisa viver em um ambiente especial a fim de ser observado e avaliado. Esse ambiente se trata de uma ilha capaz de fornecer tudo que ele precisa como: comida, gua e sombra. A Figura 1 ilustra como o ambiente. Todo ser possui um conjunto de sensores, que so dispositivos capazes de perceber o ambiente. Brian possui apenas trs. O primeiro deles a viso, e claro ela no infinita, possuindo assim um limite, ou seja, Brian enxerga apenas alguns espaos sua frente. O segundo o paladar, que onde a inteligncia de Brian precisa entrar. De incio ele no sabe o que e o que no bom para ele. Ele precisa aprender atravs dos sabores e dos malefcios ou benefcios causados a ele pela comida. Por ltimo, o tato, que permite que ele tenha a sensao de como a textura de alimentos e etc. O ser atua sobre o ambiente de trs formas. Andando em locais livres (Brian no sabe escalar rvores e nem nadar) comendo, e claro, excretando. Como j foi mencionado, o ser um agente experimental. Sendo assim, esperase que ele fique vivo por um tempo suficiente para que o mesmo possa ser observado e avaliado. Essa meta consiste simplesmente em fazer com que ele seja feliz. Mas, para isso, ele precisa manter suas necessidades satisfeitas, e no se pode interferir nisso. As mtricas utilizadas como medidas de desempenho podem ser entendidas como quantificadores que variam de zero a cem. Para uma medida acima de sessenta, III WIA, UniFOA, Volta Redonda - RJ, 2010 107

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 considera-se, por exemplo, que o ser est em um nvel de satisfao adequado. Esse nvel de satisfao calculado em funo de outros quantificadores (fome, sede etc., que tambm variam de zero a cem) que, por sua vez, so obtidos de clculos em funo do tempo, da energia gasta (procurando comida, por exemplo), e da energia recuperada (atravs dos alimentos).

Figura 1. Ilha Ambiente onde vive Brian.

A Tabela 1 sintetiza o PEAS (Performance, Environment, Actuators, Sensors desempenho, ambiente, atuadores e sensores) do agente.
Tabela 1. PEAS sintetizado.

Medidas de Desempenho

Ambiente

Atuadores

Sensores
paladar,

Manter suas necessidades Ilha mapa (47u x Andar, Comer e Viso, em um nvel adequado, ser 50u) contendo tudo excretar. tato. feliz, sobreviver. que o ser necessita.

O ambiente de tarefa possui as seguintes propriedades:

Parcialmente observvel Os sensores de Brian s percebem o que est ao seu redor; Estocstico Significa que no possvel prever o prximo estado que o ambiente se encontrar; Seqencial As decises atuais de Brian podero afetar o seu futuro; Esttico O estado do ambiente apenas muda com aes do prprio agente; Discreto O ambiente possui um conjunto finito de estados distintos; III WIA, UniFOA, Volta Redonda - RJ, 2010 108

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Agente nico Brian ainda no tem companhia.

3 Algoritmo A* (A-Star A estrela)


As necessidades do ser precisam ser satisfeitas. Para que isso seja possvel, necessrio primeiro existir um meio ou uma forma de se locomover pelo ambiente em que Brian est inserido. Primeiro, para que ele possa conhec-lo, segundo, para que ele possa realizar suas vontades (comer, beber etc.). Essas caractersticas so do problema do path finding, que consiste basicamente em encontrar um caminho entre dois pontos do mapa Stout (2000). Existem diversos algoritmos para resolver esse problema, mas nem todos possuem um tempo computacional aceitvel. O algoritmo para implementar uma soluo em tempo real para mapas planos o A* (A estrela), e pode ser encontrado em Stout (2000), Matthews (2002) e Higgins (2002). interessante observar que este algoritmo no d a melhor soluo para o problema (encontrar o melhor caminho), que para esse trabalho se torna ainda mais adequado, pois o fato do agente no percorrer sempre o caminho mais curto, nesse caso, se torna ainda mais real. A* um tipo do algoritmo chamado de algoritmo guloso, pois busca sempre o n (posio atmica do mapa) de menor custo ainda no visitado at que se chegue ao destino. A Figura 2 ilustra o funcionamento do algoritmo.

Figura 2. A* Algoritmo utilizado para locomoo de Brian (Esquema de Funcionamento).

4 Finite-State Machine FSM (Mquina de Estados Finito - MEF)


Mquinas de estados finitos, ou simplesmente FSM, so abstraes matemticas e computacionais que possuem diversas utilidades. Uma FSM nos ajuda a desenvolver o processo de tomada de deciso em inteligncia artificial Dybsand (2000). FSM so mquinas que consistem em um nmero finito de estados (ou condies). Por exemplo, considerando Brian: ou ele esta parado, ou andando. Outro III WIA, UniFOA, Volta Redonda - RJ, 2010 109

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 aspecto relevante sobre FSM que existe uma entrada que causa o efeito de transio de um estado para outro. Uma Mquina de Estados Finitos pode possuir uma funo de transio simples ou complexa para determinar que estado seja o estado atual. A Figura 3 ilustra a FSM que foi implementada para auxiliar no processo de tomada de deciso do agente Brian.

Figura 3. FSM para tomada de deciso de Brian.

5 Redes Neurais Artificiais (RNA)


As redes neurais foram inspiradas no crebro humano. O modelo bsico de um neurnio foi inventado a mais de 65 anos atrs por Pitts e McCullock. Este modelo bsico mostrado na Figura 4 e, de acordo com LaMothe (2000) e Haykin (2001), possui 3 elementos bsicos:

Figura 4. Perceptron: modelo bsico de Pitts e McCullock.

Dendritos Responsveis por coletar os sinais que chegam; Soma Soma e processamento dos sinais; Axnios Responsveis pela transmisso dos sinais para outros dendritos. E se o agente possusse um pequeno crebro?

A rede neural implementada como crebro de Brian foi baseada nas aplicaes de redes neurais descritas em LaMothe (2000) e possui as seguintes funes:

Classificao e varredura ambiental A rede neural pode ser alimentada com informaes de viso, tato etc. Estas informaes podem ser utilizadas para se obter uma resposta da rede ou trein-la. Estas respostas podem ser aprendidas em tempo real ou atualizadas para melhorar a resposta;
III WIA, UniFOA, Volta Redonda - RJ, 2010 110

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Memria A rede neural pode ser utilizada pelo agente como forma de memria. A rede neural pode aprender atravs da experincia de um conjunto de respostas; ento quando uma nova experincia ocorre, a rede pode responder com a melhor escolha que deve ser feita; Controle de comportamento A sada da rede neural pode ser usada para controlar as aes do agente.

As redes Multilayer Perceptron (MLPs) tm sido aplicadas com sucesso em uma variedade de reas, desempenhando tarefas tais como: classificao de padres (reconhecimento), controle e processamento de sinais. A rede MLP se encaixa perfeitamente no perfil de rede neural que atende as necessidades do agente. Uma RNA do tipo MLP constituda por um conjunto de ns fonte, os quais formam a camada de entrada da rede (input layer), uma ou mais camadas escondidas (hidden layers) e uma camada de sada (output layer). Com exceo da camada de entrada, todas as outras camadas so constitudas por neurnios e, portanto, apresentam capacidade computacional. O MLP uma generalizao do Perceptron inventado por Pitts e McCullock. A Figura 5 detalha melhor a MLP.

Figura 5. Detalhe de uma MLP: a camada de entrada, duas camadas ocultas e a camada de sada, respectivamente.

A Tabela 2 ilustra perfeitamente o funcionamento da MLP implementada como crebro de Brian. Ela treinada medida que Brian encontra objetos e os consome durante a sua jornada. Note que, o grau de desejo representa uma classificao, isto significa que se Brian tem a opo de escolher entre uma banana (grau de desejo 5, por exemplo) e uma maa (grau de desejo 0.6), ele obviamente escolher o seu predileto. Outro fator importante a se considerar que quando a fome for muito grande, Brian tender a comer algo mesmo que no lhe agrade.
Tabela 2. Exemplo numrico da MLP em funcionamento.

Encontrou antes
Nada Madeira Pedra

Grau de Desejo Madeira


1,1 -0,2 -0,2

Pedra
0,94 0,19 -1,5

III WIA, UniFOA, Volta Redonda - RJ, 2010 111

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

6 Simulao, Resultados e Discusso


Para analisar o comportamento do agente, foi realizada uma simulao utilizando todas as tcnicas de inteligncia artificial descritas anteriormente. O ambiente (mapa) possui dimenses 47 x 50 (unidades ou clulas igualmente espaadas), no entanto, existem algumas clulas que no podem ser atravessadas devido presena de rvores, lagos ou mesmo pedras (ver Figura 1). E, ao longo desse mapa foram espalhados, aleatoriamente, 10 tipos diferentes de comidas e 10 tipos diferentes de bebidas. Sendo que 20% da comida e 20% da bebida possuem algum tipo de caracterstica desagradvel ao tato ou paladar (ver Tabela 1). Inicialmente, Brian no possua nenhum conhecimento do estado do ambiente, ou seja, ele no sabia onde encontrar comida e nem bebida. No decorrer do tempo ele passou a sentir fome ou sede e, consequentemente, sentiu a necessidade de se deslocar para encontrar o que estava necessitando. Observou-se no inicio que Brian sempre comia o que encontrava pela frente, pois, como ele no tinha conhecimento algum sobre quais os tipos de comida ou bebida ele podia ou gostava de comer, ele no tinha como classificar (atravs da MLP) tal comida ou bebida. Em contrapartida, medida que a simulao foi passando, observouse que o agente adquiriu certo nvel de personalidade, pois nas simulaes ele pde selecionar, dependendo do grau de fome, apenas o que ele mais gostava. Como exemplo, ocorreu que ele estava com pouca fome e viu uma cenoura (tipo de comida que ele no gosta). De acordo com a sua personalidade, ele a rejeitou. Observou-se tambm em outro momento, quando estava com muita fome, que ele optou por comer a cenoura para manter suas necessidades em um nvel adequado (ver seo 2). A Figura 6 ilustra Brian em um determinado momento da simulao procurando por comida para suprir sua fome.

Figura 6. Simulao em andamento. Brian procurando comida.

7 Concluso
Com a execuo deste trabalho, pudemos observar que tcnicas de inteligncia artificial aplicada a agentes em jogos possibilitam com que tenhamos inmeras possibilidades e recursos que no poderamos ter se utilizssemos apenas scripts nos jogos. III WIA, UniFOA, Volta Redonda - RJ, 2010 112

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 Observou-se que o agente da simulao comportou-se da forma esperada, de maneira que, o mesmo aprendeu com seus erros, e tambm conseguiu desenvolver a habilidade de encontrar o alimento necessrio para suprir as suas necessidades.

Referncias Bibliogrficas
Dybsand, E. (2000). Game Programming Gems. DeLoura (Ed.), A Finite-State Machine Class (pp. 237-248). Rockland: Charles River Media, Inc. Haykin, S. (2001) Redes Neurais: Princpios e Prticas (2 Edio). Porto Alegre: Bookman. Higgins, D. (2002). AI Game Programming Wisdom. Rabin (Ed.), Generic A* Pathfinding (pp. 114-121). Rockland: Charles River Media, Inc. LaMothe, A. (2000). Game Programming Gems. DeLoura (Ed.), A Neural-Net Primer (pp. 330-350). Rockland: Charles River Media, Inc. Matthews, J. (2002). AI Game Programming Wisdom. Rabin (Ed.), Basic A* Pathfinding Made Simple (pp. 105-113). Rockland: Charles River Media, Inc. Norvig, S. R. P. (2004). Inteligncia Artificial (2 Edio). Rio de Janeiro: Elsevier Editora Ltda. (Obra original publicada 2003) Perucia, A. S., Berthm, A. C., Bertschinger, G. L., & Menezes, R. R. C. (2005), Desenvolvimento de Jogos Eletrnicos: Teoria e Prtica. So Paulo: Novatec Editora Ltda. Stout, B. (2000). Game Programming Gems. DeLoura (Ed.), The Basics of A* for Path Planning (pp. 254-263). Rockland: Charles River Media, Inc.

III WIA, UniFOA, Volta Redonda - RJ, 2010 113

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Leandro Bezerra Rodrigues , Jlio Csar da Silva Cincia da Computao, Centro Universitrio Serra dos rgos (UNIFESO), Terespolis-RJ, Brasil 2 Cincia da Computao, Centro Universitrio Serra dos rgos (UNIFESO), Terespolis-RJ, Brasil e Mestrado Profissional em Educao Matemtica, Universidade Severino Sombra (USS), Vassouras-RJ, Brasil bzrrale@gmail.com, jcesarop@gmail.com

FRAMEWORK PARA DESENVOLVIMENTO DE JOGOS 3D BASEADO NA API O3D 2

Resumo. Este trabalho apresenta um estudo sobre as atuais tecnologias disponveis para exibio de contedo multimdia 3D na Internet. Entre as aplicaes-chave nesse mercado esto os jogos eletrnicos online. O foco do trabalho foi analisar as tecnologias para desenvolvimento de jogos e propor um framework baseado nessa anlise, especfico para o desenvolvimento de jogos 3D para Internet, facilitando o trabalho de tarefas rotineiras do desenvolvedor. Este trabalho pode ser dividido em trs etapas: 1) estudo das etapas de desenvolvimento de jogos 3D; 2) anlise das tecnologias de grficos 3D para Internet; 3) desenvolvimento de uma proposta de framework baseado na API O3D de grficos 3D para Internet, a partir dos conhecimentos adquiridos nas etapas anteriores.
Palavras-Chave: Desenvolvimento de Jogos, API Grfica O3D e Framework

FRAMEWORK FOR DEVELOPMENT OF 3D GAMES BASED ON API O3D


Abstract. This paper presents a study on the current technologies available for displaying 3D multimedia content on the Internet. Among the key applications in this market are the games online. The focus of the study was to analyze the technologies for game development and propose a framework based on this analysis specific to the development of 3D games for the Internet, facilitating the work of routine tasks of the developer. This work can be divided into three stages: 1) study of the stages of development of 3D games, 2) analysis of 3D graphics technology for Internet, 3) development of a proposed framework based on the 3D graphics API O3D for Internet, based on the knowledge acquired in previous steps.
Keywords: Game Development, Graphical API O3D and Framework

1 Introduo a API O3D


A Internet considerada uma plataforma, rica em recursos, pois, entre as diversas aplicaes que existem especificamente para funcionarem na Internet, os jogos online ganham cada vez mais espao, especialmente os ditos 3D. Para isto, existem vrias ferramentas que permitem a criao de grficos 3D para a Internet (UOL, 2009), porm um nmero reduzido se prope a englobar o desenvolvimento de jogos, que no constitudo apenas de grficos 3D, mas possui diversos processos e necessidades que III WIA, UniFOA, Volta Redonda - RJ, 2010 114

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 vo desde a lgica do jogo at simples efeitos sonoros (SANTOS, BATTAIOLA E DUBIELA, 2004). Atualmente, a engine Unity3D para criao de jogos 3D (CLUA E BITTENCOURT, 2005) uma das mais difundidas no meio comercial. Essa engine um timo exemplo para apresentar o potencial do mercado que movimenta essa rea. A Unity3D possui licena grtis e uma vasta quantidade de ferramentas para auxiliar o desenvolvedor. Todavia, o Google lanou em 2009 uma API grfica especfica para a Internet, chamada Google O3D. O foco desta API fazer uma ponte entre o navegador e as bibliotecas OpenGL e Direct3D. A Figura 1 apresenta a arquitetura desta API O3D.

Figura 1 - Arquitetura da API O3D

A API O3D possui um plugin, que deve ser instalado no computador local. Esse plugin faz a comunicao com as bibliotecas OpenGL e Direct3D. O desenvolvedor utiliza javascript como linguagem de programao para fazer uso da API. Esta API bastante poderosa, pois disponibiliza para uso todos os recursos complexos do OpenGL e do Direct3D, como por exemplo, efeitos de reflexos e sombras (JOAMP, 2010).

2 Motivao para Desenvolvimento do Framework


Esta API trabalha de forma assncrona com a pgina aberta pelo navegador, um conceito semelhante ao AJAX (W3SCHOOLS, 2010). Por ser recente, esta API ainda no possui um framework ou engine prprio, tornando o desenvolvimento de jogos para O3D um processo extenso e complexo (GOOGLE CODE, 2010). Este trabalho se prope a iniciar um projeto de framework que englobe a maior parte possvel do processo de desenvolvimento de jogos, buscando abstrair ao mximo a programao direta na API (Figura 2).

Figura 2 - Framework como uma camada de abstrao

III WIA, UniFOA, Volta Redonda - RJ, 2010 115

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

3 Projeto e Desenvolvimento do Framework


Por se tratar do ambiente WEB, foi utilizado javascript, PHP e MySQL para o desenvolvimento do framework; pois essas ferramentas apresentam enorme popularidade atualmente na rea de Internet, alm de serem livres de licenas comerciais para utilizao (OREILLY, 2005). Contudo, em algumas reas do framework, foram utilizadas classes de terceiros, com licena livre, para suprir necessidades especficas. Essas classes sero apresentadas nos tpicos a seguir.

3.1 Levantamento das necessidades


Depois de estudado o desenvolvimento de jogos utilizando a API, encontrou-se necessidades inerentes ao processo de desenvolvimento de jogos que sero citadas a seguir como os recursos que iro constituir o framework, sem enfocar aspectos mais avanados como a implementao de ambientes multiplayer, inteligncia artificial e engines de fsica. Tais recursos so:

Controle de projetos esse controle consiste em armazenar informaes sobre os projetos que esto sendo desenvolvidos e permitir que o desenvolvedor alterne entre os projetos de forma simplificada. armazenado em banco de dados informaes sobre os modelos, elementos, sons, texturas, cenrio, personagens, tudo associado a um projeto criado pelo desenvolvedor. Existe, ainda, a possibilidade de salvar e restaurar projetos em qualquer fase do desenvolvimento do jogo. Interface grfica do framework - a elaborao de uma interface grfica para o framework uma tentativa de aproximar mais desenvolvedores e tambm pessoas que ainda no possuem uma experincia na rea de desenvolvimento, para a realidade das possibilidades da nova tendncia da Internet. Na interface existe uma rea de visualizao em tempo real das alteraes do projeto, como incluso de elementos no cenrio e posicionamento dos objetos. Importao de elementos externos - automatizao do processo de importao de elementos 3D externos atravs de poucos cliques. Integrao da API de udio - importante recurso para o desenvolvimento de jogos, ausente na API O3D o de reproduo de udio. A SoundManager 2 (SOUNDMANAGER2, 2010), uma API de reproduo de udio em javascript foi escolhida para fazer parte do framework. Controle de comandos do jogo - esta parte do framework visa organizar de forma estruturada os vrios eventos que podem acontecer durante o jogo. Um dos desafios do framework automatizar o processo de associar os efeitos sonoros aos eventos visuais, atravs de uma interface simples. Permitindo ao desenvolvedor definir, por exemplo, qual animao o modelo 3D far enquanto estiver se movendo e atribuir ao evento um efeito sonoro caracterstico.

III WIA, UniFOA, Volta Redonda - RJ, 2010 116

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

3.2 Modelagem
Foi desenvolvida uma modelagem para maior compreenso do funcionamento do framework. Os diagramas usados foram julgados necessrios para melhor definio das funcionalidades do framework. A modelagem do framework foi feita antes de seu desenvolvimento. Primeiramente, foi estudado o processo de desenvolvimento de jogos, para maior compreenso das necessidades desse processo. Em seguida, foi feita uma anlise da API O3D, observando seus aspectos sob a tica do processo de desenvolvimento de jogos. O framework foi modelado a partir das necessidades levantadas aps a anlise da API. A Figura 3 apresenta o diagrama de contexto, com o funcionamento do framework num alto nvel de abstrao. Os elementos do jogo (imagens, udio, modelos 3D etc.) so inseridos e armazenados, depois ministrados pelo desenvolvedor, que programa a lgica do jogo e obtm do framework a viso de um projeto estruturado.

Figura 3 - Diagrama de Contexto

O funcionamento bsico do framework pode ser dividido nas seguintes etapas:

1. O desenvolvedor (usurio) cria um novo projeto ou abre algum existente previamente salvo; 2. Insere os elementos do jogo. Arquivos de som e imagem so armazenados diretamente na biblioteca do projeto, j os elementos 3D devem sofrer um processo de converso antes de serem armazenados; 3. Com os elementos do jogo armazenados na base de dados, j permitido ao desenvolvedor configurar da forma adequada esses elementos, criando os personagens, podendo associar comandos do teclado com movimentos do personagem. Pode, tambm, vincular os efeitos sonoros aos personagens, cenrios e elementos 3D em geral; associar as texturas e definir o posicionamento das cmeras, do cenrio e seus elementos; 4. O desenvolvedor introduz o enredo do jogo editando manualmente os scripts, programando os eventos e acontecimentos que iro ocorrer no jogo; 5. A ltima etapa consiste em salvar todo o trabalho feito, testar e verificar se contm erros ou falhas que devem ser corrigidas. Com o projeto estruturado pelo framework e seus elementos armazenados em banco de III WIA, UniFOA, Volta Redonda - RJ, 2010 117

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 dados, fica mais fcil a depurao e substituio de qualquer elemento do jogo.

3.3 Banco de Dados


O banco de dados foi desenvolvido em MySQL, com a estrutura ilustrada na Figura 4. A tabela projeto utilizada para identificar em qual projeto esto armazenados todos os elementos do jogo. O banco foi projetado para atender as necessidades do cadastro de elementos de forma genrica. Os elementos do cenrio so armazenados na tabela elementos, que pode possuir diferentes propriedades de acordo com tipo do elemento. Informaes sobre os arquivos da biblioteca do projeto esto na tabela arquivo. O cdigo gerado pelo framework armazenado na tabela script. Esse cdigo ser utilizado para publicar o projeto para distribuio.

Figura 4 - Modelo do banco de dados

3.4 Tela de Cadastro de Projetos


A primeira tela do framework a de cadastro de projetos, ilustrada na Figura 5. Nesta tela, o usurio pode inserir, abrir, editar no nome de um projeto ou excluir um projeto. Essa a nica tela que exibida fora do ambiente de trabalho.

Figura 5 - Tela de cadastro de projetos

3.5 Ambiente de Trabalho


A Figura 6 a tela principal do framework, o ambiente de trabalho. Essa tela possui uma barra de menus, que d acesso s demais telas. Foi utilizado o framework javascript prototype, de Sam Stephenson, para exibir e manipular janelas sobrepostas dentro do ambiente de trabalho. Esse recurso otimiza o desempenho do projeto, pois elimina a necessidade de recarregar o ambiente de III WIA, UniFOA, Volta Redonda - RJ, 2010 118

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 trabalho, com seus grficos, toda vez que houver alguma mudana de tela. Alm disso, promove maior comodidade ao usurio, que pode manipular diferentes telas do sistema no mesmo ambiente de forma simultnea. Na barra lateral, o usurio tem a sua disposio vrias formas bsicas para inserir na cena, alm de possuir links diretos para a tela de manipulao de cmera e de luz. Alm da barra de menus e a barra lateral, a tela dividida em 4 quadros, sendo um quadro de propriedades, 2 com imagens em 2D, chamados de quadros de posicionamento, e um com grfico em 3D. O quadro de propriedades exibe os atributos do elemento selecionado. Esses podem ser posio, tamanho, textura e etc. Os quadros de posicionamento representam as diferentes formas de visualizao do cenrio, sendo estas: de cima (eixos x e z) e de frente (eixos x e y). possvel alterar o posicionamento dos objetos nesses quadros utilizando o mouse, clicando e arrastando o elemento para a posio desejada. Estes 2 quadros esto sincronizados, de forma que quando um elemento movido em algum quadro sua posio atualizada nos demais quadros. O quadro em 3D representa o resultado em 3D das aes do usurio, uma rea de visualizao somente. Para gerar e manipular os grficos em 2D foi utilizado uma classe de licena livre, baseada no SVG do javascript (RAPHAEL, 2010).

Figura 6 - Tela Ambiente de trabalho

3.6 Tela Importar para a Biblioteca


Nessa tela possvel importar para a biblioteca do projeto, arquivos de som, imagens e modelos 3D. Som e imagens so simplesmente armazenados, j os modelos 3D devem sofrer um processo de converso, caso no estejam no padro de modelos da O3D. Os arquivos importados so listados abaixo do componente de upload, onde possvel exclu-los se necessrio. A Figura 7 mostra a tela de importao.

III WIA, UniFOA, Volta Redonda - RJ, 2010 119

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Figura 7 - Tela Importar para a biblioteca

3.7 Tela Entidades


Na tela de entidades, o usurio poder incluir no cenrio diferentes tipos de entidades, como modelos 3D importados, elementos 3D primitivos, pontos de iluminao e o prprio cenrio. A Figura 8 ilustra a tela de Entidades. Na rea Criar Elemento da tela de entidades, o campo nome refere-se ao nome da entidade que ser criada, o campo tipo determina qual ser o tipo da entidade, que pode ser, por exemplo, um cubo, esfera, cilindro e etc. Caso o tipo de elemento escolhido seja modelo, o campo arquivo ser habilitado para que o usurio selecione o modelo 3D correspondente importado na biblioteca. Logo a seguir, esto listadas as entidades criadas e suas propriedades. Nessa rea, possvel visualizar o valor de cada propriedade de uma entidade, modificar esse valor e salvar as alteraes.

Figura 8 - Tela de Entidades

3.8 Tela Cenrio


O cenrio consiste em uma grande esfera com a textura voltada para dentro que cria o aspecto de cu. A esfera tem origem no ponto [0,0,0] do ambiente 3D. Na tela Cenrio, tempos o campo profundidade, que especifica o raio da esfera e o campo textura a imagem ir compor o interior da esfera. O cenrio deve ser grande o suficiente englobar III WIA, UniFOA, Volta Redonda - RJ, 2010 120

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 todos os elementos. A Figura 9 mostra a tela do cenrio, onde possvel alterar as propriedades do cenrio.

Figura 9 - Tela do Cenrio

3.9 Tela Cmera


O objetivo da tela de cmera facilitar a troca de cmera a qualquer momento durante o desenvolvimento do jogo, utilizando das cmeras pr-definidas do framework. Os modos de cmera pr-definidos so: FPS, terceira pessoa e 2D. A Figura 10 mostra a tela de cmera.

Figura 10 - Tela de Cmera

3.10 Tela Editar Script


Todo cdigo gerado pelo framework armazenado e pode ser editado na tela editar script. O usurio poder modificar o cdigo de acordo com suas necessidades. A Figura 11 ilustra a tela de editar script.

Figura 11 - Editar Script

III WIA, UniFOA, Volta Redonda - RJ, 2010 121

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5 A fim de melhorar a experincia do usurio nesta tela, permitindo recursos de sintaxe colorida, busca de palavra-chave no cdigo, aumentar a fonte entre outros recursos, foi utilizado uma classe de edio de cdigo em javascript com licena livre, o EditArea, de Christophe Dolivet.

3.11 Tela Renderizar


A tela renderizar simplesmente cria o ambiente 3D com o cdigo gerado pelo framework em uma janela dentro do ambiente de trabalho. A Figura 12 mostra a tela renderizar aberta no ambiente de trabalho.

Figura 12 - Tela renderizar aberta no ambiente de trabalho

3.12 Tela Animao


Essa a tela responsvel por cadastrar os intervalos de frames dos modelos 3D, que contm algum tipo de animao. Essas animaes podero ser utilizadas posteriormente na Tela de Comandos. A ideia reproduzir alguma animao durante um comando de ao. A Figura 13 mostra a Tela de Animao.

Figura 13 - Tela Animao

III WIA, UniFOA, Volta Redonda - RJ, 2010 122

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

3.13 Tela Comandos


Essa a tela onde os comandos do jogo so configurados de maneira bem genrica. O desenvolvedor pode criar um novo comando, atribuindo o nome a ele. No momento, o nico tipo de comando implementado o Movimento, que permite deslocar os elementos pelo cenrio. Por exemplo, pode ser criado o comando andar do tipo movimento. Aps sua criao, necessrio configurar suas propriedades, definindo o modelo que sofrer a ao, a animao configurada anteriormente na tela de Animao (se existir), a velocidade de deslocamento, o udio que ser reproduzido durante a ao (som de passos, por exemplo) e atribuir o cdigo ASCII das teclas s variveis de deslocamento nos eixos x, y e z. Ento, ainda no exemplo, caso a tecla W seja associada varivel de deslocamento x+, o elemento sofrer incremento na sua posio referente ao eixo x durante o jogo, se a tecla W for pressionada. Da mesma forma, atribui-se a tecla S para na varivel x-, quando esta for pressionada durante o jogo, o elemento sofrer decremento na posio referente ao eixo x. A Figura 14 mostra a tela de comandos.

Figura 14 - Tela de Comandos

4 Concluso
Fazendo um comparativo entre a API e framework para construir um prottipo de jogo, com cenrio e personagem, o uso do framework reduz bastante o tempo de trabalho. Se levarmos em conta o processo de armazenar os elementos do jogo, posicionar esses elementos corretamente no cenrio, atribuir movimento e animao aos personagens, conclumos que o framework atende ao proposto, abstraindo a API; uma que para realizar esses procedimentos o desenvolvedor no necessita sequer ver o cdigo gerado. Outros recursos ainda podem ser adicionados ao framework, como um mdulo de fsica que manipule colises, gravidade, velocidade, peso e outros atributos fsicos essenciais para o desenvolvimento de jogos modernos. III WIA, UniFOA, Volta Redonda - RJ, 2010 123

III Workshop de Informtica Aplicada e Desenvolvimento de Jogos para Computadores e Dispositivos Mveis Centro Universitrio de Volta Redonda, UniFOA, 22 e 23 de Outubro de 2010, ISBN: 978-85-60144-36-5

Referncias Bibliogrficas
CLUA, Esteban Walter Gonzalez, BITTENCOURT, Joo Ricardo Desenvolvimento de Jogos 3D: Concepo, Design e Programao. (2005).

GOOGLE CODE (2010). API O3D. Disponvel em http://code.google.com/intl/ptBR/apis/o3d/. ltimo acesso em 01 de Outubro de 2010. JOAMP (2010). JOGL, Java Binding for the OpenGL API. Disponvel em http://jogamp.org/jogl/www/. ltimo acesso em 01 de Outubro de 2010. OREILLY, Tim (2005). O que web 2.0? Padres de design e modelos de negcios para a nova gerao de software. RAPHAEL (2010). Biblioteca Javascript. Disponvel http://raphaeljs.com/reference.html. ltimo acesso em 01 de Outubro de 2010. em

SANTOS, Rangel Jungles, BATTAIOLA, Andre Luiz, DUBIELA, Rafael Pereira (2004). Aspectos Fundamentais da Criao de Jogos em Shockwave 3D. SOUNDMANAGER2 (2010). Sound Manager 2 Documentation. Disponvel em http://www.schillmania.com/projects/soundmanager2/doc/. ltimo acesso em 02 de Outubro de 2010. UOL (2009). Teorias e Conceitos sobre a internet 3D. Disponvel em http://codigofonte.uol.com.br/artigo/diversos/teorias-e-conceitos-sobre-a-internet-3d. ltimo acesso em 04 de Outubro de 2010. W3SCHOOLS (2010). AJAX Tutorial. Disponvel http://www.w3schools.com/ajax/default.asp. ltimo acesso em maio de 2010. em

III WIA, UniFOA, Volta Redonda - RJ, 2010 124

Vous aimerez peut-être aussi