Ferramenta Didática Interativa Utilizando a Linguagem NCL:
Algoritmo de Quine-McCluskey
Hugo V. Mattos, Grupo PET-Tele, UFF
Alexandre S. de la Vega, Grupo PET-Tele, UFF
(pet.telecom.uff.br / [email protected])
INTRODUÇÃO
 Em vista da abrangência que a Televisão possui na população brasileira,
visualiza-se uma possibilidade de inclusão digital da mesma através da
implantação da TV Digital no país.
 No padrão de TV Digital adotado no Brasil, foi adotada um middleware
composto pelas linguagens de programação NCL, Java e Lua.
 A linguagem NCL possui a característica de gerenciar eficientemente
mídias de diversos tipos, permitindo um alto grau de interatividade.
 Portanto, além do conteúdo normal da Televisão e com o uso da
interatividade, espera-se alcançar uma maior difusão de
conhecimentos através desse novo canal de comunicação.
 O objetivo desse trabalho foi o desenvolvimento de uma ferramenta
didática interativa, versando sobre o Algoritmo de Quine-McCluskey,
inicialmente baseada na linguagem NCL, distribuída de forma gratuita.
O ALGORITMO IMPLEMENTADO
 No ramo das Telecomunicações, circuitos digitais são largamente
utilizados, nas mais diversas aplicações.
 Os circuitos digitais podem ser divididos em dois grandes grupos:
circuitos combinacionais e circuitos sequenciais.
 Circuitos combinacionais podem ser vistos como implementações de
funções lógicas booleanas.
 Uma mesma função pode ser descrita por diversas expressões lógicas.
Thiago M. de Souza, Grupo PET-Tele, UFF
Débora C. M. Saade, Laboratório MídiaCom, UFF
(www.midiacom.uff.br / [email protected])
O APLICATIVO
 A interface com o usuário utiliza recursos de áudio, figuras e texto.
 O áudio foi subdividido em seções e é utilizado pelo código NCL para
sincronizar os demais objetos de mídia.
 A apresentação é dividida em 63 telas, que demonstram como iniciar,
desenvolver e finalizar o algoritmo de minimização implementado.
 São oferecidos dois tipos distintos de navegação: “Apresentação em
fluxo contínuo” e “Apresentação com controle manual”, cada um
implementado em um nó de contexto diferente.
 Na opção de fluxo contínuo, o término do áudio de uma tela provoca o
início da tela seguinte.
 No controle manual, o usuário pode escolher os pontos de acesso, sendo
obrigatório utilizar os botões de navegação (retroceder, avançar, início
e sair) para percorrer a apresentação.
 A justificativa para o modo manual é que o usuário ocupe o tempo que
julgar necessário para compreender todo o conteúdo apresentado em
cada tela.
 Os botões “início” e “sair” foram implementados fora dos contextos
para que se pudesse utilizar o recurso “re-uso de nós”, técnica
disponível em NCL que facilita e torna mais eficiente a programação do
aplicativo.
 Uma tela típica e a visão estrutural do aplicativo são apresentadas nas
figuras abaixo.
 Quanto menor for a expressão lógica, menor será o circuito.
 Uma alternativa algorítmica de minimização de expressões lógicas é um
método tabular denominado de Método dos Implicantes Primos ou
Método de Quine-McCluskey.
 O aplicativo desenvolvido implementa o algoritmo básico, aplicado em
expressões que apresentam uma expressão mínima única.
A ESCOLHA DAS LINGUAGENS
 Diversas implementações do algoritmo de Quine-McCluskey podem ser
encontradas, usando linguagens procedurais, que permitem uso local ou
via Internet.
 Nesses casos, diversas interfaces gráficas podem ser utilizadas para
trocar dados com o usuário.
 Porém, a integração de NCL com Lua viabiliza uma melhoria na
interface com o usuário.
 Enquanto Lua realiza a parte de implementação procedural do cálculo
do algoritmo, NCL é capaz de gerenciar eficientemente várias mídias
diferentes para interagir com o usuário.
 Assim sendo, espera-se que o uso conjunto das linguagens NCL e Lua
seja bastante adequado para o desenvolvimento de aplicativos
didáticos interativos.
 Na sua primeira versão, a ferramenta apresenta um manual interativo
do citado algoritmo, utilizando apenas a linguagem NCL.
A LINGUAGEM NCL
 NCL é uma linguagem fundamentada no paradigma declarativo.
 A linguagem NCL possui os conceitos de nós e elos.
 Através desses conceitos, podem-se declarar documentos hipermídia,
onde podem ser reunidos diversos tipos de mídia.
 As mídias podem interagir a partir de ações executadas pelo usuário.
 Cada nó pode ser também um conjunto de nós e elos, o qual passa a ser
chamado de “nó de composição” ou “nó de contexto”.
 No caso de documentos extensos, tal construção permite uma melhor
organização do documento e torna seu código menor e mais eficiente.
CONCLUSÕES
 O aplicativo desenvolvido tem importância no quesito educação, por se
tratar de um software gratuito, que poderá ser utilizado em qualquer
aparelho de TV Digital brasileiro.
 A versão atual é um manual online e interativo do algoritmo em questão,
que minimiza uma expressão exemplo, codificado na linguagem NCL.
 O próximo passo para uma evolução do aplicativo será permitir que o
usuário apresente diferentes expressões lógicas a serem minimizadas.
 Assim sendo, o usuário poderá estudar a teoria através do manual
interativo, exercitar a minimização manualmente e, por fim, verificar o
resultado utilizando a parte procedural do aplicativo.
 Para isso, o algoritmo será implementado utilizando a linguagem Lua,
ligando-se com o código NCL através da API NCLua.
BIBLIOGRAFIA E REFERÊNCIAS
 F. J. Hill and G. R. Peterson. Introduction to Switching Theory and Logical
Design. John Wiley, New York, NY, 3ed. , 1981.
 L. F. G. Soares and S. D. J. Barbosa. Programando em NCL 3.0:
Desenvolvimento de aplicações para o middleware Ginga. Campus, Rio de
Janeiro, RJ, 2009.
 R. Ierusalimschy. Programming in Lua. Lightning Source Inc, RJ, 2ed., 2006.
 Ferramentas de desenvolvimento NCL-Ginga: http://www.gingancl.org.br.
Download

pôster apresentado