Sommario:
Definizione - Cosa significa Atom?
Atom è un linguaggio di programmazione concorrente e specifico del dominio che viene utilizzato per applicazioni incorporate in tempo reale. È dotato di pianificazione delle attività di compilazione e produce codice con utilizzo della memoria e tempi di esecuzione migliorati. Il modello di concorrenza di Atom elimina i requisiti per gli algoritmi di esclusione reciproca.
Techopedia spiega Atom
Sviluppato nel 2007, Atom è stato rilasciato come open source nell'aprile di quell'anno. È stato progettato per massimizzare le operazioni eseguite in un determinato ciclo di clock senza violare la semantica delle operazioni atomiche. Tuttavia, Atom bilancia anche i carichi di elaborazione e minimizza le latenze di temporizzazione.
La descrizione del circuito di Atom comprende un insieme di elementi e regole di stato. Ogni regola è composta da due componenti: aggiornamenti di stato e condizioni di abilitazione. Quando le regole sono abilitate, le azioni vengono selezionate per l'esecuzione atomica. Le regole sono assegnate priorità lineare e globale e più regole possono essere scritte nello stesso elemento di stato. Le dipendenze dei dati tra le regole formano un grafico. I grafici ciclici sono preferiti come regole e possono essere composti in sequenza. I compilatori ordinano le regole per ridurre al minimo i bordi che passano dalle regole con priorità bassa a quella alta. Poiché le coppie di regole si escludono a vicenda, i bordi non sono fondamentali per un grafico di dipendenza dei dati delle regole.
Gli oggetti Atom (noti anche come oggetti attivi) sono entità attive simili ai server multithread. Tutti i messaggi elaborati creano nuovi thread all'interno degli oggetti. A volte i thread vengono creati contemporaneamente durante la creazione di un oggetto per eseguire attività interne. L'esecuzione del thread non è preventiva e in un oggetto è attivo solo un thread alla volta. I thread si riferiscono alle condizioni di attivazione che determinano gli stati degli oggetti compatibili con l'esecuzione. I modelli Atom sono associati a funzionalità (come notifica di stato, stati astratti e predicati di stato) e sono integrati con il passaggio di messaggi e la pianificazione di thread.