Г Р А Ф И Т — б а з и с

Инфологическое обеспечение | Языковое | Императивный базис

Содержание

Техноязык ДРАКОН-2, модифицированный (ДРАКОН-Алго, ДА)

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

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

Диалект Оберон-07-Promela (ДО7Pr)

Диалект ДРАКОН-Родной (ДА-Р)

Лиорасширение Д2М-языка (ЛД)

Расширение лексики

Расширение правил

Техноязык ДРАКОН-2, модифицированный (ДРАКОН-Алго, ДА)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ДА. Для детального, или «точного» построения определены маршрутно-специфические правила вывода, исключая операции преобразования конфигурации (соответственно недопустимы лин-соединители). Обязательна к употреблению заготовка-дейкстрал. Редактирование «по выделению» должно охватывать сепулька-блоки (вставляемые из кармана как атомы).

ДБ. Для эскизного, или «примерного» построения определены маршрутно-специфические правила вывода, включая операции преобразования конфигурации. Дейкстрал к употреблению не обязателен.

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

Диалект Оберон-07-Promela (ДО7Pr)

Вводится как гибридный с языком спецификаций РВ Promela и с прогязыком Оберон-07 для адекватного представления смысла этих языков с возможностью преобразования спецификаций в программы; прежде всего имеется в виду взаимодействие процессов.

5.5.2.1. Алфавит диалекта включает дополнительные знаки (см. таблицу):1

Алфавитные знаки ДО7Pr-диалекта

Пояснение 1. В прогязыках РВ явно отражается не только отправка сообщения (в описании алгопроцесса-источника), но и его получение (в описании алгопроцесса-получателя); поэтому в алфавит включены соответствующие виопы.

NB. Механизм межпроцессного обмена сообщениями (реализованный операторами техноязыка) использован для взаимодействия процессов только в языке Promela; в Обероне (любой редакции по 07) средства взаимодействия не предусмотрены, для этого создано расширение – Активный Оберон, где использован другой механизм – критических интервалов синхронизации взаимодействия (операторами AWAIT). Вопрос соответствия этих механизмов друг другу и их гармонизированного отражения в техноязыке должен решаться дополнительно.

Словарь диалекта включает производные от этих знаков макровиопы РВ, а также макровиоп Цикл Дейкстры (ЦД), как показано в диословаре ниже:

Словарные конструкции ДО7Pr-диалекта

Пояснение. В языках, использованных для гибридизации, цикл Дейкстры принят как основная циклическая конструкция (в Promela – вообще как единственная).

Как макровиоп ЦД визуализируется в инверсной форме (развилки условий по шампуру), т.к. в прямой форме выход и вход не м.б. приведены к одной вертикали без возникновения пересечений, как показано при описании ЦД в этом пункте.

Использовано расширение типизации точек ввода, определённое ДО7Pr-правилами (см. далее в п/п 3.5.3.4); ввод (ациклический) возможен только в ПОКА-подтело каждого обычного цикла-ветви ЦД, т.к. в качестве ДО-подтела добавляется очередная ветвь цикла согласно ДО7Pr-правилу ДА (см. далее).

Пояснение 2. Макровиопом 30Д визуализируется Promela-оператор atomic.

5.5.2.2. ДО7Pr-схемы представляют собой орграфы, причём всё объекты, кроме дуг, являются вершинами.

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

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

СГ. Подмножество тезисов организации получает следующую редакцию:

Тезис 17. Точки ввода находятся в заготовках и атомах. Они показаны в /3, п/р 4.2, дио/ф Визуализация формальных основ техноязыка/ для Д2М-редакции, а для данного диалекта – также в ДО7Pr-словаре (см. выше в п/п 3.5.3.1).

СД. Атомизации м.б. подвергнута только последовательность операторов.

Пояснение. Фактически это означает следующие ограничения:

Формально по графит-методу (базис-методу) это обозначается точкой ввода типа 3 внутри макровиопа 30Д.



5.5.2.4. ДО7Pr-схемы строятся (находятся «в динамике») по следующим правилам:

ДА. Допускается только детальный метод построения схем. Соответственно невозможны пересадки и заземления лиан.

Пояснение. Запрет на операции с лианой обусловлен реализованными в Обероне-07 требованиями т.н. доказательного программирования – инженерного проектирования алгоритмов и программ на основаниях, аналогичных структурно-функциональному проектированию материальных систем, т.е. полностью расчётно-логическим путём. Ключевая роль при этом отводится ЦД как форме т.н. универсальной программы.

NB. Возможность отказа от пересадок вытекает из теоремы Бома-Джакопини о возможности представления структурной программы (алгопроцесса) только композицией следований и циклов; при этом как произвольные циклы (с досрочными выходами и/или возвратами изнутри тела, что в «классическом» техноязыке означает образование в теле цикла лианного блока), так и произвольные ветвления (нециклические лианные блоки) м.б. представлены через ЦД с надлежаще сформулированными условиями.

Обсуждение и пример представления алгоритмов через цикл Дейкстры (на базе доказательного вывода ЦД-структуры из постановки задачи) можно найти в этом документе.

