domingo, 30 de outubro de 2011

Helicóptero virtual é pilotado apenas com o pensamento


Cientistas criaram uma interface neural não-invasiva que permite que os usuários controlem um helicóptero virtual usando apenas suas mentes.

Os sinais do eletroencefalograma são filtrados temporal e espacialmente para produzir os componentes individuais do movimento 3D.


A interface cérebro-computador é um aprimoramento de um exame de eletroencefalografia que usa eletrodos fixados em uma touca flexível.

O grande avanço em relação aos experimentos anteriores do mesmo tipo é que os usuários pilotam seu helicóptero em um espaço tridimensional livre.

Esta é uma tarefa bem mais complexa do que pegar um objeto usando um braço robótico, por exemplo, porque toda a cena, que é acompanhada pelo usuário na tela de um computador, está em contínuo movimento.

Interface neural não-invasiva

Vários trabalhos anteriores nesta área exigiam tratamentos invasivos para medir a atividade intracraniana. Mas esta nova abordagem usa apenas uma touca flexível, não exigindo nem mesmo que o usuário raspe os cabelos.

A interface neural monitora ondas específicas do cérebro, conhecidas como ritmo sensório-motor, que por sua vez podem ser caracterizadas e calibradas para controlar os movimentos do helicóptero na tela.


A tarefa exigia que os usuários pilotassem seu helicóptero virtual através de anéis posicionados aleatoriamente no espaço tridimensional.
Estes componentes são ponderados e digitalizados de forma a gerar uma saída que controla o helicóptero virtual.

Controle mental do mundo virtual

Simplesmente pensando na direção que deseja seguir, o usuário navega continuamente e com muita precisão - a meta é passar em três círculos que surgem em diferentes posições e diferentes altitudes no ambiente virtual.

A tarefa exigia que os usuários pilotassem seu helicóptero virtual através dos anéis, posicionados aleatoriamente no espaço tridimensional.

A meta foi alcançada com sucesso de 85% das vezes.

"Este trabalho demonstra, pela primeira vez, que se pode realizar um controle tridimensional, contínuo e em tempo real, de um objeto voador em um mundo virtual," disse o Dr. Bin He, da Universidade de Minnesota, nos Estados Unidos, coordenador do trabalho.

Embora as aplicações em entretenimento sejam óbvias, o Dr. He está mais interessado em criar uma interface neural que permita que pessoas parcial ou totalmente paralisadas controlem próteses e até robôs assistentes.


Artigo publicado no site http://www.inovacaotecnologica.com.br.

ref: http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=helicoptero-virtual-pilotado-apenas-pensamento&id=010150111028

quinta-feira, 27 de outubro de 2011

Tela sensível ao toque sabe qual parte do dedo você está usando

As telas sensíveis ao toque já se tornaram tão onipresentes hoje em dia que achamos que não há muito onde inovar nelas. Um grupo de pesquisadores da Universidade de Carnegie Mellon, no entanto, discorda. O grupo desenvolveu uma tela sensível ao toque capaz de detectar com qual parte do dedo você está tocando na tela. Apesar de parecer uma tecnologia de utilidade um pouco questionável, seus criadores também desenvolveram algumas demonstrações de como ela pode ser potencialmente útil.

Chamada de TapSense, a nova tecnologia é capaz de detectar quatro partes diferentes do dedo: a unha, o ligamento, a ponta e a digital. Ela funciona detectando, por meio de microfones mais potentes, os sons que o dedo faz ao tocar na tela e assimilando uma parte dele a cada padrão de som diferente. O vídeo abaixo exibe uma explicação mais detalhada em inglês e demonstra alguns dos usos pensados pelo grupo.




Os pesquisadores responsáveis, Chris Harrison, Julia Schwarz e Scott Hudson, dizem que o método usado no TapSense consegue descobrir qual parte do dedo está tocando a tela com 95% de precisão. Além disso, ela pode ser usada com outros itens, como canetas especiais, que desenhariam em cores diferentes na tela de acordo com o material da caneta.

Fonte: NetworkWorld.

domingo, 23 de outubro de 2011

Skinput


Da pele para qualquer coisa

Em 2010, pesquisadores da Universidade Carnegie Mellon, nos Estados Unidos, criaram uma tecnologia inédita de interface, que permite transformar a própria pele em um teclado virtual.

