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

Содержание

Слайд 2

Цели работы

Объекты исследования – способы проектирования распределенных и параллельных программ.
Цели работы –

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

Слайд 3

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

Выполнение синхронизации на этапе написания кода приводит к ошибкам в

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

Слайд 4

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

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

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

Слайд 5

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

Наличие необходимых синтаксических конструкций для построения модели многомодульной системы.
Простота

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

Слайд 6

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

Оператор перехода

Пример описания Оператор перехода

Слайд 7

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

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

Слайд 8

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

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

Слайд 9

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

Solution.sln – файл решения.
Project.csproj – файл проекта.
Startup.cs – точка входа

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

Слайд 10

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

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

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