Atom

Definition - What does Atom mean?

Atom is a concurrent programming language used for embedded applications. It features compile time task scheduling and produces code with better memory usage and execution time. The concurrency model related to Atom eliminated the need to use mutual exclusion algorithms.

Atom is a domain-specific language that targets real-time embedded applications. It originated in 2007 and was released in open source in April of the same year. It was designed to maximize operations that executed in a given clock cycle without violating atomic operation semantics. However, Atom also balances processing loads and minimizes timing latencies.

Techopedia explains Atom

The circuit description in Atom is composed of a set of state elements and rules. Every rule is made of two components – state updates and enabling conditions. When rules are enabled, actions are selected to execute atomically. Multiple rules can also be written to the same state element. Rules are assigned linear, global priority. The data dependencies between rules form a graph. Cyclic graphs are preferred as rules and can be composed sequentially. Compilers order the rules to minimize edges feeding back from low- to high-priority rules. Edges are not important in a rule data dependency graph, as rule pairs are mutually exclusive.

Atom objects, which are also called active objects, are active entities similar to multithreaded servers. All messages are processed creating new threads within objects. Threads are sometimes created simultaneously during the creation of an object to execute internal activities. Thread execution is not preemptive, and only a single thread is active in an object at a time. Threads relate to activation conditions that determine object states that are compatible with execution. Atom models are associated with features such as state notification, abstract states and state predicates. They are integrated along with message passing and thread scheduling.

Popular White Papers

Techopedia Newsletter Sign-Up

Get Techopedia delivered to your inbox!