Snadnost (programovací jazyk) - Ease (programming language)
| Paradigmata | Souběžné , komunikující sekvenční procesy |
|---|---|
| Navrhl | Steven Ericsson-Zenith |
| Poprvé se objevil | 1991 |
| Psací disciplína | Silný |
| Plošina | Paralelní |
| Ovlivněno | |
| occam | |
Snadnost je univerzální paralelní programovací jazyk . Je navržen Stevenem Ericssonem-Zenithem, výzkumným pracovníkem na Yale University , Institute for Advanced Science & Engineering v Silicon Valley v Kalifornii, Ecole Nationale Supérieure des Mines de Paris a Pierre a Marie Curie University , vědecké oddělení Sorbonna .
Kniha Process Interaction Models je specifikací jazyka Ease. Ease kombinuje procesní konstrukce komunikujících sekvenčních procesů (CSP) s logicky sdílenými datovými strukturami nazývanými kontexty . Kontexty jsou paralelní datové typy, které jsou konstruovány procesy a poskytují způsob interakce procesů.
Jazyk zahrnuje dva konstruktory procesů.
Spolupráce obsahuje explicitní synchronizace bariérou a je psáno:
Pokud jeden proces skončí před druhým, bude čekat, dokud nebudou dokončeny další procesy.
Podřízenost vytváří proces, který sdílí kontexty , které jsou co do rozsahu, kdy vytvořil a končí, když kompletní (to nebude čekat na ostatní procesy) a je napsáno:
Podřízené procesy se zastaví, pokud se pokusí komunikovat s kontextem, který byl dokončen, protože nadřazený proces byl zastaven. To umožňuje vytvářet spekulativní procesy, které se dokončí, pokud jejich výsledek není nutný.
Výkonná syntaxe replikace umožňuje vytvoření více procesů. Například,
vytváří n synchronizovaných procesů, každý s lokální konstantou i .
Procesy nemohou sdílet místní proměnné a spolupracovat na konstrukci sdílených kontextů. Určité typy kontextu, nazývané prostředky , zajišťují sémantiku volání a odpovědi.
V kontextech existují čtyři funkce:
- read (context, variable) - zkopíruje hodnotu ze sdíleného kontextu do proměnné .
- write (context, expression) - zkopíruje hodnotu výrazu do sdíleného kontextu .
- put (kontext, název) - přesune hodnotu vázanou na název do sdíleného kontextu . Hodnota názvu je následně nedefinovaná .
- get (kontext, název) - přesune hodnotu z kontextu a váže ji na název . Hodnota je odstraněna z kontextu.
Kontextové typy jsou Singletons , Bags nebo Streams a mohou být indexovaná pole.
Snadnost má sémiotickou definici . To znamená, že odpovídá za to, jaký má jazyk vliv na programátora a jak vyvíjejí algoritmy. Jazyk byl navržen tak, aby usnadnil vývoj paralelních programů.
Reference
- John Redman, An Implementation of the Ease Programming Language, University of Western Australia, 1991
- TH MacKenzie, TI Dix, „Implementace distribuované paměti s více procesory C-with-Ease,“ IEEE International Conference on Parallel and Distributed Systems, 2002
- TH MacKenzie, TI Dix, „Objektově orientované snadno založené paralelní primitivy v C ++,“ icpads, s. 1 623, 1998 Mezinárodní konference o paralelních a distribuovaných systémech (ICPADS'98), 1998
| Tento článek týkající se programovacího jazyka je útržek . Wikipedii můžete pomoci rozšířením . |