Eles a batizaram de Skinput - uma mescla de skin (pele) e input (entrada de dados).

Agora, em colaboração com a Microsoft Research, eles aprimoraram a tecnologia e a rebatizaram de OmniTouch - uma tecnologia que transforma qualquer superfície em uma interface por toque.

Como não poderia deixar de ser, a OmniTouch incorporou a tecnologia do Kinect, que substituiu os sensores acústicos por uma câmera para rastrear os dedos do usuário sobre as superfícies.

O ganho é que os controles podem ser projetados em qualquer superfície, sem exigir a instalação dos sensores.


A nova tecnologia de interface é promissora, mas precisa primeiro ganhar um banho de mobilidade.



Banho de mobilidade

Um pico-projetor superpõe teclados e outros controles em qualquer superfície, ajustando-se automaticamente ao formato e orientação da superfície, de forma a evitar distorções das imagens projetadas, permitindo que até braços e mãos transformem-se em interfaces usáveis.

A câmera detectora de profundidade do Kinect, por sua vez, rastreia os dedos em 3D, simulando com grande realismo uma tela sensível ao toque na superfície onde a imagem está projetada.

"É concebível que qualquer coisa que você faça hoje nos dispositivos móveis, você será capaz de fazer na sua mão usando o OmniTouch," afirmou Chris Harrison, criador do Skinput original e membro da equipe que fez o upgrade para o OmniTouch.

Digitar o número do telefone na palma da mão ou projetar um teclado qwerty sobre a carteira ou o caderno realmente parecem ser alternativas promissoras.

Antes, porém, a tecnologia terá que ela própria receber um banho de mobilidade: o aparato requer um suporte sobre os ombros, nada simpático e nem um pouco prático.

domingo, 16 de outubro de 2011

Criado tablet para escrever em Braille

Mudando de ideia

Pesquisadores da Universidade de Stanford, nos Estados Unidos, criaram um tablet que permite escrever braile usando a tela sensível ao toque.

"Originalmente, nossa intenção era criar um aplicativo de reconhecimento de caracteres que pudesse usar uma câmera de um dispositivo móvel - um celular ou um tablet - para transformar páginas em Braille em textos correntes," explica Adam Duran, idealizador do projeto.

Mas os problemas começaram a pipocar rápido.

"Como é que uma pessoa cega vai orientar uma página para que o computador saiba qual é o lado de cima? Como uma pessoa cega vai garantir a iluminação correta de toda a página," explica Duran.

Logo ficou claro para ele e seus colegas Adrian Lew e Sohan Dharmaraja que o pulo do gato não era fazer um leitor Braille, mas um "escrevedor" Braille.

"Imagine ser um cego em uma sala de aula, como é que você vai fazer anotações," comenta Lew. "E como fazer se você estiver na rua e precisar anotar um número de telefone? Estas são questões reais com que as pessoas cegas se deparam no dia-a-dia."

Tablet para escrever em Braille

Uma máquina de escrever Braille moderna se parece com um notebook sem tela, com um teclado de oito teclas - seis para criar o caracter, mais um enter e um delete.

O maior desafio foi criar uma forma para que uma pessoa cega pudesse encontrar as teclas em uma tela sensível ao toque comum, que é plana, sem nenhuma saliência.

Então, em vez de criar teclas na tela que o usuário precise localizar, os cientistas inverteram o processo: o usuário coloca oito dedos simultaneamente sobre a tela e o programa leva as teclas virtuais até cada um dos dedos.

Se o usuário ficar perdido no meio da digitação, basta tirar todos os dedos da tela e começar de novo.

Os cientistas afirmam que um tablet Braille deverá custar um décimo do preço de uma máquina de escrever Braille tradicional.

domingo, 9 de outubro de 2011

WebService

Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Os Web services são componentes que permitem às aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o formato XML.
Tecnologias

As bases para a construção de um Web service são os padrões XML e SOAP. O transporte dos dados é realizado normalmente via protocolo HTTP ou HTTPS para conexões seguras (o padrão não determina o protocolo de transporte). Os dados são transferidos no formato XML, encapsulados pelo protocolo SOAP.
[editar]Segurança

