Jump to content

ГрГен

GrGen.NET
Парадигма Мультипарадигма : декларативная , императивная , объектно-ориентированная.
Разработчик Себастьян Хак, Рубино Гейсс, Мориц Кролл, Эдгар Якумейт и другие.
Впервые появился 2003  ( 2003 )
Стабильная версия
ГрГен.NET 4.5 / 9 апреля 2017 г .; 7 лет назад ( 09.04.2017 )
Дисциплина набора текста Статический, частично динамический, сильный, безопасный , именительный падеж.
ТЫ Кроссплатформенность (мультиплатформенность)
Лицензия Меньшая стандартная общественная лицензия GNU
Веб-сайт видеть .из
Отладка последовательности, генерирующей снежинку Коха (слева правила, внизу GrShell с выделенным текущим правилом, справа yComp с выделенным совпадением в графе хостов)
Выполнение шага замены

GrGen.NET — это инструмент разработки программного обеспечения , который предлагает языки программирования ( предметно-ориентированные языки ), оптимизированные для обработки данных, структурированных в виде графов . Ядро языков состоит из модульных правил перезаписи графов , которые построены на декларативном сопоставлении и переписывании шаблонов графов; они дополняются многими конструкциями, которые используются в императивном и объектно-ориентированном программировании, и комплектуются языковыми средствами, известными из языков запросов к базам данных .

Генератор Graph Rewrite GENerator компилирует языки в эффективные сборки CLI (через C# -Code на промежуточном этапе), которые можно интегрировать через API в код, написанный на любом .NET-языке . GrGen может быть запущен под Windows и Linux ( Mono требуется ) и имеет открытый исходный код , доступный под лицензией LGPL v3.

интерактивная оболочка Для быстрого прототипирования и отладки в пакет включены и программа просмотра (VCG-)графов. Благодаря своим языкам, визуальной и пошаговой отладке GrGen позволяет разрабатывать на естественном уровне абстракции представления на основе графов, например, те, которые используются в инженерии , преобразовании моделей , компьютерной лингвистике или построении компиляторов (в качестве промежуточного представления ).

GrGen повышает производительность такого рода задач намного больше, чем можно достичь при программировании на традиционном языке программирования; благодаря множеству реализованных оптимизаций производительности он по-прежнему позволяет достигать высокопроизводительных решений. Его авторы утверждают, что система предлагает самую высокую комбинированную скорость разработки и выполнения , доступную для алгоритмической обработки представлений на основе графов (на основе их производительности при решении разнообразных задач, поставленных в разных выпусках конкурса инструментов трансформации (/GraBaTs)).

Образец спецификации [ править ]

Ниже приведен пример, содержащий графовую модель и спецификации правил от решения GrGen.NET до случая AntWorld. Архивировано 10 августа 2011 г. на Wayback Machine и размещено в Grabats 08. Архивировано 29 ноября 2012 г. на archive.today .

Модель графа:

node class GridNode {
    food:int;
    pheromones:int;
}
node class GridCornerNode extends GridNode;
node class AntHill extends GridNode {
    foodCountdown:int = 10;
}
node class Ant {
    hasFood:boolean;
}

edge class GridEdge connect GridNode[1] -> GridNode[1];
edge class PathToHill extends GridEdge;
edge class AntPosition;

Переписать правила:

rule TakeFood(curAnt:Ant)
{
    curAnt -:AntPosition-> n:GridNode\AntHill;
    if { !curAnt.hasFood && n.food > 0; }
    modify {
        eval {
            curAnt.hasFood = true;
            n.food = n.food - 1;
        }
    }
}

rule SearchAlongPheromones(curAnt:Ant)
{
    curAnt -oldPos:AntPosition-> old:GridNode <-:PathToHill- new:GridNode;
    if { new.pheromones > 9; }
    modify {
        delete(oldPos);
        curAnt -:AntPosition-> new;
    }
}

test ReachedEndOfWorld(curAnt:Ant) : (GridNode)
{
    curAnt -:AntPosition-> n:GridNode\AntHill;
    negative { 
        n <-:PathToHill-;
    }
    return (n);
}

Внешние ссылки [ править ]

Материалы конференции [ править ]

См. также [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 06d59f3dce0803345ec8beab833cb1ad__1702960500
URL1:https://arc.ask3.ru/arc/aa/06/ad/06d59f3dce0803345ec8beab833cb1ad.html
Заголовок, (Title) документа по адресу, URL1:
GrGen - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)