Linguagem de programação para computadores com energia intermitente - Intonses
Linguagem de programação para computadores com energia intermitente
Mensagempor Xevious » 19 Nov 2016, 00:54
Execução intermitente
Com a Internet das Coisas, está emergindo uma nova classe de sistemas de coleta e processamento de dados que inclui dispositivos pequenos demais para contar com baterias e que não podem depender de fios. Para funcionar, esses aparelhos usam a chamada colheita de energia, capturando a eletricidade que precisam do próprio ambiente.
O problema é que, para que esses aparelhos possam se tornar mais complexos e mais funcionais, eles precisam de sistemas de software que são radicalmente diferentes daqueles que rodam nos computadores e celulares. Por exemplo, se você tira o computador da tomada ou a bateria do celular, eles param de funcionar imediatamente.
Ocorre que esta é a característica fundamental dos equipamentos autônomos, que precisem funcionar em tempo integral alimentados por fontes como vibrações do ambiente, calor, ondas de rádio ou mesmo energia eólica e solar, que não estão disponíveis de forma contínua.
Assim, eles exigirão a criação de sistemas operacionais e softwares capazes de "execução intermitente", parando quando a energia falta e retomando do mesmo ponto quando a energia é restabelecida.
Linguagem de programação para Internet das Coisas
Um passo importante nesse sentido acaba de ser dado por Alexei Colin e Brandon Lucia, da Universidade Carnegie Mellon, nos EUA, que criaram a primeira linguagem de programação projetada para gerar programas confiáveis para computadores intermitentes, que funcionem com base na colheita de energia.
A nova linguagem de programação, chamada Chain, força o programador a definir um conjunto de tarefas computacionais - instruções ou rotinas - que processem e troquem dados por meio de uma nova maneira de manipular a memória do computador, chamada de "canal". A linguagem Chain garante a execução correta e ordenada das tarefas em cada canal independentemente de falhas arbitrárias no fornecimento de energia.
"Quando a energia não está disponível de forma contínua, as falhas interrompem a execução do software, normalmente levando a erros irrecuperáveis. A Chain resolve este problema exigindo que as tarefas computacionais no programa usem uma nova abstração de memória baseada em 'canais' que garantem que as tarefas sejam completadas sem erros," disse Brandon.
Quando a energia é interrompida, os canais asseguram que cada instrução tenha sempre uma versão intacta dos dados de que precisa quando a energia retorna. Os dois pesquisadores afirmam que reiniciar um programa Chain após uma interrupção de energia tem custo praticamente zero porque o sistema não opera como os programas convencionais, que usam mecanismos como pontos de verificação de memória.
As instruções do programa (tasks) não se encadeiam diretamente umas às outras, fazendo-o por meio de canais, que mantêm o conjunto de dados de cada uma mesmo quando o computador reinicia.
Softwares para o espaço
Brandon escreveu: "O benefício potencial de sistemas de computador confiáveis baseados em colheita de energia é enorme,"
"Pequenos satélites estão se proliferando e a própria indústria espacial está se expandindo. Se pudermos garantir que mesmo satélites minúsculos baseados na colheita de energia funcionem sem interrupção, poderemos tornar mais fácil realizar pesquisas científicas no espaço. Mais no futuro, podemos até pensar em aplicações como a descoberta de recursos naturais extraterrestres usando essa tecnologia,"
Poderemos só ir atirando micro-satélites para o espaço e de vez em quando eles vão nos trazer informações que incluem meteoros que ainda não teriam sido detectados.
História do linguagem de programação PHP
por Xevious » 29 Ago 2010, 20:59 » em Programação
Conheça a história do PHP, uma das linguagens de programação mais populares do mundo .
Sinônimo de robustez e facilidade, o PHP é uma linguagem...
29 Ago 2010, 20:59
Google lança nova linguagem de programação
por Plocky » 25 Jan 2010, 15:39 » em Programação
O Google apresentou no início de dezembro sua nova linguagem de programação, a GO, considerada como uma opção rápida e divertida para...
Interessante isso eim, uma nova linguagem feita por gente tão poderosa tem tudo pra dar certo, ainda mais sendo source-code.
Tenho percebido que a...
25 Jan 2010, 16:45
Compilador para computadores analógicos
por Xevious » 03 Set 2016, 22:16 » em Programação
O processador analógico resolve naturalmente as equações diferenciais que os biólogos usam para descrever a dinâmica dos seres vivos.
Compilador...
03 Set 2016, 22:16
Memória Quimica para computadores
por Xevious » 14 Jul 2017, 11:26 » em Informática
Chit nasceu, a unidade de memória baseada em química
A química também é uma base adequada para armazenar informações. O bit químico, ou...
14 Jul 2017, 11:26
VisuAlg, linguagem para aprender a programar
por Xevious » 13 Mai 2009, 10:34 » em Programação
O Visualg 2.0 é um programa que interpreta e executa algoritmos como um "programa" normal de computador. Baseado em uma linguagem parecida...