Controlo de acesso a salas de formação para formações síncronas no Second Life Pedro Salvado, Bruno Santos UTAD - Universidade Trás-os-Montes e Alto Douro, Dep. Engenharias, Vila Real, Portugal Pedro.mpt@gmail.com; Wallydosantos@gmail.com Leonel Morgado GECAD Grupo de Investigação em Engenharia do Conhecimento e Apoio à Decisão, UTAD - Universidade de Trás-os-Montes e Alto Douro, Vila Real, Portugal leonelm@utad.pt Arnaldo Santos, Filipe Peixinho Portugal Telecom Inovação, SA, Aveiro, Portugal arnaldo@ptinovacao.pt, filipe-m-peixinho@ptinovacao.pt Resumo: Este artigo oferece uma explicação dos métodos disponíveis para restringir o acesso a uma sala de formação no mundo virtual Second Life, propondo um sistema da automatização do acesso a sessões síncronas de formação em Second Life, geridas através do sistema de e-learning Formare. O sistema inclui mecanismos que permitam dar início a sessões de formação síncrona e terminá-las, utilizando a base de dados do sistema Formare como fonte de utilizadores com permissão de acesso a uma sessão de formação. Palavras-chave: controlo de acessos, formação profissional, ensino, formação, Second Life, segurança, e-learning, Formare. 1. INTRODUÇÃO A formação profissional já emprega em larga escala ambientes on-line de formação (Strother, 2002). Esta é facultada geralmente de forma assíncrona, ou seja, sem interacção em tempo real entre formandos nem entre formador e formandos (Hamilton e Cherniavsky, 2006), o que lhe permite ser flexível, por exemplo, face ao número de formandos e às disponibilidades pessoais de cada um. Contudo, também se recorre por vezes a formação profissional síncrona, onde um grupo de formandos ou formador(es) e formandos se encontram simultaneamente on-line, perdendo a referida flexibilidade, mas obtendo-se maior riqueza de interacção (ibid.), além de benefícios óbvios em situações de formação onde os objectivos visam comportamentos de grupo ou tarefas executadas em equipa. Hoje em dia, e graças à constante evolução das tecnologias, que torna viável o recurso a meios de colaboração mais exigentes em termos de equipamento informático e de redes, assistimos ao aparecimento de mundos virtuais, como o Second Life (Linden Research, 2008a), na área do ensino e da formação profissional (Cross, O Driscoll e Trondsen, 2007). O presente artigo nasce de um trabalho em curso na disciplina Projecto da Licenciatura em Informática da Universidade de Trás-os-Montes e Alto Douro, em colaboração com a PT Inovação: a PT Inovação tem vindo a actuar ao nível da formação profissional tendo desenvolvido a plataforma de e- learning Formare, que integra diferentes tecnologias para a criação de ambientes de formação on-line (PT Inovação, 2007). Visando permitir a integração na plataforma Formare de sessões síncronas de e-learning no mundo virtual Second Life, abordamos aqui um problema inicial para promover essa integração. Descrevemos como é possível controlar de forma automática o acesso a uma sala de formação no mundo virtual Second Life, obtendo também de forma automática a lista de participantes (formador, formandos, supervisores, convidados) que lhe podem aceder. 2. MUNDO SECOND LIFE O mundo virtual Second Life é composto por ilhas ou sims ("sim" abrevia "simulador"), que podem estar isoladas ou agregadas em "continentes" (vd. figura 1). Cada ilha tem as suas próprias caracteristicas definidas pelo dono do terreno. É ainda possivel dividir estas ilhas em terrenos mais pequenos, denominados por parcelas, cada parcela tem as suas próprias caracteristicas, incluindo uma lista de avatares com permissões para nelas entrar e/ou uma lista com avatares banidos, ou seja, impossibilitados de entrar. Estas listas são combinadas com permissões de acesso predefinidas, para que se possa restringir uma parcela apenas a um grupo de avatares ou para que seja aberta a todos, excepto aos avatares dela banidos. 1
Figura 1 Exemplo de sims É nestas parcelas que são construidos os edificios e em particular as nossas salas de formação. A construção neste mundo virtual não é limitada à construção no chão, podemos ter edificios situados no ar, em plataformas, até uma altitude de 768m (LSL Wiki, 2008b). Deste modo é possível rentabilizar o espaço disponivel, pois um terreno pode albergar muito mais salas de formação do que as que lá caberiam se só considerássemos as coordenadas horizontais. 3. FUNÇÕES E RESTRIÇÃO DE ACESSOS O controlo de acesso a um espaço, no Second Life, pode ser implementado de três formas. Este pode ser imposto pelo código do próprio servidor, como supra referido, onde a partir das caracteristicas do terreno se pode definir uma lista de avatares com permissões de acesso a um terreno virtual ou de uma lista de avatares impedidos de aceder. Pode ser também imposto por um avatar que seja detentor do terreno virtual ou membro de um grupo que seja detentor do terreno e tenha permissões para tal, onde a expulsão é feita manualmente, caso a caso, através de um menu de contexto, onde existe a opção Eject. Por último existe a opção da acção de controlo ser implementada por código criado de forma independente, código este que os utilizadores podem colocar dentro de objectos, sob a forma de scripts. O mundo virtual Second Life permite desenvolver programas numa linguagem própria de scripting, chamada LSL, acrónimo de Linden Scripting Language (Linden Research, 2008b), que disponibiliza várias funções que podem ser utilizadas para restrição de acesso a uma zona. A restrição pode ocorrer através de scripts, sendo que dispomos de duas possibilidades: empurrar um avatar até ficar fora do terreno ou ejectá-lo, que consiste em enviá-lo por teletransporte directamente para outro local. Neste artigo vamos analisar mais pormenorizadamente a última destas três formas, controlo de acessos por scripting, como potencial forma de automatizar o processo de controlo de acessos ligando-o à plataforma Formare. Para limitar acesso a um espaço em Second Life, recorrendo a scripts, um objecto tem de conter em si código para o efeito. Para tal, para além de outras funções necessárias para detecção de intrusões, estão disponíveis 3 funções básicas utilizável para obter o efeito da expulsão propriamente dito, que descrevemos de seguida. É relativamente fácil encontrar fornecedores de produtos comerciais de segurança, como os orbes de segurança e outros, que recorrem a estas funções precisamente para este efeito. Por exemplo, o Zor's Home Security Orb (SleXchange, 2008). No entanto, estes actuam a partir de listas de avatares que é necessário fornecer-lhes directamente dentro do mundo Second Life, não sendo produtos integrados com servidores externos, como é nosso objectivo. A função para empurrar chama-se llpushobject. Como o nome indica, esta função apenas empurra o avatar, sendo a força e direcção deste empurrão definidas pelos parâmetros de entrada da função: llpushobject( key target, vector impulso, vector ang_impulso, integer local ) Nos parâmetros acima mencionados, a key target identifica o avatar que desejamos empurrar; os vectores impulso e ang_impulso indicam a direcção e rotação do empurrão: e o integer local refere se o empurrão é ou não relativo à rotação do avatar. Esta função tem como vantagem poder ser usada por qualquer objecto ( desde que os empurrões sejam permitidos no terreno em questão). Ou seja, permite que o controlo de acessos a salas de formação pode ser implementado por um objecto fornecido ao formador, sem que este tenha obrigatoriamente de ser proprietário do terreno onde irá decorrer a formação. O segundo método referido consiste em ejectar um avatar, enviando-o (teleporte) para outro terreno. Para esta finalidade, podemos recorrer a 2 funções, semelhantes em propósito mas diferentes nos resultados. Pode ser feito uso da função llteleportagenthome, que teleporta o avatar para a chamada Home, ou seja, para o local identificado pelo próprio avatar como sua terra natal ou de residência. Por absurdo, tal destino pode ser a própria sala de formação, o que poderia levar a uma sucessão ininterrupta de ejecções e regressos. Acrescente-se ainda, relativamente e esta função, que possivelmente poderá ser descontinuada numa das próximas versões do Second Life (LSLWiki, 2008a). Em alternativa, pode-se usar a função llejectfromland. Esta ejecta avatares, mas não para um destino dependente do próprio avatar: pelo contrário, ejecta-os para o terreno mais próximo onde lhes seja permitido estar. Tanto llteleportagenthome como llejectfromland só 2
funcionam em código contido em objectos cujo proprietário seja dono do terreno onde se encontram, sendo assim viáveis para soluções de formação em que o serviço de controlo de acesso seja componente da sala de formação propriamente dita, não do formador. Relativamente a estas funções, apesar de serem aqui descritas com um propósito de segurança (controlo de acesso a um recurso privado), existe alguma controvérsia quanto ao seu uso generalizado. Há quem defenda que estas não deveriam ser permitidas, pois questionam-se se não violarão os termos de utilização do Second Life, na medida em que tornam possível que, por vezes, avatares de passagem, sem qualquer tipo de aviso, sejam expulsos de um terreno. Desta acção forçada resulta que um avatar, caso viaje-no interior de um veiculo o perca, pois ao ser sujeito a estas funções um avatar é obrigado a levantar-se (unsit) do veículo ao ser ejectado, abandonando-o no local. Contudo, consideramos que estas objecções podem ser ultrapassadas. No primeiro caso, verificando se o avatar se encontra na zona que pretendemos controlar, evitando agir sobre transeuntes próximos; no segundo, implementando uma política de devolução à procedência de objectos abandonados na sala de formação. Caso contrario, visto que os avatares indesejados, podem viajar até a sala sentados em objectos, estes ao serem expulsos, tal como previamente explicado deixam os objectos para trás. Ficam então esses objectos a incomodar a formação, podendo ainda os objectos, conter scripts maliciosos. Há também a questão de que este processo de teleporte com objectos poder ser repetido indefinidamente enchendo assim a sala com objectos indesejáveis. 4. LIGAÇÃO À PLATAFORMA FORMARE Com o propósito de integrar na plataforma Formare secções de formação síncrona decorrentes no mundo virtual Second Life, é necessário que os acessos às aulas sejam controlados e monitorizados de forma automática, sendo a plataforma a determinar quem pode aceder à formação. Existem dois métodos para que uma lista de avatares com permissão de acesso a uma formação fique disponível ao código em execução no Second Life. O primeiro método é ser o próprio código em execução no Second Life a solicitar as listas. Para tal, deve ser activado um temporizador no Second Life, que permita fazer um pedido por HTTP de forma regular a um Web Service exterior (integrado na plataforma Formare). O código de controlo de acessos, baseado numa das técnicas descritas na secção anterior, utiliza então a lista recebida em resposta a este pedido (Figura 1). O segundo método é ser a plataforma Formare a fornecer activamente a lista de controlo de acessos ao código em execução no Second Life. Para tal, usa-se uma biblioteca de programação disponível livremente (libsecondlife, 2008) para que a plataforma Formare possa iniciar uma sessão no mundo Second Life, ou seja, agir sob a forma de um avatar controlado pela plataforma Formare, que comunica os dados de controlo de acessos ao código em execução no SL. Nesta vertente, a Figura 2 manter-se-ia idêntica, salvo pela anulação do fluxo Pedido da lista de acessos. Figura 2 Modelo de integração Formare/Second Life para controlo de acessos a salas de formação 5. IMPLEMENTAÇÃO Conforme mencionámos no modelo, existem dois métodos para que uma lista de avatares com permissão de acesso a uma formação fique disponível ao código em execução no Second Life: ser o próprio código em execução no Second Life a solicitar a listas; ou ser a plataforma formare a fornecer activamente a lista de controlo de acessos ao código em execução no Second Life. Para implementar o modelo da secção anterior, definimos um espaço como sala de formação, este espaço, apresentado na figura 3, apresenta duas áreas distintas: uma área de aviso e uma área de exclusão, indicadas na mesma figura. A circunferência representa o ponto apartir o qual o script de aviso funciona, figura 4, enquanto que o arco desenhado representa o ponto a partir do qual o avatar sente o efeito do controlo de acessos, efeito este que resulta num resulta num empurrão na direcção oposto à qual se dirigia. O script de controlo está contido no objecto chão da plataforma. 3
Figura 3 Raio de acção do sistema de controlo Figura 5 Simulação do funcionamento do iniciar de uma sessão Figura 4 Simulação do funcionamento do controlo de acessos e pormenor da mensagem de aviso apresentada ao avatar Existem duas opções para o controlo ser iniciado. No primeiro caso, o formador chega junto do objecto chão diz por linha de comandos, escrevendo /987 iniciar (numero da sessão) (vd. Figura 5), qual a sessão que vai iniciar, e o objecto pergunta ao servidor, qual a lista de acessos a implementar na dada formação, fazendo uso de http requests ao web service existente, que por sua vez comunica com o Formare. Uma vez a sessão terminada o formador diz também por linha de comandos que a sessão terminou, usnado o comando /987 terminar. Pode sempre a qualquer momento ser consultado o conteudo da lista de acesso, tocando no objecto chão, (vd. Figura 6). e que comunica ao objecto chão qual a lista de acessos actual, efectuando inicio da sessão Figura 6 Pormenor da consulta da lista de avatares com permissões de acesso à sala de formação. No segundo caso, temos um avatar "bot" do Formare, que faz login no mundo Second Life simulando o comportamento de um avatar humano e inserindo por linha de comandos o nome dos avatares com permissões de acessos à formação. Neste caso como já referido vai ser a plataforma Formare a fornecer activamente a lista de controlo. 6. REFLEXÕES FINAIS Apresentámos uma análise de como utilizar os métodos de expulsão de avatares de um terreno para controlo automático de acesso a salas de formação, através da plataforma de e-learning Formare. Alguns aspectos não foram considerados, mas serão parte necessária a uma implementação final deste tipo de serviço. Um passa pela contextualização do objecto gestor no espaço físico da sala de formação: o comportamento pode ser diferente para diferentes geometrias de sala, na medida em que podemos estar perante 4
uma sessão de formação numa sala vulgar, com espaços bem delimitados por paredes, mas também num local menos comum, aberto, como seria o caso de formações em campo aberto. Outro aspecto é que um sensor implementado em LSL detecta apenas 16 avatares (Second Life Issues, 2007), de cada vez, no máximo. Como um terreno em Second Life pode ter presentes até cerca de 100 avatares, é necessário também analisar formas de podermos detectar a totalidades dos avatares presentes, para que o controlo de acessos seja pleno. Contudo, as abordagens aqui descritas apresentam uma limitação: são de controlo reactivo, no sentido em que expulsão um avatar que já entrou na sala de formação; não são preventivas, ou seja, não impedem a entrada propriamente dita na sala, pelo que se torna necessário ter acções complementares de segurança, como mencionámos no final da secção 3. Para impedir esta entrada, conforme se explicou também na secção 2, é necessário gerir a lista de controlo de acesso a um terreno, para que seja o próprio código do servidor Second Life a controlar o acesso. Ao fazê-lo, no entanto, ser-se-á forçado a utilizar a mesma lista de controlo de acesso em todo o espaço vertical acima de um terreno. A solução apresentada neste artigo possibilita utilizar várias salas, em altura, num mesmo terreno, sendo por isso capaz de melhor aproveitar o espaço tridimensional. Practice, ISBN 0805851003, pp. 87-106. Nova Iorque, EUA: Routledge. Cross, J.; O Driscoll, T.; Trondsen, E. (2007). Another life: virtual worlds as tools for learning. elearn, 2007 (3). Linden Research (2008a). Second Life: Official site of the 3D online world [On-line], http://www.secondlife.com/ (acedido a 11 de Maio de 2008). Linden Research (2008b). LSL Portal [On-line], http://wiki.secondlife.com/wiki/lsl_portal (acedido a 11 de Maio de 2008). LSLWiki (2008b). (consultado a 10 de Maio) http://wiki.secondlife.com/wiki/flight_limit portsecond Life Issues (2007) (consultado a 10 de Maio) vhttps://jira.secondlife.com/browse/svc-422 7. REFERÊNCIAS BIBLIOGRÁFICAS PT Inovação (2007). Formare soluções globais de elearning e blearning. [On-line] (acedido a 30 de Abril de 2008) http://www.formare.pt/ Cohen, K. Right-click to learn: Second Life offers students a virtually real education. In The Phoenix, (2006): (Consultado em 20/05/07) http://thephoenix.com/article.aspx?id=20561&page=1 LSLWiki (2008a) (consultado em 28 de Abril de 2008) http://rpgstats.com/wiki/index.php?title=llteleportagenthom e) SLeXchange ( 2008 ) (consultado em 28 de Abril de 2008) http://www.slexchange.com/modules.php?name=marketplace &file=item&itemid=154772 libsecondlife (2008) (consultado em 29 de Março de 2008) http://www.libsecondlife.org/ Strother, J. (2002). An Assessment of the Effectiveness of e- learning in Corporate Training Programs. International Review of Research in Open and Distance Learning, 3 (1). Hamilton, E.; Cherniavsky, J. (2006). Issues in synchronous versus asynchronous e-learning platforms. In O Neil, H. E Perez, R. (eds.) Web-based Learning: Theory, Research, and 5