Content deleted Content added
m Bot: Removing category Category:Embedded systems which is already in Category:Real-time computing |
Jerryobject (talk | contribs) m Cut needless carriage return whitespace characters in sections: standardize, aid edits via mobile devices. |
||
Line 24:
== History ==
Originally intended as a high level [[hardware description language]], Atom was created in early 2007 and released in open-source of April of the same year.<ref>[http://www.haskell.org/pipermail/haskell-cafe/2007-April/024090.html ANN: Atom - Yet another Haskell HDL]</ref>
Inspired by TRS <ref name="hoe1">[http://www.ece.cmu.edu/~jhoe/distribution/2000/iccad00.pdf Synthesis of Operation-Centric Hardware Descriptions].
Line 38 ⟶ 37:
== Overview ==
Atom is a concurrent programming language intended for embedded applications. Atom features [[Compile time|compile-time]] [[Scheduling (computing)|task scheduling]] and generates code with deterministic execution time and memory consumption, simplifying [[worst case execution time]] analysis for applications that require hard realtime performance. Atom's concurrency model is that of [[Atomic action|guarded atomic actions]], which eliminates the need for, and the [[Lock (computer science)#The problems with locks|problems]] of using, [[Lock (computer science)|mutex locks]].
Line 44 ⟶ 42:
== Examples ==
{{Empty section|date=July 2010}}
== Limitations ==
To provide guarantees of deterministic execution time and memory consumption, Atom places several restrictions on computation. First, Atom designs are always finite state: all variables are global and declared at compile time and [[dynamic memory allocation]] is not allowed. Second, Atom provides no function or looping constructs. Instead state variable updates are pure [[Combinational logic|combinational functions]] of the current state.
== References ==
{{reflist}}
|