Atom (programovací jazyk) - Atom (programming language) - Wikipedia
Téma tohoto článku nemusí splňovat požadavky Wikipedie obecný pokyn k notabilitě.Březen 2018) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Paradigma | funkční, synchronní, reaktivní |
---|---|
Navrhl | Thomas Hawkins |
Poprvé se objevil | 2007 |
Psací disciplína | statický, silný |
OS | přenosný |
Licence | BSD3 |
webová stránka | http://hackage.haskell.org/package/atom/ |
Ovlivněno | |
Bluespec, Soutok, Haskell |
Atom je jazyk specifický pro doménu (DSL) v Haskell, za návrh reálný čas vložený software.
Dějiny
Původně zamýšlen jako vysoká úroveň jazyk popisu hardwaru „Atom byl vytvořen počátkem roku 2007 a vydán v open-source v dubnu téhož roku.[1]Inspirováno TRS [2]a Bluespec Atom sestavil popisy obvodů, které byly založeny na střežených atomových operacích, nebo přepis podmíněného termínu, do Verilog netlisty pro simulaci a logická syntéza Jako kompilátor hardwaru bylo primárním cílem Atomu maximalizovat počet operací nebo pravidel, která lze provést v daném hodinovém cyklu, aniž by byla porušena sémantika atomové operace. Využitím vlastností bezkonfliktních a postupně skládatelných pravidel[2] Atom snížil maximalizaci souběžnosti provádění na a sada zpětného oblouku optimalizace grafu závislosti pravidel na datech. Tento proces byl podobný James Hoe původní algoritmus.[2]
Když autor Atomu změnil kariéru na konci roku 2007 z logického designu na vestavěný software Atom byl přepracován z HDL do a jazyk specifický pro doménu cílení v reálném čase vestavěné aplikace. Výsledkem je, že primární cíl kompilátoru Atom se změnil z maximalizace souběžnosti pravidel na vyvažování zátěže zpracování a minimalizacinejhorší načasování latence. V září 2008 byl Atom představen na CUFP,[3]a v dubnu 2009 byl vydán jako open-source v nové podobě.[4]
Přehled
Atom je souběžný programovací jazyk určený pro vestavěné aplikace. Funkce Atom čas kompilace plánování úkolů a zjednodušuje generování kódu s deterministickým časem spuštění a spotřebou paměti nejhorší doba provedení analýza pro aplikace, které vyžadují tvrdý výkon v reálném čase. Atomův model souběžnosti je model hlídané atomové akce, což eliminuje potřebu, a problémy používání, zámky mutex.
Odstraněním run-time plánování úkolů a zamykání mutexu - dvě služby tradičně poskytované službou RTOS —Atom může eliminovat potřebu a režii RTOS ve vestavěných aplikacích.
Příklady
Tato část je prázdná. Můžete pomoci přidávat k tomu. (Červenec 2010) |
Omezení
Aby poskytl záruky deterministického času spuštění a spotřeby paměti, Atom klade několik omezení na výpočet. Za prvé, Atom designy jsou vždy konečný stav: všechny proměnné jsou globální a deklarované v době kompilace a dynamická alokace paměti není povoleno. Za druhé, Atom neposkytuje žádné funkce ani smyčkové konstrukce. Místo toho jsou aktualizace proměnných stavu čisté kombinační funkce současného stavu.
Reference
- ^ ANN: Atom - ještě další Haskell HDL
- ^ A b C Syntéza popisů hardwaru zaměřeného na provoz James C. Hoe a Arvind. Mezinárodní konference o navrhování podporovaném počítačem (ICCAD), listopad 2000.
- ^ „Ovládání hybridních vozidel pomocí Haskell“. Archivovány od originál dne 4. 7. 2008. Citováno 2009-12-05.
- ^ ANN: atom-0.0.2