- •FLIDE
- •Московский институт радиотехники, электроники и автоматики (МИРЭА ТУ)
- •Направленные отношения.
- •Свойства НО и представимые семантические объекты.
- •Сетевое представление НО
- •Сетевое представление семантических объектов
- •Программа
- •Вычисление
- •Подстановка
- •Редукция сетей
- •Вычисление в базисе конструкторов
- •Вычисление с разметкой
- •Вычисление с разметкой
- •Стратегии вычисления
- •Маски вычислимости
- •Маски вычислимости (продолжение)
- •Логический вывод
- •Реализация
- •Внутреннее представление КССГ
- •Внутреннее представление сети
- •Внутреннее представление сети (продолжение)
- •Оптимизация вычислений
- •Редукция «по фронту»
- •Редукция «по фронту» (продолжение)
- •Кольцевая подстановка
- •Кольцевая подстановка (докопирование контекста)
- •Системные типы данных и системные НО
- •Отладка программ
- •Импорт программ языка Пролог
- •Схема вычисления запроса в СФЛП
- •Интерфейсные
- •Технология графического построения программ (ТГПП)
- •Формирование сетей
- •Вид окна графического редактора
- •Автоматическая расстановка сетей
- •Автоматическая расстановка сетей
- •Основные результаты работы
- •Спасибо за внимание!
Импорт программ языка Пролог
Импорт программ, написанных на языке логического программирования Пролог повышает универсальность СФЛП и обеспечивает поддержку компиляции входного языка СФЛП S-FLOGOL.
Ограничения:
отсутствие синтаксического анализа,
отсутствие поддержки отсечения и отрицания,
отсутствие поддержки полиморфизма предикатов,
из системных предикатов поддерживаются:
=\=, = =, >=, is, write, fail, [ | ], = и \=.
Пример преобразования предиката is:
X is 5 + 10*15 |
|
|
X is 5 + 10*15 |
|
|
5 |
+ |
|
$ar(+(5,*(10,15))) |
10 |
|
$ar |
$ar |
|
* |
|
|||
|
|
|
155 |
|
15 |
|
|
X |
X |
|
|
|
Пример конструкции [ | ]:
P([a,b|c]).
|
A |
B |
Cn |
App |
|
|
Cn |
Nil |
|
C
Cn
Nil
Схема вычисления запроса в СФЛП
КССГ ПСИЗ в |
Блок |
|
визуализации |
||
ГРАФ |
||
вычислений |
||
|
Графический |
|
|
|
|
ГРАФ в |
|
|
|
|
Блок |
|
|
Ядро |
Системные |
||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
предварительной |
|
|
||||||
редактор |
|
|
|
КССГ ПСИЗ |
|
|
|
|
|
ПСИЗ |
НО |
|||||
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
обработки КССГ |
|
|
||||||||
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Компилятор |
|
|
|
|
Пролог в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
запросов |
|
|
|
|
КССГ ПСИЗ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SimpleNet в КССГ ПСИЗ
конверторы
ПСИЗ
Интерфейсные
средства
Графический редактор
Технология графического построения программ (ТГПП)
ТГПП предназначена для обеспечения корректности формируемой программы на каждом шаге ее построения.
Формирование КССГ: |
Формирование сетей: |
добавление элемента базиса |
добавление элемента |
определение свойств элемента базиса |
удаление элемента |
удаление элемента базиса |
отождествление точек |
добавление правила грамматики |
«расщепление» точек |
удаление правила грамматики |
добавление ребра dif-графа |
выделение запроса к системе |
удаление ребра dif-графа |
Для каждой технологической операции формально определено изменение сети после ее выполнения.
Формирование сетей
Пример добавления элемента сети и отождествления точек:
Add |
Add |
|
Пример разрушения связей («расщепления») точки сети:
Succ |
Succ |
|
|
|
Add |
Succ |
Succ |
|
|
|
Add |
Пример удаления элемента сети:
Succ |
Succ |
|
|
|
Add |
Succ |
Add |
Вид окна графического редактора
|
Архитектура графического редактора |
|
||
|
Графический редактор |
|
Ц |
|
|
|
|
|
|
|
Интерфейс пользователя |
|
е |
|
|
|
н |
||
|
|
|
|
|
|
|
|
|
т |
|
Подсистема передачи сообщений |
р |
||
П |
а |
|||
|
|
|
|
л |
С |
Ядро редактора |
|
|
ь |
|
|
|
н |
|
И |
Подсистема |
Подсистема |
Файловая |
ы |
|
й |
|||
З |
построения |
редактирования |
подсистема |
|
|
грамматики |
сетей |
|
м |
|
|
|
|
о |
|
Подсистема |
Подсистема |
Подсистема |
д |
|
у |
|||
|
автоматической |
формирования |
управления |
|
|
л |
|||
|
расстановки |
и прорисовки |
вычислением |
|
|
ь |
|||
|
сетей |
изображения |
и отладкой |
|
|
|
Автоматическая расстановка сетей
Для отображения результатов вычисления в сетевом виде требуется по внутреннему представлению сетей строить их графическое отображение.
Этапы построения изображения:
предварительная расстановка элементов
основная расстановка методом силовых воздействий
обработка полученного изображения
Особенности реализации основного этапа:
учет геометрических размеров объектов сети
использование метода оболочек для ускорения расстановки
особое распределение сил отталкивания
обнаружение и гашение циклических колебаний
моделирование вязкости среды
Автоматическая расстановка сетей |
|
Рамки, силы отталкивания и притяжения: |
Распределение сил отталкивания: |
|
F |
P |
|
R |
|
|
R |
S |
|
N |
S |
Основные результаты работы
1.Введено понятие размеченной сети. Предложены правила редукции для размеченных сетей.
2.Предложена абстрактная машина вычисления НО. Разработаны алгоритмы линейной сложности для выполнения подстановки и редукции.
3.Предложены и реализованы методы повышения эффективности вычисления НО – редукция «по фронту», кольцевая подстановка, оптимизации последнего вызова, маски вычислимости и мультиправила.
4.На основе предложенных методов и алгоритмов выполнена программная реализация подсистемы исполнения запросов СФЛП. Реализован импорт программ на языке Пролог.
5.Разработана технология графического построения программ (ТГПП), гарантирующая корректность формируемой программы.
6.Предложены оптимизационные модификации и реализован силовой метод автоматического формирования изображения сетей.
7.Разработана архитектура и выполнена программная реализация графического редактора СФЛП, поддерживающего ТГПП.
8.Подсистема исполнения запросов и графический редактор интегрированы
вреализованную совместно с Бебчиком Ал.М. СФЛП.