Вы находитесь на странице: 1из 10

EduLing - Software Educacional para Linguagens Regulares

Marlon Jos Dognini, Andr Lus Alice Raabe Cincia da Computao - CTTMar - Universidade do Vale do Itaja - UNIVALI Rua Uruguai, 458 - Bloco 7 88.302-202 Itaja SC Telefone (0xx47) 341-7544 dognini@uol.com.br, araabe@cttmar.univali.br Resumo: Este trabalho apresenta o desenvolvimento do EduLing: software educacional para auxilio a aprendizagem de Linguagens Regulares, um tema pertinente ao estudo das Linguagens Formais. O software possibilita ao aluno experimentar a construo de autmatos e expresses regulares atravs de uma interface grfica interativa. O aluno pode verificar a equivalncia entre as diferentes representaes de uma linguagem regular, bem como simular o reconhecimento de sentenas a fim de validar a linguagem construda. Resultados preliminares indicam que o software contribui para melhoria da qualidade do Ensino de Cincia da Computao. Palavras-Chave: Ambientes Interativos de Aprendizagem; Linguagens Regulares; Software Educacional; Linguagens Formais.

Abstract: This paper presents the development of EduLing, an educational software for aid the learning of Regular Languages. The software allows students to experiment automatas and regular expressions construction and to verify the equivalence among them. EduLing interface was designed to help students to switch among different representations of regular languages and also simulate sentence recognition. Preliminary results indicate that the software help to increase the quality of Computes Science teaching. Key words: Interactive Learning Environments; Regular Languages; Educational Software; Formal Languages.

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

1. Introduo
O estudo das linguagens formais um contedo obrigatrio na grade curricular da maioria dos cursos de Cincia da Computao do Brasil. A disciplina de Linguagens Formais normalmente aborda assuntos como conjuntos, alfabetos, linguagens regulares, autmatos, gramticas livres de contexto, sensveis ao contexto e irrestritas, mquinas de pilha, mquinas de Turing e Post, decidibilidade e assim por diante. Tais contedos so essenciais para o desenvolvimento do aluno no curso de Cincia da Computao, e do suporte a disciplinas como Compiladores e Inteligncia Artificial. Tradicionalmente a disciplina possui uma caracterstica formal, a qual os alunos apresentam dificuldade para aprendizado devido ao grau de abstrao exigido. Geralmente a dificuldade inicia pela falta de familiaridade com a representao formal. Com isso, a tarefa do professor de Linguagens Formais, normalmente se torna repleta de ilustraes e exemplos utilizando representaes grficas (especialmente nos autmatos), longas cadeias de caracteres, simulaes da gerao e reconhecimento de sentenas entre outras. Uma das etapas iniciais da disciplina aborda as linguagens regulares, as quais podem ser representadas atravs de Autmatos Finitos Determinsticos (AFD), Autmatos Finitos NoDeterminsticos (AFND), Tabelas de Transio e Expresses Regulares (ER). Por ser um conceito inicial e que normalmente leva o aluno a principiar no processo de adequao a notao e aos processos formais, acredita-se que seja o momento ideal de utilizar uma abordagem alternativa proporcionada pelo uso de um software educacional. Tendo em vista esta realidade, foi desenvolvida uma ferramenta para auxiliar no processo de ensino-aprendizagem da disciplina de Linguagens Formais, mais especificamente sobre as linguagens regulares. O EduLing possibilita o desenvolvimento de atividades prticas sobre a construo de linguagens regulares, seja atravs de Autmatos Finitos Determinsticos (AFD), No-Determinstico (AFND), expresses regulares ou tabelas de transio. O software auxilia na ilustrao dos processos que demonstram a equivalncia entre as representaes (ER, AFD, AFND) e tambm possibilita a experimentao das hipteses de estudo dos alunos com relao a construo de linguagens regulares e de reconhecedores para estas. Este artigo est organizado da seguinte forma: a seo 2 apresenta os conceitos de linguagens regulares e equivalncias tratados pelo EduLing; a seo 3 detalha o EduLing e suas funcionalidades; a seo 4 apresenta as concepes pedaggicas que nortearam o desenvolvimento do software; a seo 5 apresenta os resultados preliminares e a seo 6 as consideraes finais e perspectivas futuras deste trabalho.

