GrGen - GrGen
![]() | |
Paradigma | Multi-paradigma: deklarativní, rozkazovací způsob, objektově orientovaný |
---|---|
Vývojář | Sebastian Hack, Rubino Geiss, Moritz Kroll, Edgar Jakumeit a další |
Poprvé se objevil | 2003 |
Stabilní uvolnění | GrGen.NET 4.5 / 9. dubna 2017 |
Psací disciplína | Statický, částečně dynamický, silný, bezpečný, jmenovaný |
OS | Cross-platform (více platforem) |
Licence | GNU Lesser General Public License |
webová stránka | grgen |


GrGen.NET je nástroj pro vývoj softwaru který nabízí programovací jazyky (jazyky specifické pro doménu ), které jsou optimalizovány pro zpracování strukturovaný graf jádro jazyků se skládá z modulární pravidla přepsání grafu, které jsou postaveny na deklarativní shoda a přepis vzorů grafů; jsou doplněny mnoha konstrukty, které se používají v rozkazovací způsob a objektově orientovaný programování a jsou doplněny jazykovými zařízeními známými z databáze dotazovací jazyky.
Přepsat graf Generátor sestavuje jazyky do efektivní Sestavy CLI (přes C# -Code v mezikroku), který lze integrovat pomocí API do kódu napsaného v libovolném Jazyk .NET.GrGen lze spustit pod Okna a Linux (Mono potřeba) a je otevřený zdroj k dispozici pod LGPL v3.
Pro rychlé prototypování a ladění interaktivní skořápka a prohlížeč grafů (VCG-) jsou součástí balíčku. GrGen svým jazykům a vizuálnímu a postupnému ladění umožňuje vývoj na přirozené úrovni abstrakce grafických reprezentací, jako jsou ty použité v inženýrství, transformace modelu, výpočetní lingvistika nebo konstrukce kompilátoru (tak jako mezilehlé zastoupení ).
GrGen zvyšuje produktivitu pro tyto druhy úkolů daleko nad rámec toho, čeho lze dosáhnout programováním v tradičním programovacím jazyce; díky mnoha implementovaným optimalizacím výkonu stále umožňuje dosáhnout vysoce výkonných řešení. Jeho autoři tvrdí, že Systém nabízí nejvyšší kombinovanou rychlost rozvoj a provedení k dispozici pro algoritmické zpracování graf - reprezentace na základě (na základě jejich výkonu, pokud jde o různé úkoly kladené na různá vydání soutěže Transformation Tool Contest (/ GraBaTs)).
Ukázka specifikace
Níže je uveden příklad, který obsahuje model grafu a specifikace pravidel z řešení GrGen.NET do Případ AntWorld pózoval na Grabats 08.
Grafický model:
třída uzlu GridNode {food: int; feromony: int;}třída uzlu GridCornerNode rozšiřuje GridNode;třída uzlu Mraveniště rozšiřuje GridNode {foodCountdown: int = 10;}třída uzlu Mravenec {hasFood: boolean;}okrajová třída GridEdge připojit GridNode [1] -> GridNode [1];okrajová třída PathToHill rozšiřuje GridEdge;okrajová třída AntPosition;
Přepsat pravidla:
pravidlo TakeFood (curAnt: Ant) {curAnt -: AntPosition-> n: GridNode AntHill; -li {! curAnt.hasFood && n.food> 0; } upravit { eval {curAnt.hasFood = true; n.food = n.food - 1; }}}pravidlo SearchAlongPheromones (curAnt: Ant) {curAnt -oldPos: AntPosition-> starý: GridNode <-: PathToHill- nový: GridNode; -li {new.pheromones> 9; } upravit {delete (oldPos); curAnt -: AntPosition-> nový; }}test ReachedEndOfWorld (curAnt: Ant): (GridNode) {curAnt -: AntPosition-> n: GridNode AntHill; negativní {n <-: PathToHill-; } vrátit se (n);}
externí odkazy
- Domovská stránka GrGen.NET -projekt
- Uživatelská příručka GrGen.NET
- Krátký úvod do GrGen.NET 1.4 (zastaralý)
Konferenční příspěvky
- GrGen: Rychlý nástroj pro přepis grafů založený na SPO /[1] - ICGT 06
- Generace Sierpinski Triangles: Případová studie pro nástroje pro transformaci grafů - AGTIVNÍ 07
- Přepisování grafů pro optimalizaci programů závislých na hardwaru - AGTIVNÍ 07
- První experimentální vyhodnocení porovnávání vzorů grafů na základě plánu vyhledávání - AGTIVNÍ 07
- Přizpůsobení GrGen.NET pro transformaci modelu - GraMoT 08
- Pravidla přepisování grafů se strukturální rekurzí - ICGT / GCM 08