Muitas empresas temiam, no passado, prover funcionalidades na Internet devido ao medo de expor seus dados. Mas com advento dos Web Services elas podem publicar serviços de forma simples e que são totalmente isolados da base de dados.
A segurança dos Web Services é um dos pontos fracos desta tecnologia. O problema não é a falta de mecanismos de segurança mas sim a falta de consenso em qual deve ser o mecanismo a ser adaptado pela tecnologia Web Service, As questões mais relevantes na segurança são as seguintes: - Autenticidade (ter a certeza que uma transacção do Web Service ocorreu entre o servidor e seu cliente; - Privacidade (todas as mensagens trocadas entre o servidor e o cliente não são interceptadas por uma pessoa não autorizada); - Integridade (as mensagens enviadas tanto pelo servidor ao cliente, como o contrário, devem permanecer inalteradas).
A seguir, descrevem-se os principais mecanismos de segurança.
[editar]SSL
O SSL (Secure Socket Layer) [Netscape 1996] quando aplicado a pequenos dispositivos oferece autenticação, integridade de dados e privacidade de serviços. Actualmente, a solução para enviar informação confidencial para Web Services é utilizar um mecanismo de segurança SSL sobre HTTP também conhecido como HTTPS (Hypertext Transfer Protocol Secure). Este mecanismo protege informações confidenciais e é fácil de ser configurado. Tem como desvantagem ser mais lento do que as transacções HTTP não cifradas pelo que não é adequado para taxas de transferências de dados elevadas.
[editar]Xml signature
A XML Signature [IETF e W3C 2000] é uma iniciativa conjunta da IETF (Internet Engineering Task Force) e do W3C para especificar uma sintaxe XML e regras de processamento para criação e representação digital de assinaturas. As vantagens na utilização da XML Signature, ao contrário de outras normas de assinaturas digitais, estão baseadas na independência da linguagem de programação, fácil interpretação humana e independência do fabricante. Esta tecnologia também permite assinar digitalmente subconjuntos de um documento XML.
[editar]Xml encryption
A XML Encryption [IETF e W3C 2002] especifica um processo para cifra de dados e sua representação em formato XML. Os dados podem ser dados arbitrários (incluindo um documento XML), elementos XML ou conteúdos de elementos XML. Um documento XML que utiliza a XML Encryption pode ser visto por qualquer utilizador, mas apenas o proprietário da chave de descodificação conseguirá compreender o conteúdo codificado.
[editar]Ws-security
O WS-Security (Web Services Security) é uma iniciativa conjunta de empresas como Microsoft, IBM e Verisign destinada ao uso da XML-Signature e da XML-Encryption para fornecer segurança às mensagens SOAP. O WS-Security é um esforço destinado a fazer com que os Web Services trabalhem melhor em um ambiente global. O WS-Security também inclui alguns importantes componentes como encaminhamento, confiança e tratamento de transações.
[editar]Saml
O SAML (Security Assertion Markup Language) [OASIS 2001] é uma norma emergente para a troca de informação sobre autenticação e autorização. O SAML soluciona um importante problema para as aplicações da próxima geração, que é a possibilidade de utilizadores transportarem seus direitos entre diferentes Web Services. Isto é importante para aplicações que tencionam integrar um número de Web Services para formar uma aplicação unificada.
[editar]Limitações associados aos Web Services

Apesar da sua grande popularidade [carece de fontes] e relativa simplicidade [carece de fontes], o SOAP tem várias limitações, que por sua vez afetam os Web Services diretamente, por dependerem de tais recursos.
As limitações são descritas em seguida:
Segurança e privacidade – nenhuma das versões do SOAP define qualquer tipo de segurança. Isto é devido ao SOAP utilizar HTTP, mas para implementar mecanismos de segurança ao nível da rede pode utilizar o protocolo SSL no HTTP (também conhecido como HTTPS) para garantir a confidencialidade, a integridade e a autenticação do cliente, do servidor e da comunicação cifrada.
Como não existe um suporte para segurança, que inclui a privacidade, nas normas que compõem os Web Services, tem levado cada projecto a procurar diferentes soluções para resolver o problema da segurança o que se torna incompatível com a promessa de implementar uma normalização a nível global.
Mensagens e encaminhamento – para suportar as funcionalidades das mensagens assíncronas tradicionais
Qualidade de serviço e confiabilidade – para garantir tempos de resposta e detectar excepções
Processamento transaccional – para suportar comunicação transaccional, para associar essa comunicação transaccional com as transacções locais e para participar em transacções distribuídas
Gestão – para controlar o estado e comportamento dos Web Services
Desempenho – para optimizar a execução dos Web Services que tem implicações ao nível do desenho das aplicações, chamadas remotas, características da rede e armazenamento/processamento dos documentos
Interoperabilidade – suportar a interoperação sem problemas é o grande objectivo dos Web Services e do SOAP, ou seja, fornecerem uma plataforma de integração entre aplicações e diferentes linguagens e implementados em qualquer sistema operativo.
Assim esta tecnologia seria uma tecnologia normalizada mas, no entanto, existem rivalidades entre fornecedores. Por exemplo, o AXIS (implementação SOAP do projecto Apache) não é compatível com.Net da Microsoft, por isso gera interfaces em dois formatos, uma para consumo próprio e outra diferente para o.Net ser compatível com o Axis.
Para resolver este problema existe várias abordagens como o SOAPBuilders Interoperability Lab que fornece uma plataforma para testar a interoperabilidade dos produtos.

O que é Hibernate?

O Hibernate é um framework para omapeamento Objeto-Relacionalescrito na linguagemJava, mas também é disponível em .Net como o nomeNHibernate. Ele facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) para estabelecer esta relação. O objetivo do Hibernate é diminuir a complexidade entre os programas Java, baseado no modelo orientado a objeto. Mas o framework não é uma boa opção para todos os tipos de aplicação, ele é mais indicado para sistemas que contam com um modelo rico, onde a maior parte da lógica de negócios fica na própria aplicação Java. Segundo a documentação oficial o Hibernate pretende retirar do desenvolvedor cerca de 95% das tarefas mais comuns de persistência de dados.

