Д Р А К О Н О Г Р А Ф И К А

Маршрутами ДРАКОНа | Краткое руководство по языку | Шампур-метод и техноязык

Содержание

Алфавит и словарь языка

Визуальные операторы (виопы) техноязыка ДРАКОН-Алго (версии 1 и 2)

Составные операторы (макровиопы) базового словаря техноязыка ДРАКОН

Дополнительные операторы Д2М-редакции техноязыка

Дополнительные макрооператоры Д2М-редакции техноязыка

Правила языка

Шампур-метод

Общие понятия

Элементы и связи шампур-схем

Структуры шампур-схем

Операции прибавления элементов

Операции вычитания элементов

Операции преобразования конфигурации

Операции преобразования свойств

Определение результатов вывода

Техноязык служит для описания структуры и свойств объектов данных (элементарных, сложных) с т. зр. формального исполнителя (напр. информашины) в графовой форме.

Описывает процесс решения задачи как алгоритм (систему алгоритмов) с графовым представлением маршрутной структуры; граф-схема алгоритма (ГСА) в языке называется дракон-схемой. Применяется взамен текстовых импер-языков и блок-схем (заменяя графами только структурную часть их импер-составляющей; остальное подлежит отражению как текстоэлементы дракон-схем и, возможно, схем других визуальных языков).

Модификации (в сравнении с исходным стандартом языка из /1/) состоят в следующем:

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

Фактически для представления алгопроцессов в предметных областях, отличных от исходной для техноязыка (как импер-ЯПЗ методологии ГРАФИТ-ФЛОКС), определена расширенная Д2М-редакция техноязыка. Расширение для целей документа ограничено лексикой; правила вывода оставлены в определении шампур-метода. Описания можно найти на страницах графит-букваря.

В начало страницы

Алфавит и словарь языка

Визуальные операторы (виопы) техноязыка ДРАКОН-Алго (версии 1 и 2)

Алфавит образуют ОС-вершины и символы, перечисленные в таблицах ниже:

В начало страницы

Составные операторы (макровиопы) базового словаря техноязыка ДРАКОН

Базовый словарь образуют сочетания алфавитных знаков, перечисленные в таблице ниже:

В начало страницы

Дополнительные операторы Д2М-редакции техноязыка1

Дополнительные операторы приведены ниже:

Пояснение. Виоп Д30 визуализирует операторы проверки инвариантов алгопроцесса (контрактов процедуры/метода программы).

В начало страницы

Дополнительные макрооператоры Д2М-редакции техноязыка2

Виоп 30Д визуализирует оператор проверки инвариантов assert.

В начало страницы

Правила языка

2.1.2.1. Д2М-схемы представляют собой орграфы, причём всё объекты, кроме дуг, являются вершинами. Направление дуг от начала схемы к концу (в терминах языка – по шампуру) подразумевается и потому специально не показывается; направление дуг против шампура показывается стрелкой на конце дуги.

Д2М-схемы эквивалентны дракон-схемам с точностью до возможного алфавита вертикалей (могут присутствовать также вершины дополнительных виопов).

В Д2М-языке разрешена декомпозиция (оформляемая оператором активной подстановки Вставка). В силу этого описание логики процесса м.б. выполнено как разнесённым способом (в виде Д2М-модели, содержащей общую и частные схемы), так и совмещённым способом – в виде единой Д2М-схемы (без подстановок). Общая схема носит имя процесса, к которому относится. Каждая частная схема описывает одну из процедур процесса (подставляемую одно- или многократно; в последнем случае обязательна формальная параметризация передаваемых/получаемых объектов для различения их в разных вхождениях).

2.1.2.2. Д2М-схемы организованы (находятся «в статике») следующим образом:

СА. Используются базовый или полный алфавит и словарь в зависимости от смысла визуализируемых процессов. Словарные конструкции и заготовки, помимо прочего, задают упорядоченность дуг на схеме.

Определены две альтернативных диоформы (типа структуры) Д2М-схем – маршрутная неаранжируемая (не укладываемая на плоскости, в терминах языка – примитив) или аранжируемая (силуэт). Каждая из них имеет исходную форму (аксиому для вывода), называемую заготовкой. Заготовки и их элементы показаны ниже:

СБ. Определены как виопы-боковики:

Виоп-боковик соединяется с вершиной горизонтальным ребром-отводком.

NB. Возможно, следует допустить присоединение исключения к заголовку и концу схемы (т.е. обработку исключительной ситуации при входе в визуал и/или выходе из него).

СВ. Детали организации Д2М-схем заданы далее в Тезисах 1...9, 11...17, 19...20, 22...23, 26...27.

2.1.2.3. Построение («динамика») дракон-схем определяется как исчисление над алфавитом и словарём, определёнными выше, с использованием маршрут-заготовки. Операции вывода распределены по классам прибавления элементов к текущей структуре, их вычитания из структуры, преобразования текущей структуры.

На структуру дракон-схемы накладываются следующие ограничения (топологические запреты), как указано далее при уточнении Тезиса 5.

2.1.2.4. Для «жёсткого» построения определены правила вывода (тезисы), рассмотренные в п. 2.1.3, исключая перечисленные в Д2М-правиле СВ.

