Компилятор логико-алгебраических выражений для многомодульных систем
Цели работы
Проблемы существующих средств разработки
Особенности нового подхода
Преимущества языка логико-алгебраических выражений
Пример описания
Виртуальное пространство памяти
Состав компилятора
Состав шаблона C#-проекта
Результаты работы
77.79K
Category: programmingprogramming

Компилятор логико-алгебраических выражений для многомодульных систем

1. Компилятор логико-алгебраических выражений для многомодульных систем

Выполнил Воронков В.В.
Научный руководитель Гурин Е.И.

2. Цели работы

Объекты исследования – способы проектирования
распределенных и параллельных программ.
Цели работы – разработка компилятора для языка
логико-алгебраических выражений, позволяющего
выполнить преобразование формального
описания исходной модели в конкретный код на
одном из языков программирования.

3. Проблемы существующих средств разработки

Выполнение синхронизации на этапе написания
кода приводит к ошибкам в приложении
За счет узкой направленности большинство средств
разработки подходят только для выполнения
конкретных задач.
Отсутствуют инструменты предварительного
проектирования модели программы.

4. Особенности нового подхода

Наличие формального описания концептуальной
модели программы.
Возможность представления модели в
графическом виде (в виде графа).
Использование компилятора для автоматического
преобразования модели в код программы.

5. Преимущества языка логико-алгебраических выражений

Преимущества языка логикоалгебраических выражений
Наличие необходимых синтаксических
конструкций для построения модели
многомодульной системы.
Простота представления модели в
графическом виде.
Грамматика языка является контекстно-свободной.

6. Пример описания

Условие входа в состояние
qS1 = [T(S0, S1)] (
Оператор
{
T(S0, S1) <- false;
S1;
[Q(S1)](
T(S1, S2) <- true |
T(S1, S12) <- true
)
} | R
Оператор условия
);
Повторная проверка входа
перехода

7. Виртуальное пространство памяти

8. Состав компилятора

Лексический анализатор (GPPLEX)
Синтаксический анализатор (GPPG)
Генератор кода

9. Состав шаблона C#-проекта

Solution.sln – файл решения.
Project.csproj – файл проекта.
Startup.cs – точка входа в программу.
State.cs – базовый класс для реализации состояний
CommonState.cs – шаблон состояний.
DataSpace.cs – реализация виртуального
пространства.

10. Результаты работы

Проанализированы существующие решения в области
проектирования распределенных и параллельных
программ.
Разработан компилятор логико-алгебраических
выражений для использования в составе
инструментальных систем разработки.
Разработан масштабируемый модуль генерации кода.

11.

Спасибо за внимание
English     Русский Rules