2. Linguagens Regulares
As linguagens artificiais apresentam-se em classes hierrquicas conforme definido por Chomsky (1955). Sua classificao divide-se em: linguagens regulares, livres de contexto, sensveis ao contexto e irrestritas. De acordo com a Hierarquia de Chomsky, as linguagens regulares so a classe de linguagens mais simples, possibilitando o desenvolvimento de algoritmos de pouca complexidade, grande eficincia e de fcil implementao [Rozenberg & Salomaa, 1997]. Uma linguagem regular pode ser representada por Expresso Regular (ER), Autmato Finito Determinstico (AFD), Autmato Finito No Determinstico (AFND) e tabela de transio. A Tabela 1 descreve brevemente cada uma dessas representaes e apresenta um exemplo de cada uma delas.

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

Tabela 1. Representaes de uma linguagem regular Descritivo Expresso Regular denota um formalismo para construir palavras de uma linguagem, definida a partir de um conjunto bsico de operaes de concatenao e unio [Menezes, 1997]. Autmato Finito No Determinstico apresenta duas ou mais transies para fora de um estado, possibilitando o smbolo de entrada seguir por qualquer dos caminhos, este por sua vez, tornase mais lento, pois mais suscetvel a erros, porm ele ocupa menor espao de memria [Crespo, 1998].
e9

Exemplo (0|1)*0

e10

e5 0

e1

e2

e7 e3 1 e4

e8

e6

e3
1

Autmato Finito Determinstico apresenta apenas uma nica transio para fora de um estado que est representando o smbolo de entrada no mesmo, tornando-se mais rpido [Crespo, 1998].

e1

e2

1 e3 e3 e3

Tabela de transio a representao tabular do diagrama de transio (AFD ou AFND) [Menezes, 1997].

e1 * e2 e3

e2 e2 e2

2.1. Equivalncias entre as representaes A equivalncia entre as diferentes representaes de uma linguagem regular pode ser verificada a partir da aplicao de algoritmos de converso de uma notao em outra. A Figura 1 ilustra os algoritmos aplicados pelo EduLing para demonstrao da equivalncia.

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

ER

Algoritmo de Thompson

AFND

Tcnica de Eliminao de Estados

AFD Algoritmo de Construo de Subconjuntos

Figura 1. Algoritmos de converso utilizados Um maior aprofundamento sobre os algoritmos de converso pode ser encontrado em [HOPCROFT & ULLMAN, 1979], [AHO et al., 1995], [ROZENBERG & SALOMAA, 1997].

3. Descrio do EduLing
O EduLing foi concebido para auxiliar a aprendizagem de linguagens regulares, em especial facilitando e proporcionando alternativas visuais para a construo de expresses regulares e autmatos. Para isso, foi desenvolvida uma interface interativa onde o aluno pode manipular diretamente smbolos, transies e estados, bem como simular o reconhecimento de sentenas de forma grfica. O EduLing est dividido em trs mdulos, Tutorial, Experimentao Livre e Desafio. O Mdulo de Experimentao Livre est subdividido em Expresso Regular e Autmato Finito, assim o acesso a estes mdulos pode ser feito atravs dos atalhos na tela principal do EduLing, conforme a Figura 2.

Figura 2. Tela principal do EduLing 3.1. Mdulo Tutorial O mdulo tutorial aborda os conceitos fundamentais sobre a teoria das Linguagens Regulares que so utilizados pelo EduLing. Este apresenta um menu de acesso aos seis captulos disponveis: Expresso XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

Regular, Autmato Finito, Autmato Finito No Determinstico, Autmato Finito Determinstico, Minimizao de Autmatos e Algoritmos de Converso. Cada captulo composto de textos, exemplos ilustrados e exerccios de mltipla escolha, onde o aluno pode verificar a compreenso que obteve do captulo. 3.2. Mdulo de Experimentao Livre O mdulo de Experimentao Livre possibilita a construo de linguagens regulares de forma prtica. O aluno pode desenvolver sua linguagem atravs de Expresso Regular ou Diagrama de Transio. Em ambos os casos, aps terminada a construo da linguagem, possvel visualizar as outras representaes equivalentes (AFD, AFND, ER e Tabela) conforme ilustra a figura 3.

Figura 3. Ilustrao da Equivalncia de ER, AFD e AFND Se o aluno optar por construir a ER ele deve faz-lo na rea de texto destinada para isso. J se optar pela construo do Diagrama de Transio o software fornece ao aluno as ferramentas de desenho dos estados e dos arcos conforme ilustra a figura 4.

Figura 4. Construo de Diagramas de Transio

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