В начало страницы

Шампур-метод

Определения тезисов даны на основе /1, Гл.15/ и используют также результаты /3, п/р 4.2/.

NB. Множество тезисов является минимальным и потому составлено исходя из того, что объектом является только текущая схема и не делаются никакие предположения ни о её топологических свойствах, ни о свойствах исполнителя тезисов (напр., наличии дополнительной памяти объектов). М.б. определены другие исчисления с учётом таких предположений; также с использованием данных тезисов и предположений о свойствах исполнителя м.б. определены укрупнённые операции (такие, как объединение/разъединение, рокировка).

Общие понятия

Явно в исходном шампур-методе не определены.

NB. Следует подразумевать, по крайней мере, следующее:


В начало страницы

Элементы и связи шампур-схем

Тезис 1. Иконы — визуальные буквы, образующие визуальный алфавит языка ДРАКОН согласно п. 2.1.1 .

Тезис 9. Точка ввода (валентная) — точка, принадлежащая заготовке или дракон-схеме, в которой разрешается произвести разрыв соединительной линии, чтобы в место разрыв вставить атом с помощью операции Ввод атома

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

Тезис 15. Точки ввода делятся на нейтральные и критические.

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

Тезис 17. Валентные точки находятся в заготовках и атомах. Они показаны в /3, п/р 4.2, дио/ф Визуализация формальных основ техноязыка/, где нейтральные точки обозначены светлыми кружками, критические — жирными точками.

Тезис 19. Полная совокупность критических точек охватывает:

Тезис 20. Полная совокупность нейтральных точек охватывает:

Структуры шампур-схем

Тезис 2. Заготовка-примитив и заготовка-силуэт — фигуры, показанные в п/п 3.5.2.1 .

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

Предварительный тезис 4. Силуэт — фигура, полученная путем преобразования заготовки-силуэт за конечное число шагов с помощью фиксированного набора операций (перечисленных ниже в тезисе 37).

Тезис 5. Дракон-схема — общее понятие для обозначения примитива и силуэта.

NB. На структуру дракон-схемы накладываются следующие ограничения (топологические запреты):

NB. Из последнего, в частности, следует, что вертикаль ни в какой своей части не может идти против шампура (снизу вверх), а последовательные (образующие линию) горизонтали д.б. направлены одинаково (исходя из порядка вертикалей - справа налево).

Тезис 6. Шампур-блок — часть дракон-схемы, имеющая один вход сверху и один выход снизу, содержащая одну или несколько икон, причём:

Тезис 7. Главная вертикаль шампур-блока — вертикаль, соединяющая его вход и выход.

Тезис 8. Атомы — фигуры, изображённые в /3, п/р 4.2, дио/ф Визуализация формальных основ техноязыка, кадр 1/. Эти фигуры используются в операции Ввод атома. Любой атом является шампур-блоком.

Тезис 11. Атомы делятся на простые и составные. Простой атом состоит из одной иконы, составной содержит не менее двух (/3, п/р 4.2, дио/ф Визуализация формальных основ техноязыка, кадры 2,3/).

Тезис 12. Функциональный атом — простой атом, не являющийся пустым оператором. Таковы все простые атомы, кроме комментария.

Тезис 13. Составные атомы бывают пустые и непустые. В непустом есть хотя бы один функциональный атом. В пустом нет ни одного.

NB. Составной атом также содержит :

Тезис 22. Матрёшка — фигура, полученная путем ввода пустого атома в критическую точку пустого атома, а также путем многократного вложения пустых и непустых атомов друг в друга (рис. 123).

Тезис 23. Матрёшка бывает пустой (если все содержащиеся в ней атомы пустые), частично пустой (если в ней есть как пустые, так и непустые атомы) и непустой (если все её атомы непустые). См. /1, Рис. 124—126/.

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

Тезис 26. Лиана — часть дракон-схемы, имеющая один вход и один выход, именуемые "началом лианы" и "концом лианы" соответственно. Началом лианы может быть любой выход икон вопрос и вариант, если он (выход) не является петлёй цикла. Концом лианы считается точка слияния, в которой нижняя часть лианы соединяется с другой линией (концом лианы не может быть неразветвлённый вход иконы).

Тезис 27. Лиана может быть нагруженной (если она содержит иконы) и ненагруженной (если это просто линия).

NB. Существенно неполон шампур-метод в том, что не определены подсхемы как объекты операций. Это требует указания формальных условий выбора подсхемы на шампур-схеме.

Очевидно допустимыми являются:

В реализации определяются условия выбора этих объектов. При несоблюдении условий выбор не принимается.

В начало страницы

Операции прибавления элементов

Тезис 10. Ввод атома — преобразование заготовки или дракон-схемы, выполняемое следующим образом: производится разрыв соединительной линии в валентной точке и в это место вставляется атом, как показано на /1, Рис. 116/.

Тезис 18. Если в фигуре (заготовке или атоме) одна критическая точка, ввод атома обязательно производится именно в нее; при этом критическая точка уничтожается. Если фигура имеет две критические точки, обязательный ввод атома делается только в одну из них; при этом критическая точка, в которую произведен ввод, уничтожается, а другая критическая точка нейтрализуется, т. е. становится нейтральной.