As questões relacionadas para o gerenciamento de transações e na tecnologia de acesso à base de dados são de responsabilidade de outros elementos na infraestrutura do programa. Apesar de existirem API no Hibernate para possuir operações de controle transacional, ele simplesmente delegará estas funções para a infraestrutura na qual foi instalada.

No caso de aplicações construídas para serem executadas em servidores de aplicação, o gerenciamento das transações é realizado segundo o padrão JTA. Já nas aplicações standalone, o programa delega o tratamento transacional ao driver JDBC. O Hibernate foi criado por desenvolvedores Java, espalhados ao redor do mundo, e liderado por Gavin King. Posteriormente, A JBoss Inc (empresa comprada pela Red Hat) contratou os principais desenvolvedores do programa para fazer o seu suporte.

O Hibernate 3 também se aproxima das especificações EJB 3.0 e atua como a espinha dorsal das implementações EJB 3.0 em JBoss. A HQL (Hibernate Query Language) é um dialeto SQL para o Hibernate. Ela é uma poderosa linguagem de consulta que se parece muito com a SQL, mas a HQL é totalmente orientada a objeto, incluindo os paradigmas de herança, polimorfismo e encapsulamento. No Hibernate, você pode escolher tanto usar a SQL quanto a HQL. Escolhendo a HQL, você poderá executar os pedidos SQL sobre as classes de persistência do Java ao invés de tabelas no banco de dados, aumentando, assim, a distância entre o desenvolvimento da regras de negócio e o banco de dados.

Resumindo o Hibernate transforma os dados de um objeto em uma linha de uma tabela de um banco de dados, ou de forma inversa. Com o Hibernate também é possível mapear todos os relacionamentos existentes entre as tabelas de um banco de dados relacional.

Computação Cognitiva


Em primeiro lugar "Cognição" é o ato ou processo de conhecer, que envolve atenção, percepção, memória, raciocínio, juízo, imaginação, pensamento e linguagem, a palavra tem origem nos escritos de Platão e Aristóteles.

Então vamos falar um pouco da Computação Cognitiva que nada mais é que tentar com a informatica tem tentar imitar ou assimilar a capacidade humana de aprender e interagir com o ambiente.

Atualmente esse tema vem sido abordado por cientistas, neurologistas e psicólogos,e principalmente por grandes empresas que investem pesado em novas tecnologias, em agosto desse ano (18/08/2011 ) por exemplo a "IBM" apresentou uma nova geração de processadores experimentais "projetados para emular as capacidades do cérebro de percepção, sensação, ação, interação e cognição," segundo nota da empresa.