Cada estado apresenta suas propriedades, podendo ser acessadas atravs do boto direito do mouse, nesta operao o aluno pode marcar ou desmarcar um estado como inicial ou final. Pode tambm exclu-lo. Da mesma forma, as propriedades pertinentes ao arco so acessadas com o boto direito. O aluno tem a possibilidade de informar o caractere a ser reconhecido pelo arco, modificar a localizao deste (posio da ligao entre os estados) e exclu-lo. Aps o desenvolvimento do diagrama de transio, o aluno tem a possibilidade de validar a linguagem construda por meio da simulao do reconhecimento de sentenas. Para isso o aluno deve fornecer uma sentena (conjunto de caracteres) a ser reconhecida pela linguagem. O software ilustra a simulao da seguinte forma: cada caracter da sentena de entrada consumido disparando uma transio, neste momento, salienta-se o arco correspondente; cada mudana de estado destacada no diagrama atravs da mudana de cor deste; todas as etapas da simulao ficam registradas em um log visvel ao aluno. O aluno pode selecionar se deseja acompanhar a simulao passo a passo ou continuamente. A Figura 5 apresenta a simulao de uma sentena informada pelo aluno.

Figura 5. Simulao do diagrama desenvolvido 3.3. Mdulo Desafio O Mdulo Desafio busca incentivar o aluno a explorar seu potencial criativo para resoluo de problemas instigando a liberdade de expresso e aprimorando o seu senso crtico. Neste Mdulo, o professor deve anteriormente inserir um conjunto de questes a serem apresentadas ao aluno na forma de desafios. Conforme a Figura 6, o professor descreve o enunciado informando toda a dimenso do problema, indica como o aluno dever resolver o mesmo (atravs de ER ou Diagrama de Transio) e elabora a resposta de acordo com a opo de resoluo selecionada.

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

Figura 6. Insero de um Desafio Na execuo do desafio, um problema selecionado aleatoriamente na base de dados e apresentado ao aluno. Este inicia a resoluo atravs do boto Executar. O processo de construo da soluo segue o mesmo padro do mdulo de experimentao livre. Uma vez que o aluno considere o problema solucionado, pode solicitar a avaliao do professor. Este por sua vez pode orientar o aluno a rever o processo ou mesmo exibir a sua soluo acessvel atravs do boto Resposta cujo acesso restrito por uma senha. A Figura 7 mostra a tela de execuo do desafio, onde o aluno tem a descrio da atividade que dever realizar.

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

Figura 7. Tela da execuo do desafio Em qualquer momento o aluno pode salvar o trabalho que est desenvolvendo, para recuper-lo posteriormente. O software foi desenvolvido em Delphi 5.0 e utiliza o banco de dados Paradox.

4. Concepes Pedaggicas do EduLing


O desenvolvimento de um software educacional deve considerar uma srie de requisitos pertinentes ao desenvolvimento de atividades pedaggicas. A escolha de concepes pedaggicas faz-se necessria uma vez que estas devero direcionar o desenvolvimento de todo processo de interao do software com alunos e professores. Inicialmente, toda prtica pedaggica reflete uma concepo do que seja ensinar e aprender, porm idias e prticas acumuladas ao longo da formao de um profissional da rea da educao resultam no processo de ensino-aprendizagem. Todas as decises tomadas para a conduo do trabalho pedaggico so as concepes pedaggicas [Oliveira et al., 2001]. O EduLing baseou-se em duas concepes pedaggicas distintas, porm no excludentes. O mdulo de Experimentao Livre foi desenvolvido segundo a concepo racionalista e o mdulo Desafio segundo a concepo interacionista. A seguir so apresentadas as concepes e como elas influenciaram no desenvolvimento da interao com o aluno no EduLing. 4.1. Concepo Racionalista Muitos Softwares Educacionais apresentam como caracterstica principal concepo racionalista. Estes deixam o usurio buscar as solues para os erros que cometeu, sem oferecer uma pista ou idia de como solucionar tal dificuldade, assim o conhecimento dever se dar atravs de simples descobertas [Oliveira et al., 2001]. No mdulo de experimentao livre as atividades no so direcionadas, os recursos do software so apresentados e o aluno tem a possibilidade de explor-los de acordo com suas curiosidade. O software apresenta os erros do autmato construdo ao aluno, validando o mesmo quanto a minimizao e inconsistncias. Porm o aluno no recebe nenhuma orientao para solucionar o problema, e simplesmente deve faz-lo de forma autnoma. 4.2. Concepo Interacionista

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