Тезис 21. Операция Ввод атома применяется для ввода только простых и пустых атомов, а также цикла ЖДАТЬ. Ввод непустого атома осуществляется в два этапа; сначала вводится пустой атом, затем в его критическую точку вводится функциональный атом.

Пояснение. Ввод пустого атома — очень удобный строительный приём. Он позволяет обеспечить богатство и разнообразие создаваемых дракон-схем и используемых в них конфигураций. Среди последних особую роль играет так называемая "матрёшка".

Тезис 24. Чтобы устранить пустые атомы из дракон-схемы, есть два способа:

В обоих случаях выполняется ввод атома.

Тезис 25. Устранение из дракон-схемы пустых атомов автоматически приводит к уничтожению всех критических точек.

Тезис 30. Боковое присоединение — преобразование дракон-схемы, с помощью которого в схему добавляются иконы синхронизатор или формальные параметры.

Икона синхронизатор размещается слева от другой иконы и соединяется с ней горизонтальным отростком. Перечень икон, к которым осуществляется боковое присоединение синхронизатора, показан в /2, Рис.2 (пп. 8...20)/.

Икона формальные параметры размещается справа от иконы заголовок и соединяется с ней горизонтальным отводком, как показано на /1, Рис. 2, п. 1/.

Тезис 31. Добавление варианта — преобразование дракон-схемы, с помощью которого в атом переключатель добавляется ещё одна икона вариант. Число добавлений не более 14, так что максимальное число вариантов в переключателе равно 16.

Тезис 32. Добавление ветки — преобразование силуэта, в который добавляется ещё одна ветка. Число добавлений не более 14, так что максимальное число веток в силуэте равно 16.

Тезис 35. Дополнительный вход — преобразование силуэта, с помощью которого добавляется ещё одна икона заголовок, которая размещается над любой иконой имя ветки (кроме левой) и соединяется с ней вертикальным отростком. При этом на верхней горизонтальной линии силуэта рисуют направленную вправо стрелку, как показано в примере /1, Рис. 84/ справа.

Ограничение. При наличии веточного цикла запрещается присоединять дополнительный заголовок к середине веточного цикла.

В начало страницы

Операции вычитания элементов

Тезис 33. Удаление последней ветки — преобразование силуэта, при котором удаляется крайняя правая ветка. Этот приём используется при описании бесконечного параллельного процесса, как показано в примерах /1, Рис. 88, 89/.

Тезис 34. Удаление конца примитива — преобразование примитива, при котором удаляется икона конец. Это необходимо для описания бесконечного параллельного (реагирующего) процесса.

NB. Данные операции формально в той же мере можно трактовать и как преобразования конфигурации схемы.

Следует определить операции удаления для заданных подсхем.

В начало страницы

Операции преобразования конфигурации

Тезис 28. Пересадка лианы — преобразование дракон-схемы, выполняемое за четыре шага.

Однако разрешается строить новый путь из середины обычного цикла к единственному входу в этот цикл, создавая визуальный эквивалент оператора continue языка СИ (см. /1, Рис. 90, пример 7; Рис. 41/).

NB. Два последних правила введены для учёта топологических запретов по п/п 3.5.2.3. В дракон-схемах точки слияния с вертикалью для горизонталей, подходящих к вертикали с разных сторон, должны разделяться как минимум одним звеном вертикали; в этом случае можно однозначно трактовать направление маршрутов после пересадки лиан без дополнительных указаний направления дуг.

Тезис 29. Заземление лианы — преобразование дракон-схемы, выпол­няемое за четыре шага.

В начало страницы

Операции преобразования свойств

Формально в исходном шампур-методе не определены.

NB. Отсутствие явных определений данного класса операций также есть существенная неполнота исходного шампур-метода.

Фактически необходимы по крайней мере следующие:

Эти и другие целесообразные операции определяются при реализации.

В начало страницы

Определение результатов вывода

Тезис 14. В полностью законченной дракон-схеме не должно быть ни одного пустого атома (так как последний эквивалентен пустому оператору). Пустые атомы разрешается использовать на всех этапах построения дракон-схемы, кроме заключительного.

Тезис 36. Любая правильно построенная дракон-схема "примитив" является результатом преобразования заготовки-примитив с помощью конечного числа операций: Ввод атома, Пересадка лианы, Добавление варианта, Боковое присоединение, Удаление конца примитива.

Тезис 37. Любая правильно построенная дракон-схема "силуэт" является результатом преобразования заготовки-силуэт с помощью конечного числа операций: Ввод атома, Добавление ветки, Пересадка лианы, Заземление лианы, Добавление варианта, Боковое присоединение, Удаление последней ветки, Дополнительный вход.

В начало страницы | Оглавление | Версия для печати

Copyright © Жаринов В.Н.

1Вводятся как расширение алфавита техноязыка, заданного в /2, Гл.6/.

2Вводятся как расширение словаря техноязыка, заданного в /2, Гл.6/.

Hosted by uCoz