Definição – o que significa Atom?
Atom é uma linguagem de programação simultânea e específica de domínio usada para aplicativos em tempo real e integrados. Ele apresenta agendamento de tarefas em tempo de compilação e produz código com uso de memória e tempo de execução aprimorados. O modelo de simultaneidade do Atom elimina requisitos para algoritmos de exclusão mútua.
Definirtec explica Atom
Desenvolvido em 2007, o Atom foi lançado como código aberto em abril daquele ano. Ele foi projetado para maximizar as operações executadas em um determinado ciclo de clock sem violar a semântica da operação atômica. No entanto, o Atom também equilibra as cargas de processamento e minimiza as latências de tempo.
A descrição do circuito do Atom é composta por um conjunto de elementos e regras de estado. Cada regra é composta de dois componentes: atualizações de estado e condições de ativação. Quando as regras são habilitadas, as ações são selecionadas para serem executadas atomicamente. As regras são atribuídas a prioridade linear e global, e várias regras podem ser gravadas no mesmo elemento de estado. Dependências de dados entre regras formam um gráfico. Os gráficos cíclicos são preferidos como regras e podem ser compostos sequencialmente. Os compiladores ordenam regras para minimizar as arestas que realimentam de regras de baixa para alta prioridade. Como os pares de regras são mutuamente exclusivos, as arestas não são críticas para um gráfico de dependência de dados de regra.
Os objetos Atom (também conhecidos como objetos ativos) são entidades ativas semelhantes a servidores multithread. Todas as mensagens processadas criam novos threads dentro dos objetos. Às vezes, threads são criados simultaneamente durante a criação de um objeto para executar atividades internas. A execução do thread não é preemptiva e apenas um thread está ativo em um objeto por vez. Os threads estão relacionados às condições de ativação que determinam os estados do objeto compatíveis com a execução. Os modelos Atom são associados a recursos (como notificação de estado, estados abstratos e predicados de estado) e são integrados à passagem de mensagens e agendamento de threads.