100 инструкций управления выполнением, функций, пользовательских структур данных, ввода-вывода. С помощью дополнительных библиотек язык расширен до объектно-ориентированного, что позволяет легко использовать внутренние C++ и C# классы. Благодаря этому можно как быстро создавать скоростные программы для проверки какого-нибудь алгоритма или расчета, так и создавать большие и сложные прикладные программы. Графика GNET1 имеет представительный набор средств для того, чтобы отобразить формальные грамматики и ОП МГ как сложноструктурированные объекты так же как, аннотировать их и распечатывать. Включает в себя функции высокого уровня для двумерной и трехмерной визуализации данных, обработки изображений, анимации и презентационной графики. Включает функции нижнего уровня, которые как позволяют полностью настраивать вид графики, так и формировать законченные графические интерфейсы пользователя на приложениях GNET1. Прикладной программный интерфейс GNET1 (API) это библиотека, которая позволяет создавать программы на языках C# напрямую из GNET1 как отдельные и независимые приложения. Ниже более подробно рассмотрены функциональные возможности и особенности реализации СПО. 4.2.3. Особенности реализации GNET1 В ходе проведенных разработок в настоящее время создан прототип СПО GNET1, в котором реализована большая часть возможностей системы. Проведена его апробация в ряде АОС учебных заведений РФ. |
264 хронологию команд, редактор, отладчик и браузеры. * Библиотека грамматических функций GNET это библиотека грамматических алгоритмов в пределах от элементарных функций, подобно Ф удалению бесполезных символов, удалению е-правил, определению принадлежности к классу грамматик, до более сложных функций синтаксического анализа, восстановления грамматических описаний, выявления непроизводных элементов и других. Язык GNET это расширение скриптового проблемно ориентированного метаязыка lua. Включает в себя поддержку ассоциативных динамических массивов, динамических типов данных, высокоуровневых инструкций * управления выполнением, функций, пользовательских структур данных, вводавывода. С помощью дополнительных библиотек язык расширен до объектно• ориентированного, что позволяет легко использовать внутренние C++ и C# классы. Благодаря этому можно как быстро создавать скоростные программы для проверки какого-нибудь алгоритма или расчета, так и создавать большие и сложные прикладные программы. Графика GNET имеет представительный набор средств для того, чтобы отобразить формальные грамматики и ГС как сложноструктурированные объекты так же как, аннотировать их и распечатывать. Включает в себя • функции высокого уровня для двумерной и трехмерной визуализации данных, обработки изображений, анимации и презентационной графики. Включает функции нижнего уровня, которые как позволяют полностью настраивать вид графики, так и формировать законченные графические интерфейсы пользователя на приложениях GNET. Прикладной программный интерфейс GNET (API) это библиотека, которая позволяет создавать программы на языках C# напрямую из GNET как • отдельные и независимые приложения. Ниже более подробно рассмотрены функциональные возможности и особенности реализации СПО. 265 6.1.3. Особенности реализации GNET I 9 В ходе проведенных разработок в настоящее время создан прототип СПО GNET, в котором реализована большая часть возможностей системы. Проведена его апробация и внедрение в ряде РРСУ служб безопасности корпораций РФ и МО РФ в рамках технологий двойного применения [26-28]. СПО создан на управляемых языках C# и C++. Как основа используется платформа WIN32 и технология Microsoft .NET. Это позволяет создавать высокоэффективный программный код, и благодаря проекту MONO возможно > портирование СПО на другие платформы (Lunux/Unix системы). Несмотря на достаточно большую библиотеку классов Framework, которая Ф входит в .NET, в силу специфики решаемых задач, было принято решение не использовать некоторые классы, а заменить их на другие. Так, к примеру, не используются встроенные классы XML, их заменил парсер Expat. Преимуществом данного парсера является его потокоориентированность, что позволяет быстро и эффективно разбирать объемные сложноструктурированные документы. Также в качестве основного внутреннего скриптового языка используется lua, несмотря на то, что в .NET есть поддержка C# как скриптового языка. В Ф этом случае в пользу lua говорит его высокая скорость, минимальные требования и открытый исходный код, что позволяет в большей мере отразить специфику создаваемой системы. Впрочем, C# все-таки используется в качестве второго скриптового языка, и его поддержка позволяет выполнять все те же функции, что и с помощью lua. Для этого в системе подразумевается наличие транслятора с lua на C# и наоборот. СПО можно более детально рассмотреть как взаимосвязь нескольких ф функциональных блоков: Л) 1. Редактор грамматических и сетевых грамматических описаний; 2. Лексический механизм; |