Atom

Definition - Was bedeutet Atom?

Atom ist eine gleichzeitige und domänenspezifische Programmiersprache, die für Echtzeit- und eingebettete Anwendungen verwendet wird. Es bietet die Planung von Aufgaben zur Kompilierungszeit und erzeugt Code mit verbesserter Speichernutzung und Ausführungszeit. Das Parallelitätsmodell von Atom eliminiert die Anforderungen an Algorithmen für den gegenseitigen Ausschluss.

Technische.me erklärt Atom

Atom wurde 2007 entwickelt und im April dieses Jahres als Open Source veröffentlicht. Es wurde entwickelt, um Operationen zu maximieren, die in einem bestimmten Taktzyklus ausgeführt werden, ohne die Semantik atomarer Operationen zu verletzen. Atom gleicht jedoch auch die Verarbeitungslasten aus und minimiert die Timing-Latenzen.

Die Schaltungsbeschreibung von Atom besteht aus einer Reihe von Statuselementen und Regeln. Jede Regel besteht aus zwei Komponenten: Statusaktualisierungen und Aktivierungsbedingungen. Wenn Regeln aktiviert sind, werden Aktionen ausgewählt, die atomar ausgeführt werden sollen. Regeln werden lineare und globale Priorität zugewiesen, und mehrere Regeln können in dasselbe Statuselement geschrieben werden. Datenabhängigkeiten zwischen Regeln bilden ein Diagramm. Zyklische Graphen werden als Regeln bevorzugt und können nacheinander zusammengesetzt werden. Compiler ordnen Regeln an, um Kanten zu minimieren, die von Regeln mit niedriger bis hoher Priorität zurückwirken. Da sich Regelpaare gegenseitig ausschließen, sind Kanten für ein Regeldatenabhängigkeitsdiagramm nicht kritisch.

Atom-Objekte (auch als aktive Objekte bezeichnet) sind aktive Entitäten, die Multithread-Servern ähneln. Alle verarbeiteten Nachrichten erstellen neue Threads innerhalb von Objekten. Während der Erstellung eines Objekts zur Ausführung interner Aktivitäten werden manchmal gleichzeitig Threads erstellt. Die Thread-Ausführung ist nicht präemptiv und es ist jeweils nur ein Thread in einem Objekt aktiv. Threads beziehen sich auf Aktivierungsbedingungen, die Objektzustände bestimmen, die mit der Ausführung kompatibel sind. Atommodelle sind Funktionen (wie Statusbenachrichtigung, abstrakte Status und Statusprädikate) zugeordnet und in die Nachrichtenübermittlung und Thread-Planung integriert.