Na concepo interacionista, o aluno no induzido nas suas concluses, pois a interferncia do professor no processo de aprendizagem dever ser sutil, restringindo-se apenas a orientar o aprendiz durante o desenvolvimento da soluo para as fontes de pesquisa e exemplos relacionados que possam auxiliar na aprendizagem. Desta forma, o aluno desenvolve sua capacidade de reflexo e avaliao sobre o resultado, conseqentemente fortalecendo na busca de novas alternativas para superar dificuldades futuras [Oliveira et al., 2001]. O mdulo desafio foi planejado para ser desenvolvido em laboratrio com a mediao do professor. Este cria anteriormente os problemas que iro desafiar o aluno de acordo com a pertinncia do contedo a ser trabalhado. O aluno tem a possibilidade de solucion-las com o apoio do professor, que deve intervir quando for apropriado. Neste caso, a ferramenta facilita a ateno individualizada a cada aluno, pois cada qual estar solucionando um problema diferente. Alm disso, o professor no necessita demonstrar as falhas no reconhecimento das sentenas, basta indic-las para que o prprio aluno teste-as atravs da simulao.

5. Resultados Preliminares
Foi realizado um experimento preliminar com 19 alunos da disciplina de Linguagens Formais e Compiladores, para avaliar o potencial pedaggico da ferramenta no auxlio a aprendizagem de linguagens regulares. O experimento foi realizado quando os aluno estavam principiando no contedo relativo as linguagens regulares. O experimento foi realizado em trs etapas: reconhecimento do software, experimentao e avaliao. 5.1. Reconhecimento do software A ferramenta foi apresentada pelo professor, em laboratrio, e os alunos realizaram um reconhecimento inicial de sua interface. Esta etapa foi realizada para solucionar os problemas de incompreenso da mesma que pudessem ocorrer e influenciar a avaliao das funcionalidades do software. Cumpre salientar que no houve no experimento a inteno de avaliar a usabilidade da interface. 5.2. Experimentao A seguir realizou-se a experimentao do software , onde os alunos foram incentivados a utilizar os trs mdulos do software na seguinte ordem: Tutorial, Experimentao Livre e Desafio. O professor buscou atuar como mediador principalmente quando os alunos estava realizando os desafios. O experimento teve a durao de noventa e cinco minutos. 5.3. Avaliao Ao final da experimentao os alunos preencheram um instrumento de avaliao (questionrio) sobre a ferramenta. A anlise das respostas indicou que os alunos encontraram facilidade para construo dos autmatos e para visualizao da equivalncia entre AFD e AFND, seja na forma de Tabela ou Diagrama de Transio. Todos assinalaram que a ferramenta auxiliou a desempenhar a tarefa.

6. Consideraes Finais
O EduLing foi concebido para reduzir a dificuldade que muitos alunos apresentam para a aprendizagem das Linguagens Formais. Desta forma, o software busca melhorar o processo de aprendizagem nos cursos de Cincia da Computao. O nmero de alunos que avaliaram a ferramenta ainda pequeno para poder-se apresentar resultados conclusivos, porm alguns indicadores de que o software pode influenciar positivamente a aprendizagem de linguagens regulares foram encontrados. Atravs do experimento foram identificados alguns pontos a serem melhorados. A linguagem do tutorial deve ser adaptada para a situao de ausncia do professor possibilitando a auto-instruo, a representao grfica dos autmatos deve permitir mais pontos de ligao entre os estados, deve ser construdo um mdulo de ajuda e desenvolvidos uma maior quantidade de exerccios no modulo tutorial.

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003

Como trabalho futuro, pretende-se transformar o ambiente em um Sistema Tutor Inteligente capaz de realizar a avaliao automtica das linguagens construdas pelo aluno no mdulo desafio, adaptando os contedos e estratgias ao ritmo e perfil deste.

7. Referncias Bibliogrficas
AHO, Alfred V., et al.. (1995) Compiladores: princpios, tcnicas e ferramentas, Traduo: Daniel de Ariosto Pinto, LTC Livros Tcnicos e Cientficos. CHOMSKY, Noam. (1955) Logical Structure of Linguistic Theory, MIT Humanities Library. COHEN, Daniel. (1996) Introduction to computer theory, Wiley & Sons, Inc.. CRESPO, Rui Gustavo. (1998) Processadores de linguagens: da concepo implementao, IST Press. HOPCROFT, John E.; ULLMAN, Jeffrey D..(1979) Introduction to automata theory, languages, and computation, Addison-Wesley Publishing Company. MENEZES, Paulo Blauth. (1997) Linguagens formais e autmatos, II UFRGS, Sagra Luzzatto. OLIVEIRA, Celina Couto de, et al.. (2001) Ambientes informatizados de aprendizagem: produo e avaliao de software educativo, Papirus, p. 144. ROZENBERG, Grzegorz; SALOMAA, Arto. (1997) Handbook of formal languages, Springer-Verlag.

XIV Simpsio Brasileiro de Informtica na Educao NCE IM/UFRJ 2003