sexta-feira, 19 de julho de 2013

Sistemas embarcados - Urna eletrônica


Urna eletrônica é uma invenção brasileira, desenvolvida para tornar possível a informatização dos processos eleitorais no país. Pode ser definida como um conjunto de componentes como; o terminal do eleitor, o microterminal (utilizado pelos mesários, para, a partir da identificação do eleitor, liberar a urna para o voto, assim como para encerrar a votação), teclado (teclas do terminal do eleitor têm gravado o código braile), monitor, conector para fone de ouvido (para eleitores com deficiência visual), portal de disquete, impressora (para imprimir os boletins), entre outros componentes operacionais.
A urna eletrônica funciona ligada à energia elétrica (110V ou 220V), mas em caso de falta de eletricidade, continua funcionando, pois possui bateria interna com capacidade de 12 horas. Pode também ser ligada a bateria de um carro. Seu peso é de aproximadamente 8 kg.
Nas eleições municipais de 1996, a urna eletrônica foi utilizada pela primeira vez em maior escala, nos 57 municípios do país com mais de 200 mil eleitores. Nas eleições de 1998, a votação eletrônica foi ampliada, e a urna foi utilizada nos 537 municípios brasileiros com mais de 40.500 eleitores. Finalmente, em 2000, as eleições foram 100% informatizadas, ou seja, a urna eletrônica foi utilizada em todos os 5.559 municípios existentes até então.

os componentes principais da urna eletrônica brasileira são:

Memória: dois cartões de memória flash um interno e outro externo, com os dados idênticos, onde está gravado o sistema operacional, os programas aplicativos, os dados sobre os candidatos e onde os votos vão sendo gravados através de mecanismos de segurança e redundância de forma a tentar dificultar desvio de votos e a quebra do seu sigilo.
Pen-drive: para gravar o resultado ao final da votação.
Módulo impressor: utilizado antes do início da votação para a impressão da "zerésima" e ao final da votação para a impressão do "boletim de urna".
Terminal do mesário ou microterminal: um pequeno teclado numérico com leitor biométrico de impressão digital do eleitor, através do qual o mesário autoriza o eleitor a votar pela digitação do número do título do eleitor.
Terminal do eleitor: composto de uma tela LCD e um teclado numérico através do qual o eleitor faz sua escolha, possui ainda as teclas BRANCO, CORRIGE e CONFIRMA.
















domingo, 2 de junho de 2013

Diferenças entre Software Proprietario, livre e Codigo Aberto

O software livre é um programa criado e gerenciado por varias comunidades de desenvolvedores espalhadas pelo mundo. Estas comunidades se comprometem a colaborar com o desenvolvimento, atualização e correção do software. Já o usuário tem a opção de utilizar o programa sem custos, conforme a licença de uso de cada um.

O Software proprietário é um produto criado por uma pessoa que detém os direitos sobre o produto, e sua distribuição é feita mediante pagamento de licença de uso.

apresentada as diferenças, podemos analisar basicamente um ponto positivo e outro negativo. No caso do software livre, existe a liberdade dos usuários utilizarem um sistema sem a necessidade de investimentos em licenças de uso, ao contrario do software proprietário. Entretanto, no caso do software livre, mesmo com grande quantidade de matéria didático publicado na internet, o usuário acaba sempre precisando de um apoio técnico. Esta afirmação é fundamentada em empresas em vários anos no mercado, e trabalhando diretamente com suporte de usuários.


código aberto?

A princípio, o simples fato do programa estar com seu código aberto não garante absolutamente nada sobre a sua distribuição, modificação e comercialização.  Na verdade, o termo “código aberto” somente afirma que qualquer pessoa pode ter acesso ao código do programa, mas que seu desenvolvedor determina asuas condições de uso.

Por esse motivo, muitos aplicativos que se encaixam nessa categoria, nem mesmo possuem licenças  “Software  Livre” (Free Software Foundation/ GNU GPL) ou “Código aberto” (Open Source Initiative). Já o contrário deve ser necessariamente verdade, pois uma das principais exigências de ambas comunidades citadas acima é que o código dos programas estejam abertos.

Seguindo essa definição, caso a Microsoft abra os fontes do Windows somente para leitura, mas não permita modificações e sua redistribuição, o sistema das janelinhas seria considerado “código aberto”. Contudo, esse sistema operacional ainda não faria parte das comunidades Free Software Fondation e Open Source Initative.

quinta-feira, 25 de abril de 2013

Compiladores

ANTLR

 

O que é o ANTLR?

ANTLR (outra ferramenta de Reconhecimento Language) é um poderoso gerador de parser para leitura, processamento, execução, ou traduzir texto estruturado ou arquivos binários. É amplamente utilizado para a construção de linguagens, ferramentas e frameworks. A partir de uma gramática ANTLR gera um analisador que pode construir e caminhar árvores sintáticas.


ANTLR é uma ferramenta extremamente poderosa e flexível para análise de linguagens formais. No Twitter, podemos usá-lo exclusivamente para a análise da consulta em busca do Twitter. Nossos gramáticas são limpos e conciso, eo código gerado é eficiente e estável. O livro é o nosso go-to de referência para ANTLR v4 -. escrita cativante, descrições claras e exemplos práticos, tudo em um só lugar Samuel Luckenbill, Gerente Sênior de Pesquisa de Infra-estrutura, Twitter, inc. 

Introdução de ANTLR

OS X
 
 $ Cd / usr / local / lib
 $ Wget http://antlr4.org/download/antlr-4.0-complete.jar
 $ Export CLASSPATH = ". :/ Usr/local/lib/antlr-4.0-complete.jar: $ CLASSPATH"
 Alias ​​$ antlr4 = 'java-jar / usr/local/lib/antlr-4.0-complete.jar'
 Alias ​​$ grun = 'java org.antlr.v4.runtime.misc.TestRig'