Как исключение можно было бы допустить пересадку лианы внутри ветви цикла Дейкстры на его нижнюю горизонталь (подобно заземлению лианы, но без вставки виопа Адрес ветки и без возможности пересечений); полученную конструкцию называем разветвлённым циклом Дейкстры (РЦД). Однако это даёт структуру, которую можно получить и путём ввода атомов.

ДБ. Подмножество правил построения получает следующую редакцию:

Правило . Добавление варианта – преобразование дракон-схемы, с помощью которого в атом переключатель добавляется ещё один виоп вариант (или в атом цикл Дейкстры – ещё один макровиоп Обычный цикл, служащий заготовкой ветви ЦД). Пример см. схему ниже:

Дополнительные операции вывода ДО7Pr-схем

Число добавлений не более 14, так что максимальное число вариантов в переключателе (ветвей в цикле Дейкстры) равно 16.

Пояснение. Тела ветвей м.б. только атомарными шампур-блоками в силу отказа в Обероне от употребления БП.

Правило . Правильно построенный Д2М-силуэт м.б. преобразован в ДО7Pr-ЦД по переменной Имя ветки (далее – силуэтный ЦД, СЦД), а разветвлённый силуэт— в разветвлённый СЦД (РСЦД), как указано в п. Доказательство этого примера.

Пояснение. Данное преобразование необходимо, т.к. в Оберон-07 и в Promela (как, впрочем, в любом известном текстовом прогязыке) конструкция типа «силуэт» отсутствует (и м.б. напрямую смоделирована только в языках с явным БП, т.е. c goto-оператором, что нарушает требования структурности).

Пояснение 2. При преобразовании выводится силуэтный цикл Дейкстры без заземления лиан, т.к. в противном случае топологически конструкции опять-таки м.б. представлена только с употреблением явных БП; логически значения это не имеет, т.к. присваивания номера ветви в побочных вертикалях СЦД равносильны БП с заземлённых лиан в силуэте (приводят к тем же переходам).

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

Диалект ДРАКОН-Родной (ДА-Р)

Вводится для составления эскизов и спецификаций процессов как гибридный с естественным языком, которым сочинитель (прежде всего специалист-«предметник», не являющийся ИТ-профессионалом) пользуется для описания деятельности.

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

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

5.5.3.2. ДР-схемы эквивалентны дракон-схемам любого диалекта с точностью до текста вершин (см. выше).

ДР-схемы организованы и строятся по правилам используемого диалекта техноязыка.

Вершины Область могут охватывать более одной вершины ДР-схемы.

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

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

Лиорасширение Д2М-языка (ЛД)

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

Расширение лексики

Алфавит расширения включает дополнительные знаки (см. таблицу):

Алфавитные знаки лиорасширения техноязыка

Словарь расширения включает дополнительные знаки (см. таблицу):

Словарные конструкции лиорасширения техноязыка

NB. Макровиоп Прерывание был включён в Д2М-редакцию (имея в виду, что некоторые высокоуровневые языки для гибридизации могут поддерживать прерывания).

Макровиоп ЛД1 считается состоящим из виопа Вариант, текст которого трактуется как метка следующего за ним виопа, и специально вводимого в алфавит парного ЛД-виопа Адрес БП, служащего командой безусловного перехода на метку, заданную текстом варианта (т.е. на позицию этого виопа в схеме или по адресу размещения его в предметном представлении схемы).

Вершины ЛД3, ЛД4, как и ДМ3, ДМ4 в ДМ-языке (см. п. 5.4.1) отображают безусловный переход с возвратом (вызов вспомогательного алгоритма со сменой контекста алгопроцесса).

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

Расширение правил

ЛД-схемы представляют собой орграфы, причём всё объекты, кроме дуг, являются вершинами.

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

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

СА. Подмножество тезисов организации техноязыка пополняется следующими:

Тезис 41. В шампуре примитива (ветки силуэта), а равно и в побочной вертикали, ограниченной с начала и с конца макровиопами ЛД1, как показано для макровиопов ЛД10 и ЛД11, макровиопы ЛД1 могут также находиться между любыми другими виопами.

В завершённой ЛД-схеме любые два БП д.б. разделены хотя бы одним другим виопом (т.е. не из числа алфавитных знаков, входящих в макровиоп ЛД1).

Тексты всех вариантов-меток в одной схеме д.б. уникальны.

Тексты разных виопов Адрес БП могут совпадать; в этом случае переход является кратным.

СБ. Множество атомов для ввода пополняется атомами 1ЛД, 2ЛД, 10ЛД, 11ЛД.

Множество вершин-боковиков пополняется виопом Вставка для присоединения справа к звену вертикали.

3.5.3.4. ЛД-схемы строятся (находятся «в динамике») по следующим правилам:

ДА. Подмножество тезисов построения пополняется следующими:

Тезис 42. Ввод БП – операция, проводимая аналогично вводу других атомов, за исключением следующего:

Замечание. Второе ограничение можно ослабить, введя следующее:

Точка ввода между двумя макровиопами ЛД1 является критической; в неё д.б. введён любой другой атом, кроме атома Безусловный переход.

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


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

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

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

Hosted by uCoz