Em 2009, a IBM havia feito uma simulação por software equivalente ao cérebro de um gato. Mas o esforço em torno da chamada "computação cognitiva" vem ocupando os cientistas da empresa e de seus parceiros universitários há alguns anos.
Agora, eles estão colhendo os primeiro frutos de um hardware cognitivo, ainda que a alegada emulação da "percepção, sensação, ação, interação e cognição" do cérebro biológico pareça um tanto exagerada.

O projeto chama-se Synapse (Systems of Neuromorphic Adaptive Plastic Scalable Electronics) e o objetivo é criar um sistema - que inclui hardware e software - capaz de analisar informações em paralelo e reconfigurar-se dinamicamente em tempo de execução - vale dizer, aprender com a própria tarefa que está sendo realizada.

Projeto Synapse

O objetivo do projeto do processador cognitivo não é simular o cérebro humano, é usar o que já se sabe sobre o funcionamento dos cérebros biológicos para construir um sistema capaz de aprender e interagir com o ambiente.
Sem dúvida, um passo gigantesco em relação à arquitetura da computação atual, ainda que o projeto esteja dando apenas seus primeiros passos.
Composto de cinco fases (da Fase 0 à Fase 4), a empresa alega ter agora completado a Fase 1, que é o desenvolvimento do primeiro protótipo em hardware.

A Fase 2 do projeto Synapse, que se iniciará agora, pretende integrar todo o sistema cognitivo em um único chip, simulando em computadores tradicionais o funcionamento de um processador cognitivo com 10 milhões de neurônios.

A Fase 3 consistirá na fabricação e teste do processador cognitivo de 106 neurônios e o projeto e simulação de um protótipo com 108 neurônios.

Finalmente, a Fase 4 tentará construir um processador cognitivo com 108 neurônios, pronto para ser incorporado em um robô capaz de aprender.

Pesquisadores ensinam o primeiro chip cognitivo - um "cérebro" com 256 neurônios - a reconhecer padrões.

Processadores neuro-sinápticos

Apresentou dois protótipos dos novos "processadores neuro-sinápticos", que trabalham de forma totalmente diferente da arquitetura dos processadores atuais, conhecida como arquitetura Von Neumann.

Ambos possuem 256 "neurônios". O primeiro contém 262.144 sinapses programáveis e o segundo possui 65.536 sinapses reconfiguráveis.


IBM lança o "morphing chip", um processador capaz de se reconfigurar
Ambos foram testados em aplicações simples voltados à navegação, visão de máquina, reconhecimento de padrões, memória associativa e classificação de dados.

Referências:





Google - Data Center em Alto Mar

Em sua modesta ambição de organizar toda a informação da internet, o Google tornou-se um dos maiores responsáveis por armazenar dados no mundo. A expansão dos data centers, no entanto, pressiona os custos da companhia e a coloca a na mira de ambientalistas, preocupados com o consumo excessivo de energia.

Uma ousada proposta para cortar custos e explorar energias limpas é a criação de data centers em alto mar, ideia que o Google registrou no Trademark Office, órgão responsável por patentes nos Estados Unidos.

O Google não informa quando pretende colocar no oceano os primeiros navios/data center. Já a IDS, uma companhia americana de storage que detém patente similar para criar data centers flutuantes, prevê colocar em navegação seu primeiro barco do tipo até abril.

No caso da IDS, a companhia comprou navios antigos que seriam aposentados por armadores. As embarcações estão sendo reformadas no porto de São Francisco, na Califórnia. Vão receber preparo especial para acomodar servidores, escritórios, gerador de energia, baterias, dormitórios e refeitório.

O navio contará com hélices aéreas para captar os ventos marítimos e transformá-los em energia elétrica. Um sistema de bóias lançadas ao mar é capaz também de transformar o movimento das ondas do oceano em energia. 

A geração de eletricidade baseada no movimento das ondas já é explorada comercialmente na costa de Portugal, numa demonstração de que o recurso é viável.

Além destas características, a embarcação vai usar água fresca do mar para circular em meio aos servidores, contribuindo para refrigerar os equipamentos.

Embora o investimento inicial seja considerado alto, com o tempo o projeto mostra-se economicamente interessante, pois poupa as empresas do aluguel de espaços físicos em continentes, do pagamento de impostos sobre propriedade de imóveis e gera economia de energia.

