Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность
Это старая версия документа.
В разное время были созданы следующие практические технологии:
Разработка обобщённой технологии в настоящее время доступна здесь. Возможно, в дальнейшем на основе этой и других разработок будет создано согласованное определение.
Т1. На страницах раздела помещаются описания технологий.
Т2. Можно описывать предложения различных разработчиков как варианты единой технологии (на усмотрение участников).
Т3. В разделе нейтральная (сбалансированная, альтернативная) точка зрения обязательна.
Технология применения одноимённой реализации гибридного техноязыка ДРАКОН-ФЛОКС.
Схематически показана на рисунках: (вставить Лист1,2 А4 Техпроцесс ГРАФИТ-ФЛОКС)
Технология обсуждалась в специализированной теме форумов проекта.
Сущность технологии - в разделении формализации для человека-участника и для технического исполнителя. Участники выступают в ролях специалиста в предметной области, аналитика-постановщика задач (объединяемых в роли т.н. комплексника), программиста. Это выражается как в выделении этапов разработки (формализации профессиональных знаний, кодирования и генерации), так и в разграничении содержания описаний на уровни - управленческий, алгоритмический, программный. Техническим исполнителем в ГРАФИТ-ФЛОКС принят ряд БЦВК «Бисер» (собственной разработки НПЦ АП), встроенный в объект управления (ракету-носитель или разгонный блок сторонней разработки).
Данная технология полностью отвечает потребностям организации-разработчика (НПЦ АП). Разделение формализации и принятые техпроцессы обеспечивают требуемый уровень взаимодействия специалистов-комплексников (т.е. предметников и аналитиков-постановщиков задач) с программистами. Достижение требуемой гарантоспособности в процессе разработки обеспечивается за счёт удобства «мозговой проверки» человекочитаемого описания и однозначности генерации ПО по нему.
Технология создавалась для собственного пользования организации-разработчика, поэтому распространение и поддержка не предполагались. C 1996 года ГРАФИТ-ФЛОКС официально применяется в НПЦ АП (см. выдержку из Распоряжения №3 здесь). По сообщению Паронджанова, в связи со стабильно высокими результатами первых проектов было принято решение использовать технологию в последующих разработках.
Технология рассчитана на отделение императивной компоненты формализованного знания от декларативной и связующей компонент (в смысле подразделения, вводимого в этой работе как «базис трёх абстракций»).
В открытом исполнении была разработана различными участниками в основном независимо как следствие поисковых работ по шампур-визуализации. Формировалась с 2005 г. В. Жариновым первоначально под редактор рисунков MS Word; с появлением доступных изданий пакета OpenOffice.org с 2007 г. была переведена на реализацию в его редакторе рисунков Draw; с 2009 г. разрабатывается также Э. Ильченко. Имеются варианты:
Ручная технология описана здесь. Были употреблены дополнительные обозначения для сложных описаний, представленные здесь. Включение рисунков в документ пакета требует знания также возможностей оформления. Поэтому Жариновым был подготовлен шаблон-инструкция, доступный здесь.
Полуавтоматическая технология формировалась Э. Ильченко под разрабатываемый им модуль расширения редактора Draw. Предварительно обсуждалась в этом посте.
В DRAKON Editor С. Митькина в силу принципа редактирования схема создаётся фактически по сходной технологии. Доступен деморолик.
Аналогичным образом можно визуализировать и на базе закрытых приложений. Так, Паронджанов создавал иллюстрации к своим работам в редакторе Corel Draw (см. п. 4 в этом посте).
Данная технология удобна, когда нужно подготовить схемы для использования человеком, а доступные дракон-редакторы неудобны.
Варианты используют возможности представления графики в пакете. Ильченко указывал на их ограниченность и неудобство встроенных средств макропрограммирования OpenOffice.
Оба варианта реализации создавались для собственного пользования авторов, поэтому распространение и поддержка не предполагались.
В силу открытости такая реализация доступна широкому кругу желающих. Богатые возможности форматирования графики и текста делают её удобной для представления формализуемых знаний в сложном синтаксисе. Свободное редактирование целесообразно для отработки процессов редактирования, поиска новых принципов работы в специализированных редакторах. Однако графическое программирование требует дополнительной поддержки.
Технология применения приложения "ИС ДРАКОН". Частично базируется на ГРАФИТ-ФЛОКС, поскольку в ИС перенято разделение содержания вершин по категориям. В связи с черновым характером пользовательской документации и постоянным развитием ИС периодически уточняется силами пользователей-энтузиастов данного приложения. На данное время можно выделить основные варианты:
С. Ефанов создал ресурс drakon-practic на основе ряда собственных демороликов. Продемонстрирована работа с ИС при программировании микроконтроллера для привода дверного замка; к роликам есть сопровождающие тексты.
Данная технология полностью отвечает потребностям пользователей. Замечания и предложения разработчик учитываает в очередных версиях, если считает нужным.
Варианты процессов применения фактически в той или иной мере преодолевают недостатки ИС.
Формировалась Д. Барановским для его ВЯЗБС-систем. Общее описание см. в этом документе.
Технология программирования на ВЯЗБС включает настройку на стандарт языка исходных текстов. После этого процесс достаточно прост для специалиста, знающего этот язык. Цель - понизить «порог вхождения» в графическое программирование.
Технология создавалась для собственного пользования разработчика, поэтому распространение и поддержка не предполагались. В настоящее время развивается для колективной разработки и с учётом возможности широкого применения.
Р1. На страницах раздела помещаются описания программ (пакетов), реализующих техноязык как автономно, так и как часть комплекса языков.
Р2. Решения различных разработчиков можно описывать совмещённо (на усмотрение участников).
Р3. В разделе нейтральная (сбалансированная, альтернативная) точка зрения обязательна.
Разрабатывался в конце 1980-х - начале 1990-х годов для визуализации схем программ на СЗХ-диалекте Фортрана. Руководитель - Л. Эйсымонт (ИПМ РАН). СЗХ-Фортран применялся в программе «Буран». В связи с развалом работ по программе разработка прекратилась.
Ряд решений по представлению схем и редактированию оказали влияние на формирование ГРАФИТ-ФЛОКС.
Материалы проекта:
Явилась результатом изначальной разработки техноязыка В.Д. Паронджановым при участии других разработчиков ПО в ФГУП НПЦ АП им. Пилюгина и с использованием их результатов (см. исторический обзор, содержащийся здесь). Область применения по настоящее время - НПЦ АП (конкретные проекты перечислены здесь).
Схематически показана на рисунке. Можно выделить ГРАФИТ/ФЛОКС-редактор, систему генерации, средства отработки (объектовой и стендовой).
Реализация обсуждалась в специализированной теме форумов проекта: http://forum.oberoncore.ru/viewtopic.php?f=62&t=1091.
Сущность реализации - в отделении императивной компоненты формализованного знания от декларативной и связующей компонент. Первая представляется в базе графит-алгоритмов (ГРАФИТ-БД), вторая - в базе объектов (ФЛОКС-БД). При этом связывание в коде ПО осуществляется через ФЛОКС-компоненты (через общность имён в базах алгоритмов и объектов). Поддерживается и связывание с программируемой системой (путём тотальной идентификации узлов и связей теми же именами).
Реализация полностью отвечает требованиям организации-разработчика (НПЦ АП). Графическая основа процедурного языка ГРАФИТ (абстрактные дракон-схемы) в сочетании с табличной формой объектного языка ФЛОКС обеспечивает требуемый уровень взаимодействия специалистов-комплексников (т.е. предметников и аналитиков-постановщиков задач) с программистами.
Реализация создавалась для собственного пользования разработчика, поэтому распространение и поддержка не предполагались.
Реализация рассчитана на исходное определение языка (абстрактного дракон-алфавита и силуэтной дракон-заготовки), опубликованное в /Паронджанов, Дело, 2001/ и предметного синтаксиса текстоэлементов, обсуждавшегося в этом сообщении.
Разработки, могущие послужить источниками идей для реализации.
Структурный редактор-транслятор на Оберон и учебный авторский язык. Разрабатывается группой под руководством В. Лаптева (Астраханский ТУ) с 2010 г. В течение 2012 г. планируется внедрение в учебный процесс университета. Условия распространения следует уточнять у разработчика.
Основные решения обсуждались в специализированной теме проекта.
Предполагается реализовать ряд типов граф-схем. В частности, дракон-схемы для представления кода процедур.
Структурный редактор-транслятор с поддержкй различных гибридных языков. Разработан Rapid Quality Systems Ltd.
Страница проекта: http://www.rapidqualitysystems.com/Support/Videos/CodeRocketDesigner (включает деморолик редактирования). Также доступны другие деморолики.
Распространение лицензионное, платное.
Доступные материалы представляют отдельные решения, имеющие смысл для дракон-редакторов.
Разрабатывался под руководством И. Ермакова на базе Орловского ГТУ с 2009 г. Основан на оригинальной математической модели шампур-схем и наработках по архитектуре приложений. Отдельные результаты отражены в официальных публикациях (Ермаков, Жигуненко, Шамардина, Манюнин - см. в этом разделе).
К настоящему времени анонсировано завершение разработки прототипа. Условия использования результатов следует уточнять с разработчиком.
Редактор дидактических ресурсов для поддержки создания интерактивных учебных курсов (ИУК) в системе «АКСОН». Разрабатывался под руководством Н. Созорова и М. Трошина на базе Томского ПУ с 2009 г. Отдельные результаты отражены в официальных публикациях (см. обзор).
К настоящему времени анонсировано тестирование прототипа. Условия использования результатов следует уточнять с разработчиком.
Используют для оформления дракон-схем редакторы рисунков (схем), автономные или входящие в состав офисного пакета. Имеются виды реализации:
Ручные реализации имеются в вариантах разных авторов для разных пакетов. Заготовки для вершин были разработаны:
Все варианты распространяются свободно.
Для полуавтоматического варианта Э. Ильченко разработал модуль расширения для частичной поддержки шампур-вывода дракон-схем. В настоящее время не распространяется. Реализация Ильченко обсуждалась в этой теме; продолжение также пока в отдельных постах этой темы.
Данная реализация удобна, когда нужно подготовить схемы для использования человеком, а доступные дракон-редакторы неудобны. В обоих вариантах для удобства сочинителя предусмотрены образцы синтаксиса текстоэлементов языка в заготовках вершин.
Варианты рассчитаны на разные определения языка. У Ильченко взято подмножество исходного дракон-алфавита и задан простой образец синтаксиса текстоэлементов; также реализован алфавит для описания схем систем процессов по его предложениям. У Жаринова реализован расширенный дракон-алфавит, описанный на этой странице.
Оба варианта реализации создавались для собственного пользования авторов, поэтому распространение и поддержка не предполагались.
Обсуждение показывает устойчивый интерес к построению схем в таком редакторе, особенно с автоматизацией.
Разрабатывается Г.Н. Тышовым с 2007 г. в порядке «частной интеллектуальной инициативы» (т.е. единолично 1)). Первое издание появилось в 2008 г.; реализация постоянно перерабатывается.
Условия распространения - в этой теме.
Обсуждение - в этой теме. Её стартовый пост - рекламно-информационный, содержит адреса свежего выпуска (текущего дистрибутива) и ряда предыдущих.
В ИС для организации проектов использована собственная версия языка ГНОМ, для которой Р. Блиновым было предложено определение, показанное на рисунке.
Были реализованы также конверторы из DRT-документов в исходные тексты:
В дальнейшем возможности разработки Тарасенко Тышов ввёл в саму ИС.
В настоящее время в связи с интересом преимущественно у микроконтроллеров разработчик дорабатывает ИС в направлении поддержки языков программирования распространённых МК (Ассемблеры, ЯВУ) и технологий программирования встроенного оборудования с применением ИС как источника входных данных для фирменных текстовых средств.
Реализация полностью отвечает потребностям пользователей. Замечания и предложения разработчик учитывает в очередных версиях, если считает нужным. Также схематически ИС оценивалась разработчиком, как показано на рисунке2):
(вставить схему «Вы и язык ДРАКОН»)
Заявленное главное целевое назначение ИС включает:
Заявленное вспомогательное целевое назначение ИС – служить прототипом и инструментом для специалистов, разработчиков будущих программ с применением языка Дракон. Данная реализация рассматривается разработчиком как определение:
К настоящему моменту сложился круг энтузиастов данного приложения (по сетевой активности - около десятка единоличных разработчиков и малых групп). Отдельными пользователями указывается на сложность работы с содержанием вершин, разделённым на категории. Часто отмечается сложность интерфейса, его непродуманность. Можно выделить отзывы: Я. Романченко (критика); В. Жаринов (комплексная оценка; предложения по улучшению); В. Паронджанов (замечание по оформлению); С. Ефанов (использование; А. Донской (оценка разработки и продвижения); Е. Темиргалеев (критическая оценка); digitalinvitro предложения по улучшению; замечания по применению).
Создание разными пользователями собственных дополнений к ИС и вариантов применения также косвенно указывает на неоптимальность предложенного решения.
В то же время из заявленного назначения можно считать реализованным задание «планки» для дальнейшей разработки. Также разработчик оперативно устраняет отдельные замечания.
Транслятор на язык Активный Оберон. Разрабатывался Я. Романченко с 2008 г. для поддержки его работы с АО. Изначально транслятор рассчитывался на обработку документа, создаваемого в ИС ДРАКОН. В настоящее время Романченко прорабатывает собственный формат документа на базе XML.
Страница проекта: http://sage.com.ua/ru.shtml?e6l0.
Обсуждения:
Распространение свободное.
Данная реализация существенно улучшила понятность АО-программ для разработчика (дать ссылку на сообщение Романченко). Проект развивается в свободное время.
Реализация создавалась для собственного пользования разработчика, поэтому распространение и поддержка не предполагались. Тем не менее транслятор вызвал существенный интерес.
Семейство редакторов-трансляторов на языки Си, Оберон и др. Разрабатывается Д. Барановским с 2009 г. для поддержки его работы по программированию микроконтроллерных систем управления РВ (до настоящего времени - единолично3)).
Обсуждения - АБ_ВЯЗ (раннее издание), ДАЛВЯЗ (усовершенствованная разработка).
Материалы фиксированного места не имеют. Версия ДАЛВЯЗ от марта 2012 доступна в этом посте.
Распространение свободное.
Для реализаций создано авторское определение гибридного языка (ВЯЗБС, впоследствии - ДАЛВЯЗ).
Данная реализация существенно упростила процесс программирования. В настоящее время готовятся предложения по широкому внедрению системы (см. здесь). Однако разработчик видит резервы по улучшению системы. Возможно самодокументирование, пример приведён в этом посте.
Разработчик предложил собственную реализацию дракон-силуэта на базе структурных конструкций ЯВУ - т.н. цикл-силуэт.
Реализация создавалась для собственного пользования разработчика, поэтому распространение и поддержка не предполагались. Однако она вызвала интерес и систематически обсуждается.
ДАЛВЯЗ - оригинальный язык импер-шампур-схем. С целью облегчения реализации он упрощён в сравнении с исходным техноязыком. Реализация «цикл-силуэт» следует образцам, ранее предложенным в доказательном и автоматном программировании, что можно считать обоснованием её корректности. Самодокументирование облегчает развитие приложения широким кругом разработчиков.
Редактор-транслятор на языки С/С++, Python, Tcl и др. Разработчик - С. Митькин; первое издание в 2010 г.
Страница проекта: http://sourceforge.net/projects/drakon-editor/ (загрузка дистрибутива).
Обсуждения - первоначальное (в т.ч. ранние версии), последующее (в т.ч. дальнейшие версии).
Распространяется свободно.
Реализует оригинальный принцип редактирования - схема составляется из вершин и отрезков. Язык интерфейса в настоящее время - английский.
Реализация имеет целью упростить процесс программирования на популярных ЯВУ, а также обучение. Предлагается как приложение визуализации широкого применения. В настоящее время введена поддержка функционального программирования. Разработчик планирует улучшение приложения.
Реализация была предназначена для зарубежного пользователя. Имеются отзывы: and007; В. Жаринов; А. Тюгашев.
Используется подмножество исходного дракон-алфавита и задан простой образец синтаксиса текстоэлементов. Поддерживается возможность самодокументирования.