O projeto prevê ainda a instalação de baterias nas embarcações de modo que, mesmo que o barco fique inacessível por até 30 dias, os servidores continuam funcionando normalmente. Um gerador elétrico movido a diesel também pode ser instalado para uso em situações excepcionais, como ausência de ventos ou movimento das ondas por vários dias.

domingo, 2 de outubro de 2011

Ajax - Programação

AJAX é o uso sistemático de tecnologias providas por navegadores, como Javascript e
XML, para tornar páginas mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações.
AJAX não é uma tecnologia, mas sim um agregado de várias delas, trabalhando juntas
para oferecer novas funcionalidades. São elas:

Apresentação baseada em padrões, usando XHTML e CSS;
Exposição e interação dinâmica usando o DOM;
Intercâmbio e manipulação de dados usando XML e XSLT;
Recuperação assíncrona de dados usando o objeto XMLHttpRequest;
e JavaScript unindo todas elas em conjunto.

A maior vantagem das aplicações AJAX é que elas rodam no próprio navegador Web.
Então, para estar apto a executar aplicações AJAX, bastar possuir algum dos navegadores modernos, ou seja, lançados após 2001.

Os quatro princípios de Ajax:

1 - O navegador hospeda uma aplicação, e não conteúdo
Uma grande proporção de código JavaScript é entregue ao usuário quando acessa o site/aplicativo AJAX pela primeira vez. Este conteúdo permanecerá com o usuário por toda a sessão. Ele sabe como responder às informações inseridas pelo usuário e é capaz de decidir se manipula a entrada do usuário ele mesmo ou se passa uma solicitação para o servidor Web, ou ainda se faz uma combinação de ambos.
O navegador também pode armazenar o estado do software, porque o documento continua persistindo sobre toda a sessão do usuário. Por exemplo, o conteúdo de uma cesta de compras pode ser armazenado no navegador, em vez de ser armazenado na sessão do servidor.

2 - O servidor fornece dados, e não conteúdo
Um carrinho de compra baseado em Ajax pode comportar-se de forma mais inteligente, por meio de remessas de solicitações assíncronas ao servidor. O cabeçalho, o histórico de navegação, e outras características do layout da página estão todas carregadas, portanto o servidor necessita enviar de volta somente os dados relevantes.
Em uma aplicação Ajax, o tráfego tem sua maior intensidade no início, com um largo e complexo cliente sendo entregue de uma única vez. As comunicações subseqüentes com o servidor são muito mais eficientes, já que portam apenas as porções de dados relevantes que resultam da interação da aplicação cliente com o servidor.

3 - A interação do usuário com a aplicação pode ser flexível e contínua
Para comunicar com o servidor em uma aplicação Web clássica, necessitamos clicar em um hyperlink ou submeter um formulário, e então aguardar. No entanto, este método interrompe a interação com o usuário. Em contraste, as técnicas de AJAX permitem que o usuário continue interagindo com outros elementos do software ao lado do cliente, enquanto o navegador executa sua comunicação com o servidor em segundo plano, avisando o usuário de forma inteligente quando obtiver o resultado desta comunicação.

4 - Real codificação requer disciplina
Até o presente, as aplicações Web tradicionais fazem uso de JavaScript em ocasiões esparsas, de forma superficial ou secundária, apenas para adicionar algumas funcionalidades às páginas Web. Isto fez com que JavaScript recebesse injustamente uma reputação de algo banal, não sendo bem visto pelos desenvolvedores sérios.
Codificar uma aplicação Ajax é algo completamente diferente. O código que você fornece quando os usuários iniciam a aplicação deve executar até que eles encerrem na, sem interrupção, sem diminuição de velocidade, e sem produção de escapes de memória. Se estivermos mirando no mercado de aplicações poderosas, então temos em vista muitas horas de intenso uso. Para atingirmos este objetivo, devemos escrever códigos de alto desempenho, e manuteníveis, usando a mesma disciplina e entendimento que é aplicado com sucesso às camadas do servidor.

Fonte: Wikipedia

FeTRAM



Combinando nanofios de silício e um plástico ferroelétrico, pesquisadores desenvolveram um novo tipo de memória de computador.

Como acontece com todos os novos tipos de memória de computador, este promete ser mais rápido e consumir menos energia - com a vantagem de não perder os dados quando o computador é desligado.

De fato, seu projeto é mais simples, o que torna possível consumir muito menos energia.

A nova memória é bastante similar às já bem conhecidas memórias ferroelétricas, ou FeRAMs.

Sua grande vantagem é que a informação armazenada no material ferroelétrico pode ser lida de forma não-destrutiva - a leitura não destrói o dado.

Com isto, torna-se possível armazenar o dado usando um transístor ferroelétrico, em vez de um capacitor, como nas atuais FeRAMs.

Transístor ferroelétrico

O polímero ferroelétrico muda de polaridade sob a ação de um campo elétrico, permitindo seu uso como um transístor ferroelétrico - na prática, uma célula de memória que não perde os dados depois que a energia é desligada.

A nova tecnologia é chamada FeTRAM, uma sigla para memória de acesso aleatório com transístor ferroelétrico.

"Nós desenvolvemos a teoria e fizemos o experimento, e também demonstramos que ele funciona em um circuito," afirmou Saptarshi Das, da Universidade Purdue, nos Estados Unidos.

Graças à eliminação do capacitor, a memória não-volátil tem potencial para usar 99% menos energia do que uma memória flash - como as usadas nos pen-drives.

"Entretanto, nosso dispositivo ainda consome mais energia porque ele ainda não foi adequadamente miniaturizado," pondera Das. "Para as futuras gerações da tecnologia FeTRAM um dos principais objetivos será a redução da dissipação de potência. Eles também poderão ser mais rápidos do que qualquer outro tipo de memória."

Matéria publicada no site:
http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=fetram-memoria-nao-volatil&id=010110110929&ebol=sim

Teste de Software

O teste de software consiste em mais do que simplesmente avaliar as funções, a interface e as características de tempo de resposta de um objetivo do teste

O processo de teste de software tem duas metas distintas:

- Demonstrar ao desenvolvedor e ao cliente que o software atende aos requisitos. Para o software sob encomenda, isso significa que deve haver pelo menos um teste para cada requisito contido nos documentos de usuário e sistema. Para produtos de software genéricos, isso significa que deve haver testes para todas as características de sistema que serão incorporadas ao release do produto.
Alguns sistemas podem ter uma fase explicita de testes de aceitação, na qual o cliente verifica formalmente que o sistema entregue está em conformidade com a sua especificação.

- Descobrir falas ou defeitos no software que apresenta comportamento incorreto, não desejável ou em não conformidade com a especificação. O teste de defeitos relacionado à remoção de todos os tipos de comportamento indesejáveis de sistema como travamentos, interações indesejáveis com outros sistemas, cálculos incorretos e corrompimento de dados.

Tipos de Teste:

Teste de função: Testes destinados a validar as funções do objetivo do teste conforme o esperado, fornecendo os serviços, métodos ou casos de uso necessários. Esse teste é implementado e executado em diferentes objetivos do teste, como unidades, unidades integradas, aplicativos e sistemas.

Teste de segurança: Testes destinados a garantir que o objetivo do teste e os dados (ou sistemas) possam ser acessados apenas por determinados atores. Esse teste é implementado e executado em vários objetos de teste.

Teste de volume: Teste destinado a verificar a capacidade do objetivo do teste de lidar com um grande volume de dados, como entrada e saída ou residente no banco de dados. O teste de volume abrange estratégias de teste, como, por exemplo, a entrada de dados do volume máximo de dados em cada campo ou a criação de consultas que retornem todo o conteúdo do banco de dados ou que tenham tantas restrições que nenhum dado seja retornado.

Teste de usabilidade: Testes que enfatizam:
fatores humanos,
estética,
consistência na interface do usuário,
ajuda on-line e contextual,
assistentes e agentes,
documentação do usuário e
material de treinamento.

Teste de integridade: Testes destinados a avaliar a robustez do objetivo do teste (resistência a falhas) e a compatibilidade técnica em relação a linguagem, sintaxe e utilização de recursos. Esse teste é implementado e executado em vários objetivos do teste, como unidades e unidades integradas.

Teste de estrutura: Testes destinados a avaliar a adequação do objetivo do teste em relação a seu design e sua formação. Em geral, esse teste é realizado em aplicativos habilitados para a Web, garantindo que todos os links estejam conectados, que o conteúdo apropriado seja exibido e que não haja conteúdo órfão.

Teste de stress: Tipo de teste de confiabilidade destinado a avaliar como o sistema responde em condições anormais. O stress no sistema pode abranger cargas de trabalho extremas, memória insuficiente, hardware e serviços indisponíveis ou recursos compartilhados limitados. Normalmente, esses testes são executados para compreender melhor como e em quais áreas o sistema será dividido, para que os planos de contingência e a manutenção de atualização possam ser planejados e orçados com bastante antecedência.

Teste de avaliação de desempenho: Tipo de teste de desempenho que compara o desempenho de um objetivo do teste (novo ou desconhecido) a um sistema e uma carga de trabalho de referência conhecidos.

Teste de contenção: Testes destinados a verificar se os objetivos do teste podem lidar de forma aceitável com as demandas de vários atores no mesmo recurso (registros de dados, memória, etc.).

Teste de carga: Tipo de teste de desempenho usado para validar e avaliar a aceitabilidade dos limites operacionais de um sistema de acordo com cargas de trabalho variáveis, enquanto o sistema em teste permanece constante. Em algumas variáveis, a carga de trabalho permanece constante e a configuração do sistema em teste é que varia. Geralmente, as medições são tomadas com base na taxa de transferência de dados da carga de trabalho e no tempo de resposta da transação alinhado. As variações na carga de trabalho normalmente incluem a emulação das cargas de trabalho médias e máximas que ocorrem dentro de tolerâncias operacionais normais.

Perfil de desempenho: Teste em que o perfil de andamento do objetivo do teste é monitorado (inclusive fluxo de execução, acesso a dados e chamadas de função e de sistema), a fim de identificar e lidar com gargalos de desempenho e processos ineficientes.

Teste de configuração: Teste destinado a garantir que o objetivo do teste funcione conforme o esperado em diferentes configurações de hardware e/ou software. Esse teste também pode ser implementado como um teste de desempenho do sistema.

Teste de instalação: Teste destinado a garantir que o objetivo do teste seja instalado conforme o esperado em diferentes configurações de hardware e/ou software e sob diferentes condições (como no caso de espaço insuficiente em disco ou interrupção de energia). Esse teste é implementado e executado em aplicativos e sistemas.

Neutrinos, mais rápido que a luz

Quando, há poucos mais de um ano, cientistas do experimento Opera detectaram neutrinos transmutando-se de um tipo em outro, eles logo falaram da descoberta de uma "nova física". E eles aparentemente já tinham nas mãos outros resultados ainda mais surpreendentes. Depois de dois anos de medições, e inúmeras revisões e checagens, eles finalmente resolveram compartilhar sua possível descoberta com outros pesquisadores. Segundo Antonio Ereditato, da Universidade de Berna, na Suíça, a equipe aparentemente detectou neutrinos viajando mais rápido do que a velocidade da luz.

Neutrinos são partículas subatômicas com uma massa tão pequena que um deles é capaz de atravessar um cubo de chumbo sólido, com 1 ano-luz de aresta, sem se chocar com a matéria. Calcula-se que 50 trilhões de neutrinos atravessam o nosso corpo diariamente. Existem três tipos de neutrinos: neutrino do elétron, neutrino do múon e neutrino do tau. O quebra-cabeças dos neutrinos começou com uma experiência pioneira, realizada na década de 1960, que acabou rendendo o Prêmio Nobel de Física a Ray Davies. Davies observou que os neutrinos vindos do Sol chegavam à Terra em um número muito menor do que os modelos teóricos previam: ele concluiu que, ou os modelos solares estavam errados ou algo estava acontecendo com os neutrinos em seu caminho.

Se neutrinos podem viajar mais rápido do que a velocidade da luz, então o preceito fundamental de que as leis da física são as mesmas para todos os observadores cai por terra. A ideia de que nada pode viajar mais rapidamente do que a luz é um pilar da teoria da relatividade especial, formulada por Einstein. E esta teoria está na base de toda a física moderna. Isto sim, pode apontar para uma "nova física" - desde que os outros pesquisadores não encontrem erros no experimento e nas análises.

"Nós tentamos por todos os meios descobrir um erro - erros triviais, erros mais complicados, efeitos impensáveis - mas não conseguimos encontrar nenhum," disse Ereditato.