Дружелюбный русский алгоритмический язык, который обеспечивает наглядность

Про визуальное программирование мы не слишком высокого мнения из-за некоторых проблем с этой методологией. Но этот язык особенный.
Подробно расскажем о языке ДРАКОН — визуальный алгоритмический язык программирования и моделирования, который изначально разрабатывался для космической программы «Буран».
Это русский вклад в Computer Science.
В 1976 году в СССР в обстановке строжайшей секретности началась разработка многоразового транспортного космического корабля Буран в рамках проекта «Буран-Энергия». Это был грандиозный проект. В его создании принимали участие 86 министерств и ведомств и 1286 предприятий СССР (всего около 2,5 миллиона человек).
Устный язык человечества годиться только для самых простых задач. Как только мы делаем более сложные задачи – мы должны привлекать письменный язык.
Некоторые ученые считают, что письменный язык это простая проекция устного языка, но это не так. Но и письменный язык в виде текста тоже не годиться для сложных задач.
Поэтому добавляется язык математических и иных формул (химических, логических) и графический язык. Графический язык обладает колоссальной мощью.
Как вообще происходит программирование на этом гибридном языке? А гибридном, потому что:
ДРАКОН не является самостоятельным языком программирования. Он работает в паре с текстовым языком, например, с JavaScript, Python или C++. Вместе с текстовым языком, ДРАКОН образует гибридный язык: ДРАКОН-JavaScript, ДРАКОН-Python или ДРАКОН-C++.
Программирование происходит по следующему алгоритму
- Рисуем ДРАКОН-схему.
- Внутрь икон помещаем небольшие кусочки кода на соответствующем языке программирования.
- Программа-транслятор преобразует ДРАКОН-схему в текстовый файл с исходным кодом.
- Этот текстовый файл включается в проект обычным образом.
- Генерацию кода из диаграмм на сегодняшний день поддерживают несколько редакторов. Например — DRAKON Editor.
ДРАКОН — очень легкий язык. Настолько легкий, что разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а инженеры — по принципу «программирование без программистов».
Причина отказа от программистов проста. При решении практических прикладных задач инженеры досконально владеют материалом и прекрасно знают постановку задачи.
В отличие от них программисты не знают «физику процесса» и становятся «лишними людьми», без которых в ряде случаев (хотя и не всегда) вполне можно обойтись.
Сейчас язык используют в основном энтузиасты. Есть люди, которые приспособили его даже для описаний бизнес процессов и разработки решений для 1С, ну и их автоматизации, естественно.
Еще его используют в медицине, там целый пласт международного использования – но это уже не программистское применение.
А теперь пару слов про процесс составления Дракон – Схем выглядит следующим образом.
Из каждой диаграммы создаётся функция.
- Название диаграммы становится названием функции.
- Параметры функции берутся из иконы «Формальные параметры», что расположена справа от названия диаграммы.
- Тело функции генерируется, исходя из структуры диаграммы и содержимого икон.
Я в самом начале сказал, что у меня есть претензии к такому подходу. Возможно, я просто старовер. Но выскажу их. Судить вам.
Есть проблема с контролем версий и отладкой при работе со схемами, а это важно в промышленном программировании.
Почему же визуальное программирование (создание программ из блоков) не побороло простой текст. Он легко воспринимается, мы взглядом видим структуру, слова, иногда не вчитываясь можем воспринимать словосочетания.
Что характерно для программистов — определенные конструкции языка легко различимы на фоне остального программного кода. Они постоянно повторяются и запоминаются, да еще и средства разработки (различные редакторы) подсвечивают блоки. Так может стоит эти блоки изобразить графически? Визуальная информация еще лучше воспринимается человеком. Такие идеи приходили многим еще с 70-х годов двадцатого века.
Единственный язык, напрямую выполняемый ЭВМ — это машинный язык- код. Изначально все программы писались в машинном коде, но сейчас этого практически уже не делается. Вместо этого программисты пишут исходный код на том или ином языке программирования, затем уже он транслируется в машинный код.
Прорыва до сегодняшнего дня не случилось
Для моего коллеги, как-то было открытием узнать, что его любимый терминал в котором он пишет скрипты в Linux — Bash (популярная разновидность командной оболочки UNIX) тоже всего лишь программа. Многослойные пироги из интерфейсов и представлений везде встречают нас в мире компьютеров. Даже текстовые интерфейсы — это всего-лишь слой над машинным кодом.
Визуальное программирование
Манипулирования графическими объектами вместо написания её текста часто представляют как следующий этап развития текстовых языков программирования. Наглядным примером может служить утилита Визуальный Pascal или Microsoft Visual Studio, где редактируются графические объекты и одновременно отображается соответствующий текст программы. Но эти среды и инструменты не дают полного перехода к визуальному программированию. Здесь отдана на откуп только часть с графическими интерфейсами.
Одним из первых инструментов визуального программирования, более известных и дружелюбных, можно считать Scratch. Он предназначен исключительно для образовательных целей, так как представляет собой те же блоки кода, только обернутые в разноцветные пазлы. Практической пользы нет минимум.
Похожий инструмент от Google под название Blocky
Основная проблема в том, что часто в крупных бизнес проектах пишется невероятно сложная бизнес логика, которая посредством функций легко разделяется. Текст плотнее.
И пока представление в виде картинки увеличивает площадь на единицу цикломатической сложности, ничего хорошего не получится.
Схемы просты, пока они маленькие.
Я сам проектировал некоторые штуки в виде майндмапов, и они пригодны к работе только пока маленькие. Читаемость больших схем ужасна.
К слову сказать, Дракон-Схемы упорядочены, т.е. структурированы по особому закону, потому отличаются от обычных майндмапов. Но продолжим.
Текстовый вид удобен тем, что для него выработаны некоторые приемы декомпозиции. Ну например, можно легко назвать две парадигмы — ООП и функциональное программирование. И мы знаем, на какие части надо разбивать, и как их компоновать друг с другом (шаблоны проектирования, или монады).
В случае диаграмм ничего из этого нет. Но есть свои парадигмы, опять же ограничения именно в Драконе.
Стоит еще немного напомнить, что структурное программирование, ООП — это именно ограничения, которые мы добровольно приняли, чтобы иметь возможность разбираться в своих программах.
В некоторых областях графическое программирование может применяться, а то и быть самым удобным инструментом (например, в движках для разработки игр).
При разработке Бурана проблема разработки и отработки программного обеспечения считалась одной из наиболее сложных. Первоначально предполагалось, что для решения задачи потребуется несколько тысяч программистов.
Следует учесть, что наши программисты привыкли писать программы на ассемблере, так как объем памяти бортового компьютера «Бисер-4» в тот период был очень ограниченным.
Но все конечно же не так плохо. Действительно частично подходы графического программирования проникли в «кровавый интерпрайз».
Геймдев в след за 3D спецами активно использует подход графического программирования. И там он кристально чистый.
Это Dataflow programming — я имею в виду Blueprint от Unreal Engine.
При запуске игры все Blueprint коды транслируются на язык C++. У профессионального программиста разница между скриптом на Blueprint и на С++ может быть почти незаметна. Здесь также играет роль упорядоченности Blueprint схем – такой же упорядоченности как и в Дракон-схемах. Важно, чтобы графический язык был упорядочен и однозначен. Иначе получится клубок ужаса.
Вот например, в Blueprint есть узлы для отправки событий. Подключенные к ним узлы выполняются только в тот момент, когда срабатывает событие. Получается очень удобно, не нужно оперировать какими-то объектами и методами.
Но в тоже время Blueprint — язык объектно-ориентированный, поэтому поддерживает все принципы ООП: абстракция, инкапсуляция, наследование и полиморфизм. Короче, сочетание классики и еще большей классики — смотрите на возраст подхода Dataflow programming.
В мае мы публиковали статью на платформе Яндекс Дзен «Почему Визуальное Программирование не смогло» и получили вот такие комментарии:
Для меня весомым аргументом является Verilog. Это язык описания цифровых устройств. Сейчас любой процессор (тот же Core i7) — это большой набор текстов на Verilog (ну или на VHDL — другом языке). Уже данные текстовки «компилируются» в схему, которая разводится на кристалле. А вся соль в том, что проектирование системы на кристалле — это изначально графический процесс, который был заменён на тот же текст (ибо текст удобнее)
АНО Систематика, в LabView вполне можно использовать ООП, создав при этом отдельный ВП, по принципу программирования не рекомендуется делать больших схем, все сводится в блоки и реализуется между ними соответствующая связь, которая визуально более понятно чем текстом. Согласен с тем что не все можно запрограммировать по простому но не сложные и небольшие проекты вполне.
Использование визивиг программирования требует очень больших ресурсов системы так как блоки написаны довольно коряво на низком уровне. Я люблю Labview где можно сделать хорошую программу выполняющую определенные функции по делу. Конечно же не буду строить на ней бизнес систему. Этим занимается другой человек. Все люди имеют свои таланты. Кто-то работает в электронике при этом программированием забивать голову не хочет. Не все то золото что блестит. Не все коту масленица. Не все йогурты одинаково полезны.
По итогу я скажу так – Подход ДРАКОНа доказал свою состоятельность точно, Буран то полетел и сел. Так что вопросов нет. Но как и любая технология, должна применяться по назначению.
Блок-схемы в Драконе имеют определенную структуру и порядок, а соотвественно единообразны. Применяя такие ограничения мы можем использовать визуальное программирование.
Язык жив, язык выразителен, силен и интересен, он самобытен благодаря особенным правилам, которых нет в других графических языках.
ДРАКОН (алгоритмический язык)

ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность) — визуальный алгоритмический язык программирования. Был разработан в рамках космической программы «Буран». Разработка этого языка велась с 1986 года при участии Федерального космического агентства (НПЦ автоматики и приборостроения им. акад. Н. А. Пилюгина, г. Москва) и Российской академии наук (Институт прикладной математики им. акад. М.В. Келдыша) под руководством Владимира Паронджанова.
Основной задачей разработчиков было создание единого универсального языка программирования, который своей доступностью и мощностью был бы способен заменить специализированные языки ПРОЛ2 (для разработки бортовых комплексных программ Бурана), ДИПОЛЬ [1] (для создания наземных программ Бурана) и ЛАКС (для моделирования). [2] .
Работы по разработке языка были закончены в 1996 году (спустя 3 года после закрытия программы «Буран»), когда была создана автоматизированная технология проектирования программных систем (CASE-технология) ГРАФИТ-ФЛОКС [3] . Эта технология эксплуатируется начиная с 1996 года во многих крупных космических программах: международный проект «Морской старт», разгонный блок космических аппаратов «Фрегат», модернизированная ракета-носитель тяжёлого класса «Протон-М» и др.
В качестве аксиоматики для ДРАКОНа были выбраны устремлённые графы (специальный класс циклических орграфов). Такое двумерное структурное программирование годится для доказательного построения алгоритмов методом Дейкстры [4] [источник не указан 162 дня] .
Язык ДРАКОН может удачно применяться для специфицирования протоколов взаимодействия (например, клиент-серверных) [5] [неавторитетный источник?] .
Разработчики языка полагают, что правила языка ДРАКОН по созданию диаграмм оптимизированы для восприятия алгоритмов человеком. Таким образом, язык предлагается в качестве инструмента усиления интеллекта.
Аналогом дракон-схем являются, в частности, диаграммы языка UML: диаграмма деятельности (activity diagram) [6] и диаграмма состояний (state diagram) [7] [источник не указан 162 дня] . Другими аналогами дракон-схем служат блок-схема, диаграмма Насси-Шнейдермана, псевдокод (язык описания алгоритмов) и др.
Существует интегрированная среда работы языка ДРАКОН под названием «ИС Дракон» [8] [9] .
Особенности
Язык ДРАКОН значительно облегчает алгоритмизацию и программирование
Существующие способы записи алгоритмов и программ (принятые во всем мире) слишком трудны для понимания и требуют неоправданно больших трудозатрат.
Это обстоятельство ставит непреодолимый барьер для многих специалистов, работа которых связана с алгоритмами, но которые не имеют резерва времени, чтобы научиться выражать свои профессиональные знания в форме алгоритмов и программ.
Язык ДРАКОН использует новую эргономичную нотацию (дракон-схемы) и за счет этого существенно облегчает алгоритмизацию и программирование. Благодаря использованию дракон-схем алгоритмы и программы становятся более понятными, доходчивыми, ясными, прозрачными.
В итоге ТРУДНЫЕ для понимания способы записи алгоритмов и программ заменяются на более ЛЕГКИЕ. Вследствие этого работники быстро овладевают дракон-схемами и успешно создают алгоритмы и прикладные программы без программистов или с их минимальным участием. Об этом свидетельствует 15-летний опыт эксплуатации Технологии ГРАФИТ-ФЛОКС в НПЦ автоматики и приборостроения им. Н. А. Пилюгина. Приведем цитату.
«ДРАКОН — очень легкий язык. Настолько легкий, что разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а инженеры — по принципу „программирование без программистов“.
Причина частичного отказа от программистов проста. При решении практических прикладных задач инженеры досконально владеют материалом и прекрасно знают постановку задачи. В отличие от них программисты не знают физику процесса и становятся „лишними людьми“, без которых в ряде случаев (хотя и не всегда) вполне можно обойтись.
Это позволяет значительно сократить издержки, улучшить показатель „затраты — результат“, ускорить ход работ. И полностью избавиться от ошибок „испорченного телефона“, вызванных взаимным непониманием между программистами и инженерами». [10]
Двумерное структурное программирование
- Процедурная часть языка ДРАКОН опирается на новый метод – двумерное структурное программирование.
- Правила двумерного структурного программирования существенно отличаются от традиционного одномерного (текстового) структурного программирования.
- Идеи структурного программирования разрабатывались, когда компьютерная графика фактически еще не существовала и основным инструментом алгоритмиста и программиста был одномерный (линейный или ступенчатый) текст.
- До появления компьютерной графики методология текстового структурного программирования была наилучшим решением.
- С появлением компьютерной графики ситуация изменилась. Появилась возможность заменить текстовые управляющие структуры на управляющую графику, то есть использовать двумерное структурное программирование.
- Слабое место традиционного структурного программирования и текстового представления алгоритмов и программ заключается в недостатке выразительных средств. Следствием являются ограничения и запреты. Эти ограничения и запреты вытекают из природы текста, из природы текстового представления управляющих структур.
- Недостаток выразительных средств, проявляющийся через ограничения и запреты, тормозит повышение производительности труда алгоритмистов и программистов.
- В рамках текстового представления управляющих структур устранить эти ограничения и запреты невозможно. Чтобы добиться улучшения, надо перейти от одномерного (текстового) структурного программирования к двумерному (визуальному) структурному программированию.
- Многие ограничения и запреты, неизбежные при текстовом структурном программировании, во многих случаях противоречат здравому смыслу, затрудняют понимание алгоритмов и программ, искажают нормальный ход человеческой мысли.
- Недопустимо запрещать правильный процесс мышления. Его надо разрешить. Шампур-метод и язык ДРАКОН устраняют этот недостаток.
- При использовании шампур-метода набор управляющих ключевых слов текстового структурного программирования становится ненужным.
- При визуальном структурном подходе программист работает только с чертежом программы (дракон-схемой), не обращаясь к ее текстовому представлению. Точно так же программист, работающий, скажем, на Дельфи, не обращается к ассемблеру и машинному коду — они для него просто не существуют.
- Во многих случаях (список которых еще предстоит уточнить) желательно отказаться от текстовых управляющих структур, заменив их управляющей графикой.
- ДРАКОН — это не просто новый язык (новое семейство языков). Это новый взгляд на процедурное программирование. Если угодно — новое мировоззрение.
- Наибольшую трудность в течение длительного времени представляли математика и эргономика блок-схем. Нужно было создать математически строгий метод формализации блок-схем, позволяющий превратить блок-схемы в программу, пригодную для ввода в компьютер и трансляции в объектный модуль программы.
- Язык ДРАКОН позволил эффективно решить эту задачу.
- Одновременно была решена задача эргономизации блок-схем, то есть задача приспособления блок-схем для наиболее удобного человеческого восприятия и понимания. [11]
Графический и текстовый синтаксис языка ДРАКОН
ДРАКОН — графический (визуальный) язык, в котором используются два типа элементов:
• графические фигуры (иконы),
• текстовые надписи, расположенные внутри или снаружи икон (текстоэлементы).
Поэтому язык ДРАКОН имеет не один, а два синтаксиса: графический и текстовый.
Графический (визуальный) синтаксис охватывает алфавит икон, правила их размещения в поле чертежа и правила связи икон с помощью соединительных линий.
Текстовый синтаксис задает алфавит символов, правила их комбинирования и привязку к иконам. (Привязка необходима потому, что внутри разных икон используются разные типы выражений). [12] [13]
Семейство ДРАКОН-языков
ДРАКОН — не один язык, а целое семейство, которое может включать практически неограниченное число ДРАКОН-языков. Все языки ДРАКОН-семейства имеют одинаковый графический синтаксис, что обеспечивает зрительное сходство дракон-схем различных ДРАКОН-языков. Каждый язык семейства отличается тем, что имеет свой собственный текстовый синтаксис.
Строгое разграничение графического и текстового синтаксиса позволяет в максимальной степени расширить сферу применения языков семейства, обеспечивая гибкость и универсальность выразительных средств языка.
При этом единообразие правил графического синтаксиса семейства ДРАКОН-языков обеспечивает их концептуальное единство. А разнообразие текстовых правил (то есть возможность выбора любого текстового синтаксиса) определяет гибкость языка и легкую настройку на различные предметные области. [14]
Гибридные языки ДРАКОН-семейства
Процедурную часть языка Дракон можно присоединить к некоторым языкам программирования и получить так называемые гибридные языки:
язык Дракон + язык Бейсик = гибридный язык Дракон-Бейсик
язык Дракон + язык Си = гибридный язык Дракон-Си
язык Дракон + язык Ява = гибридный язык Дракон-Ява
язык Дракон + язык Си# = гибридный язык Дракон-Си#
язык Дракон + язык Питон = гибридный язык Дракон-Питон
язык Дракон + язык Перл = гибридный язык Дракон-Перл
язык Дракон + язык Руби = гибридный язык Дракон-Руби
язык Дракон + язык Ада = гибридный язык Дракон-Ада
язык Дракон + язык Оберон = гибридный язык Дракон Оберон и т.д.
План развития и частичной унификации языков программирования
Целесообразно создать международный стандарт на дракон-схемы
Обоснование необходимости нового стандарта поясняется ниже.
2. Текстовое структурное программирование решило стоявшие перед ним исторические задачи, исчерпало свои эвристические возможности и, выполнив свою миссию, потеряло актуальность. В настоящее время точкой роста научного знания является визуальное структурное программирование.
3. При использовании шампур-метода набор ключевых слов классического структурного программирования становится ненужным. Благодаря этому создаются предпосылки, которые… позволят исключить ключевые слова и тем самым устранить путающий всех разнобой ключевых слов и структурных конструкций в разных языках программирования.
5. По эргономическим показателям визуальное структурное программирование существенно превосходит свой текстовый аналог.
7. Дальнейшее использование… блок-схем во всех случаях следует признать нецелесообразным.
8. Существующая литература по блок-схемам, включая международные и национальные стандарты, на 99% устарела.
9. Современные стандарты на блок-схемы объективно содействуют снижению качества соответствующей интеллектуальной продукции. Указанные стандарты игнорируют три важнейших принципа: структуризации, формализации и эргономизации.
10. Актуальной задачей является разработка новой системы международных и национальных стандартов…, свободных от перечисленных недостатков. В основу проекта новых стандартов целесообразно положить изложенные в этой книге правила визуального структурного программирования. Дракон-схемы наследуют… все достоинства блок-схем и устраняют их недостатки. [15]
История
Разработка языков программирования для космического корабля «Буран»
Система управления космического корабля «Буран» управляет полетом Бурана и всеми бортовыми системами корабля. [16] [17] [нет в источнике] [18] [нет в источнике] Система управления создана в Научно-производственном центре автоматики и приборостроения имени академика Н. А. Пилюгина НПЦАП (далее Пилюгинский центр). Головным мозгом Бурана служит Бортовой вычислительный комплекс [19] . Основным разработчиком бортового и наземного программного обеспечения космического корабля «Буран» является Пилюгинский центр [20] .
При создании программ для сложных космических объектов возникают проблемы, требующие создания языков программирования высокого уровня, предназначенных для решения задач реального времени для систем управления ракетно-космической техники [21] . Именно такие проблемы инициировали появление языка ДРАКОН. [источник не указан 162 дня]
При разработке Бурана проблема разработки и отработки программного обеспечения считалась одной из наиболее сложных. Первоначально предполагалось, что для решения задачи потребуется несколько тысяч программистов. Следует учесть, что программисты Пилюгинского центра привыкли писать программы преимущественно на ассемблере, чтобы экономить объём требуемой памяти, так как объём памяти бортового компьютера был очень ограниченным.
В материалах Института прикладной математики им. М. В. Келдыша РАН о трудностях и свершениях того периода говорится:
«В 1983 году разработчики космического корабля Буран обратились в Институт прикладной математики с просьбой помочь в разработке бортового программного обеспечения и программного обеспечения наземных испытаний корабля. По их оценкам для этой работы требовалось несколько тысяч программистов. После изучения задачи было решено разработать проблемно-ориентированные языки, основанные на терминах, понятиях и форме представления алгоритмов управления и испытаний, используемых разработчиками корабля. Реализация этих языков позволила привлечь к созданию бортового и испытательного программного обеспечения самих разработчиков корабля — авторов алгоритмов управления и испытаний. Разработка языков и соответствующих инструментальных средств была выполнена небольшим коллективом высококвалифицированных программистов Института прикладной математики РАН в чрезвычайно сжатые сроки. Для разработки бортового программного обеспечения был создан специализированный язык реального времени ПРОЛ2 и базирующаяся на нем система автоматизации программирования и отладки САПО ПРОЛ2… Для разработки программного обеспечения наземных испытаний корабля был создан проблемно-ориентированный язык ДИПОЛЬ и базирующаяся на нем система автоматизации программирования и отладки» [22]
Таким образом, чтобы решить проблему нехватки программистов при создании Бурана и повысить производительность и качество труда при разработке алгоритмов и программ, Институт прикладной математики РАН по просьбе Пилюгинского центра создал два русскоязычных языка:
- язык реального времени ПРОЛ2 для разработки бортовых комплексных программ (руководитель авторского коллектива Виктор Крюков) [23] ;
- проблемно-ориентированный язык для разработки программ наземных испытаний ДИПОЛЬ (руководитель Владимир Луцикович) [24]
Кроме того, в Пилюгинском центре под руководством Константина Федорова был создан язык ЛАКС для моделирования. Таким образом, появились три новых языка: ПРОЛ2, ДИПОЛЬ и ЛАКС. Эти языки были непосредственными предшественниками ДРАКОНА. Опыт эксплуатации указанных языков был тщательно изучен и использован при создании языка ДРАКОН.
Язык ДРАКОН родился в космической колыбели
Хотя языки ПРОЛ2, ДИПОЛЬ и ЛАКС успешно решали поставленные задачи, стало ясно, что узкая специализация языков мешает делу. Эту мысль в 1986 году высказал начальник комплексного отделения Юрий Трунов (впоследствии Генеральный конструктор Пилюгинского центра). Трунов вызвал к себе начальника лаборатории комплексной разработки вычислительного комплекса Бурана Владимира Паронджанова и поручил ему создать универсальный язык, способный заменить три вышеназванных.
Однако Паронджанов решил поставить задачу иначе. Он полагал, что новый язык должен не только удовлетворять практическим нуждам космической техники, но и решать широкий круг задач, выходящих далеко за рамки традиционного программирования [25]
- Улучшить работу человеческого ума.
- Предложить эффективные средства для описания не только алгоритмов, но и структуры человеческой деятельности в любой отрасли знаний (включая бизнес-процессы).
- Предоставить человеку такие языковые средства, которые значительно упрощают восприятие сложных процедурных проблем и общение с коллегами, делают непонятное понятным. И за счет этого буквально заставляют человека мыслить отчетливо, глубоко и продуктивно. В этих условиях вероятность заблуждений, просчетов и ошибок падает, а производительность растет.
- Облегчить межотраслевое и междисциплинарное общение между представителями разных организаций, ведомств, отделов, лабораторий, научных школ и профессий.
- Устранить или уменьшить барьеры взаимного непонимания между работниками различных специальностей (врачами и физиками, математиками и конструкторами, биологами и экономистами и т. д.), а также программистами и теми, кто не владеет программированием.
- За счет использования когнитивно-эргономического подхода к проектированию синтаксиса и семантики языка добиться значительного улучшения качества программного обеспечения по критерию «понятность алгоритмов и программ» [26]
Разработка языка ДРАКОН и его инструментальных средств для ракет-носителей и разгонных блоков космических аппаратов
Разработка нового языка и системы программирования началась в 1986 году. Через 10 лет на базе ДРАКОНА была построена автоматизированная Технология разработки алгоритмов и программ (CASE-технология) под названием «ГРАФИТ-ФЛОКС» [3]
Сохранился любопытный документ, отражающий один из этапов этой работы.
Пояснение к тексту документа:
ДМ — Доразгонный Модуль;
SL — Sea Launch (Морской старт);
ДМ-SL — Доразгонный Модуль космических аппаратов международного проекта «Морской старт».
- Разработку программного обеспечения изделия ДМ-SL поручить отделу 035.
- Разработку ПО изделия ДМ-SL вести по технологии ГРАФИТ-ФЛОКС.
- В целях своевременного выполнения работ по пп. 1 и 2 начальнику отдела 035 Косточкину Г. Н. обеспечить завершение работ по созданию технологии ГРАФИТ-ФЛОКС в сроки, обеспечивающие безусловное выполнение графика работ по разработке ПО изделия ДМ-SL.
- Начальнику отдела 032 Лукьянову Б. Г. обеспечить выпуск Положения о порядке выпуска флокс-формуляров для изделия ДМ-SL в сроки, согласованные с отделом 035.
В соответствии с этим распоряжением все работы были завершены к 1996 году. Затем язык ДРАКОН и система ГРАФИТ-ФЛОКС поступили в эксплуатацию. С их помощью были разработаны алгоритмы и программы доразгонного модуля космических аппаратов ДМ-SL Международного проекта «Морской старт». В общей сложности на разработку и отработку программного обеспечения и других элементов системы управления ушло три года. К 1999 году все работы были закончены. Система была готова к старту.
Первый пуск ракетного комплекса «Морской старт» состоялся 28 марта 1999 года. Он произошёл в 5 час. 30 мин. по московскому времени (27 марта 1999 г. в 18 час. 30 мин. по тихоокеанскому времени) cо стартовой платформы «Одиссей» в Тихом океане в районе островов Кирибати [28] . .
Этот пуск был боевым крещением языка ДРАКОН и технологии создания программ «ГРАФИТ-ФЛОКС». Он убедительно продемонстрировал их эффективность и надежность. С тех пор по программе «Морской старт» проведено 30 ракетных пусков [29] .
Язык ДРАКОН успешно используется и во многих других космических программах:
- разгонный блок космических аппаратов «Фрегат»;
- модернизированная ракета-носитель тяжелого класса «Протон-М»;
- доразгонный модуль космических аппаратов ДМ-SL-Б (проект «Наземный старт»);
- доразгонный модуль космических аппаратов ДМ-03;
- первая ступень KSLV-1 для южнокорейской ракеты-носителя легкого класса KSLV (Korean Space Launch Vehicle);
- ракета-носитель легкого класса Ангара 1,2;
- ракета-носитель тяжелого класса Ангара-А5;
- Примечание. Для ракет семейства «Ангара» программное обеспечение уже разработано и испытано на комплексном стенде Пилюгинского центра, но подготовка к ракетным пускам еще не завершена.
Поскольку результаты использования ДРАКОНа были стабильно высокими, руководство Пилюгинского центра приняло решение об использовании дракон-технологии во всех последующих проектах [30] .
Разработка инструментальных средств языка ДРАКОН для широкого применения с помощью персональных компьютеров и др.
Распространение языка ДРАКОН можно разделить на два этапа. На первом этапе сфера применения ДРАКОНа была ограничена ракетно-космической техникой. Язык применялся и применяется в Пилюгинском центре при разработке программ для бортового компьютера «Бисер» [31] , установленного на борту ракет-носителей и разгонных блоков космических аппаратов.
На втором этапе возникла необходимость приспособить инструментальные средства языка ДРАКОН для гражданских нужд широкого применения, для эксплуатации на персональных компьютерах (в том числе ноутбуках). В результате сфера применения языка стала постепенно расширяться. Началось использование дракон-схем за рамками ракетно-космической техники — для решения задач в различных предметных областях.
Этому способствовали следующие обстоятельства.
- В открытой литературе стали доступны публикации по языку ДРАКОН [32][33][34][35]
- Часть этих материалов появилась в Интернете в конце 2006 года [36] Их можно скачать на многих сайтах. [37]
- Через Интернет с языком ДРАКОН познакомился Геннадий Тышов. Заинтересовавшись новой идеей, он разработал интегрированную среду языка ДРАКОН под названием «ИС Дракон». [8] И выложил ее в открытом доступе для тестирования, обсуждения, критики и дальнейшего совершенствования.
- Благодаря инициативе Тышова все желающие получили возможность бесплатно скачать созданную им среду «ИС Дракон» и использовать ее в практической работе.
- Тестирование программы «ИС Дракон» и работа с ней позволяет:
Применение языка ДРАКОН в системе высшего образования
В 1996 году Государственный комитет по высшему образованию Российской Федерации включил изучение языка ДРАКОН в программу курса «Информатика» для направлений:
510000 — Естественные науки и математика
540000 — Образование
550000 — Технические науки
560000 — Сельскохозяйственные науки [38]
В официальном документе Госкомвуза «Примерная программа дисциплины ”Информатика”» имеется раздел, посвященный языку ДРАКОН и использующий его понятийный аппарат:
«Раздел 3. АЛГОРИТМЫ И АЛГОРИТМИЗАЦИЯ.
ВИЗУАЛИЗАЦИЯ АЛГОРИТМОВ
Понятие алгоритма и алгоритмической системы. Визуализация алгоритмов и блок-схемы. Недостатки традиционных блок-схем. Формализация и эргономизация блок-схем. Язык визуального представления алгоритмов ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность).
Линейные, разветвленные и цикличные алгоритмы. Вложенные и параллельные алгоритмы. Логические элементы и базовые управляющие структуры визуального структурного программирования. Построение алгоритма из базовых структур. Визуальные операторы управления. Визуальные алгоритмические макроконструкции „примитив“ и „силуэт“. Пошаговая детализация как метод проектирования алгоритмов.
Понимаемость алгоритмов и методы ее улучшения. Понятие эргономичного алгоритма. Равносильные преобразования визуальных алгоритмов, позволяющие улучшить их понимаемость: рокировка, подстановка, вертикальное и горизонтальное объединение, визуализация логических формул в условных операторах.
Две формы представления алгоритмов: визуальная и текстовая. Визуальные и текстовые языки и псевдоязыки. Преобразование алгоритмов из визуальной формы в текстовую и обратно. Преимущества визуальной формы. Анализ визуальных алгоритмов методом застывших условий. Язык абстрактных ДРАКОН-схем как инвариант класса процедурных языков. [39] »
В документе Госкомвуза «Примерная программа дисциплины ”Информатика”» содержится обоснование концепции и структуры учебного курса информатики. [40] и, в частности, дается обоснование использования языка ДРАКОН:
1. Среди требований, предъявляемых к современным алгоритмическим языкам, на первое место все чаще выходит понимаемость (comprehensibility) алгоритмов и программ, которая определяется как «свойство программы минимизировать интеллектуальные усилия, необходимые для ее понимания» [41] Это объясняется тем, что «в современных условиях качественная программа должна обладать, помимо надежности и эффективности, еще и такими важнейшими качествами как понимаемость и сопровождаемость» [42]
Наиболее мощным средством для улучшения понимаемости является визуализация алгоритмов и программ: «общепризнанно, что человеческий мозг в основном ориентирован на визуальное восприятие, и люди получают информацию при рассмотрении графических образов быстрее, чем при чтении текста» [43] …
2. … В связи с этим тема «алгоритмы и алгоритмизация» (см. раздел 3 программы) излагается в рамках визуальной парадигмы, что позволяет получить ряд преимуществ: облегчить изучение темы, улучшить эргономические характеристики алгоритмов и т. д.
3. Синтез идей информатики и эргономики полезен тем, что процесс алгоритмизации (который во многих случаях требует значительных трудозатрат) становится менее трудоемким и более ясным. Для этого вводится понятие «эргономичный алгоритм». Излагаются равносильные преобразования алгоритмов, способные улучшить их эргономические характеристики. При этом алгоритмизация и программирование рассматриваются как частный случай более общей проблемы — систематизации, структуризации, представления и формализации человеческих знаний [44]
4. Сближение понятий «алгоритм» и «процедурное знание» дает возможность расширить понятие алгоритма и распространить его на любые технологии (промышленные, сельскохозяйственные, медицинские, образовательные и т. д. [45] Это позволяет в эргономически разумных пределах формализовать описание технологий с помощью визуального алгоритмического языка. В результате описание техпроцессов становится более наглядным и четким, освобождается от пробелов и двусмысленностей. Такой подход обещает заметный выигрыш. Во-первых, благодаря наглядности сокращаются сроки и трудоемкость изучения современных технологий, что особенно важно в рамках концепции непрерывного образования. Во-вторых, формализация и полнота описания техпроцесса может содействовать укреплению технологической дисциплины на производстве и в других областях.
5. Для решения столь масштабных задач нужен универсальный язык представления процедурных знаний в любой предметной области. Это должен быть язык нового типа: общедоступный, человечный, предельно легкий в изучении и удобный в работе, создающий наиболее комфортные условия для человеческого мозга, позволяющий решать проблемы ценою минимальных интеллектуальных усилий, удовлетворяющий самым строгим эргономическим и дидактическим требованиям. Анализ показывает, что в наибольшей степени этим требованиям соответствует процедурный язык визуального представления знаний и визуального программирования ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность), являющийся обобщением опыта, накопленного при создании космического корабля «Буран» [46] [47] ДРАКОН задуман как «один из самых легких языков представления знаний и самый первый язык, с которого нужно начинать обучение алгоритмическому мышлению и программированию» [48]
6. При коллективной интеллектуальной работе важную роль играет интеллектуальное взаимопонимание и интеллектуальное взаимодействие между специалистами. Для улучшения взаимопонимания необходимо иметь общую языковую основу. Благодаря своей человечности (эргономичности) язык ДРАКОН относительно легко устраняет барьеры взаимного непонимания (в части процедурных знаний) между работниками различных специальностей: врачами и физиками, математиками и конструкторами, биологами и экономистами, программистами и технологами и т. д. Тем самым ДРАКОН создает универсальную языковую основу для процедурного интеллектуального взаимодействия между людьми, в частности, между участниками многопрофильных проектов. В результате этот «язык взаимопонимания» заметно упрощает междисциплинарное и иное общение между представителями разных организаций, ведомств, отделов, лабораторий, научных школ и профессий, отчасти играя роль «производственного эсперанто».
7. Бакалавр любой специальности должен уметь формализовать свои процедурные профессиональные знания самостоятельно, то есть без помощи профессиональных программистов или когнитологов (инженеров по знаниям). Программа предусматривает приобретение навыков автоформализации знаний на языке ДРАКОН. [49]
Применение языка ДРАКОН в системе среднего образования
Создание Центра компетенции по языку ДРАКОН
Примечания
- ↑http://www.keldysh.ru/papers/2008/source/prep2008_29.doc
- ↑История создания языка «ДРАКОН», Российское Трансгуманистическое Движение
- ↑ 12Технология разработки алгоритмов и программ «ГРАФИТ-ФЛОКС»
- ↑Ермаков И.Е., Жигуненко Н.А. Двумерное структурное программирование; класс устремлённых графов. (Теоретические изыскания из опыта языка «ДРАКОН») // Сборник трудов V Международной конференции «Инновационные информационно-педагогические технологии в системе ИТ-образования», Москва, 8-10 ноября 2010. М. Изд-во МГУ, 2010. — С. 452—461.
- ↑Ермаков И. Е. ДРАКОН для спецификаций: протокол XML-СУБД Sedna
- ↑Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! М.: Дело, 2001. — С. 28.
- ↑Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! М.: Дело, 2001. — С. 260 и рис. 137.
- ↑ 12Тышов Г. Н. Интегрированная среда языка ДРАКОН, скачать
- ↑Визуальное программирование » Визуальный язык ДРАКОН
- ↑ Паронджанов В. Д. Дружелюбные алгоритмы, понятные каждому (Как улучшить работу ума без лишних хлопот). М.: ДМК-пресс, 2010. С. 13, 14 ISBN 978-5-94074-606-5
- ↑Паронджанов В.Д. Теоретические основы языка ДРАКОН. Глава 36. #22. Замечания
- ↑Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! М.: Дело, 2001. — С. 101.
- ↑ Паронджанов В. Д. Дружелюбные алгоритмы, понятные каждому (Как улучшить работу ума без лишних хлопот). М.: ДМК-пресс, 2010. С. 80 ISBN 978-5-94074-606-5
- ↑ Паронджанов В. Д. Дружелюбные алгоритмы, понятные каждому (Как улучшить работу ума без лишних хлопот). М.: ДМК-пресс, 2010. — C. 80, 81. ISBN 978-5-94074-606-5
- ↑Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! М.: Дело, 2001. — С. 265, 266.
- ↑ Многоразовый орбитальный корабль «Буран». Под редакцией члена-корреспондента РАН Ю.П. Семенова и докторов технических наук Г.Е. Лозино-Лозинского, В.Л. Лапыгина, В. А. Тимченко. — М.: Машиностроение, 1995. — Глава 7. Система управления орбитального корабля. С. 254—269. ISBN 5-217-027772-X (Эта книга написана разработчиками орбитального корабля «Буран»).
- ↑Система управления (СУ) космического корабля «Буран»
- ↑Состав системы управления (СУ) космического корабля «Буран»
- ↑Бортовой цифровой вычислительный комплекс (БЦВК) космического корабля «Буран»
- ↑ Штурманы ракет. Под общей редакцией Е. Л. Межирицкого. М.: БЛОК-Информ-Экспресс, 2008. — 384с. ISBN 978-5-93735-008-4 Книга посвящена 100-летию со дня рождения выдающегося ученого академика Н. А. Пилюгина и 45-летию созданного им предприятия. Это рассказ о деятельности Пилюгинского центра, ученых, проектантах, конструкторах. инженерах, технологах, рабочих, испытателях, которые своим самоотверженным трудом заложили основу современной отечественной ракетно-космической техники
- ↑Межирицкий Е.Л., Немкевич В.А., Присс Г.М. 40 лет Научно-производственному центру автоматики и приборостроения им. академика Н.А. Пилюгина // XXVIII Академические чтения по космонавтике, посвященные памяти академика С.П.Королева и других выдающихся отечественных ученых – пионеров освоения космического пространства. Материалы пленарного заседания «Лидеры отечественной ракетно-космической техники – пути становления и созидания». 28 января 2004 года
- ↑Системное и прикладное программирование в Институте прикладной математики им. акад. М. В. Келдыша РАН
- ↑Крюков В., Петренко А. Интегрированный подход к разработке крупных программных систем управления реального времени
- ↑Баранова Т. П., Буликов В. Г., Вершубский В. Ю., Гайфулин С. А., Луцикович В. В. и др. Язык ДИПОЛЬ для автоматизированных систем испытания космических аппаратов.
- ↑ Паронджанов В.Д. Неожиданные уроки космонавтики ХХ века. Новая роль человеческого фактора и когнитивная революция в информационных технологиях. — В кн.: Человек—Земля—космос. Труды 1-й международной авиакосмической конференции. (Москва. 28 сент.—2 окт. 1992 г.) Под ред. Г.Е. Лозино-Лозинского. Том 2. Крылатые космические системы. — М.: Российская инженерная академия, 1995. С. 337—345.
- ↑ Паронджанов В. Д. Дружелюбные алгоритмы, понятные каждому. М.: ДМК-пресс, 2010. — С. 47. ISBN 978-5-94074-606-5
- ↑ДРАКОН: страницы истории
- ↑Ракетно-космическая корпорация «Энергия». Морской старт. Пуски по программе «Морской старт»
- ↑Ракетно-космическая корпорация «Энергия». Морской старт. Хронология пусков
- ↑Паронджанов В. «Буран» и язык программирования ДРАКОН// Компьютерра Online 13 апреля 2009 года
- ↑ Назьмов Р.Б. БЦВК на базе семейства «Бисер 6» // Труды ФГУП «НПЦАП» Системы и приборы управления, 2008, №4. ISSN 1991-5950 (Научно-технический журнал Пилюгинского центра, входящий в реестр ВАК)
- ↑ Паронджанов В. Д. Графический синтаксис языка ДРАКОН // Программирование, 1995, № 3. С. 45—62.
- ↑ Паронджанов В. Д. Как улучшить работу ума. (Новые средства для образного представления знаний, развития интеллекта и взаимопонимания). — М.: Радио и связь, 1998, 1999. — 352с.
- ↑ Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! — М.: Дело, 2001. — 360 с. ISBN 5-7749-0211-0
- ↑ Паронджанов В. Д. Дружелюбные алгоритмы, понятные каждому (Как улучшить работу ума без лишних хлопот). М.: ДМК-пресс, 2010. — 464с. ISBN 978-5-94074-606-5(Дано самое последнее описание языка ДРАКОН и примеры его применения).
- ↑drakon / FrontPage
- ↑Перечень сайтов, где можно скачать литературу по языку ДРАКОН
- ↑Примерная программа дисциплины «Информатика». Издание официальное. М.: Госкомвуз, 1996. — 21с.(Официальный документ Государственного Комитета Российской Федерации по высшему образованию).
- ↑Примерная программа дисциплины „Информатика“. Издание официальное. М.: Госкомвуз, 1996. — 21с.(Программа изучения Информатики, третий раздел которой построен на основе языка ДРАКОН. С. 3, 4.)
- ↑Примерная программа дисциплины «Информатика». Издание официальное. М.: Госкомвуз, 1996. — 21с.(Обоснование концепции и структуры учебного курса информатики. С. 13−16).
- ↑ Саркисян А. А. Повышение качества программ на основе автоматизированных методов. М.: Радио и связь, 1991. С. 19. ISBN 5-256-00629-0
- ↑ Саркисян А. А. Повышение качества программ на основе автоматизированных методов. М.: Радио и связь, 1991. С. 17. ISBN 5-256-00629-0
- ↑ Вельбицкий И. В., Ковалев А. А., Лизенко С. Л. Графический интерфейс представления алгоритмов и программ. // Управляющие системы и машины, 1988, N4. С. 42.
- ↑ Паронджанов В. Д. Перспективы информационных технологий и повышение продуктивности интеллектуального труда. // Научно-техническая информация, серия 1, 1993, N 5. С. 9.
- ↑ Паронджанов В. Д. Визуализация школьного курса информатики с помощью языка ДРАКОН. // Педагогическая информатика, 1994, N3. С. 11.
- ↑ Паронджанов В. Д. Графический синтаксис языка ДРАКОН // Программирование, 1995, N3. С. 45—62.
- ↑ Паронджанов В. Д. Каким будет школьный алгоритмический язык XXI века? // Информатика и образование, 1994, N3. С. 77—92.
- ↑ Паронджанов В. Д. Визуализация школьного курса информатики с помощью языка ДРАКОН. // Педагогическая информатика, 1994, N3. С. 10, 11.
- ↑Примерная программа дисциплины «Информатика». Издание официальное. М.: Госкомвуз, 1996. — 21с.(Обоснование использования языка ДРАКОН. С. 15, 16).
Литература
- Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! М.: Дело, 2001. — 360 с.
- Паронджанов В. Д. Занимательная информатика. М.: Дрофа, 2007. — 192с. ISBN 978-5-358-01603-3(Пособие по теме «Алгоритмы» для учащихся 5—9 классов, построенное на основе языка ДРАКОН).
- Безель Я. Б. Можно ли улучшить работу ума? Новый взгляд на проблему. Размышления над новой книгой // Вестник Российской академии наук, том 73, № 4, 2003. С. 363—365. Рецензия на книгу: Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! М.: Дело, 2001.
- Д.А.Щелкунов, П.В. Павлов, И.А.Князев. Средство визуального программирования «Силуэт» // «Приборостроение и средства автоматизации. Энциклопедический справочник» №10 2003 год. Стр. 57—60. (Силуэт — основная структура языка ДРАКОН).
- Ю.И. Рогозов, А.А. Дубровский, А.С. Свиридов. Новый подход реализации идеи «программирование без программиста» // Известия ЮФУ. Технические науки. Тематический выпуск «Перспективные системы и задачи управления». — Таганрог: Изд-во ТТИ ЮФУ (Южный федеральный университет), 2008, № 12 (89). — С. 186—193.
- Павлова Н.Ф. Стратегическое планирование развития территориальных социальных образований в схемах. Екатеринбург, Уральское отделение РАН, 2002. 119с. ISBN 5-7691-1400-2(Даны примеры дракон-схем для задач стратегического планирования).
- Осипова Н.А., Рихванов Л.П., Кропачев А.В. Создание экспертно-обучающей системы на базе алгоритмического подхода для учебного курса «техногенные системы и экологический риск». Томский политехнический университет.
- Митькин С.Б. DRAKON: The Human Revolution in Understanding Programs
- Шамардина Е.И., Манюнин П.А. Язык программирования «Дракон» и его применения за пределами ракетно-космических проектов. Разработка математической модели и редактора // Актуальные проблемы российской космонавтики. Материалы ХХIV Академических чтений по космонавтике. ИИЕТ РАН. Москва, январь 2010 года. Секция 17. Системы управления космических аппаратов и комплексов.
- Созоров Н.Г., Трошин М.В. Дракон-редактор как основное звено в формализации целевых дидактических ресурсов для проектирования интерактивного учебного курса. // Материалы региональной научно-методической конференции ИДНО Томского политехнического университета «Электронные дидактические материалы в инженерном образовании». 11-12 октября 2009г.
- Гришаева О.В. Алгоритмический подход при организации учебно-исследовательской работы студентов на лабораторно-практических занятиях по органической химии. Кемеровская государственная медицинская академия, г. Кемерово // Университетская научно-методическая конференция Томского политехнического университета «Совершенствование содержания и технологии учебного процесса», г. Томск, 9-10 февраля 2010 г. (Язык ДРАКОН позволил студентам без помощи программистов выполнить исследовательскую работу по функциональному анализу органических соединений).
- Драгомирецкий В. И. Применение технологического языка ДРАКОН в учебном процессе МГВРК // Инженерно-педагогическое образование: проблемы и пути развития. Международная научно-практическая конференция. Минск, 19–20 мая 2011 года.
Ссылки
- Романченко Я.М. D2O (Deuterium Oxide) Транслятор схем Дракона в код языка Active Oberon
- Жаринов В.Н. Драконографика
- Дагаев Д.В. Алаверды Дракону.(Использование языка ДРАКОН при проектировании автоматизированных систем управления (АСУ) в атомной энергетике).
- DRAKON EditorРедактор диаграмм ДРАКОН для Windows, Mac и Linux.
См. также
- UML
- Блок-схема
- Диаграмма Насси-Шнейдермана
- Псевдокод (язык описания алгоритмов)
- Структурное программирование
- BPMN (Business Process Modeling Notation)
- Граф потока управления
- Граф-схема алгоритма
- Программа «Буран»
- Языки визуального программирования
- Языки программирования с русскими ключевыми словами
Wikimedia Foundation . 2010 .
ДРАКОН (язык программирования)
Дружелюбный русский алгоритмический язык, который обеспечивает наглядность (сокр. ДРАКОН) — наглядный алгоритмический язык программирования и моделирования. Был разработан в рамках космической программы «Буран». Разработка языка велась с 1986 года при участии Федерального космического агентства (Научно-производственный центр автоматики и приборостроения им. акад. Н. А. Пилюгина, Москва) и Российской академии наук (Институт прикладной математики им. М. В. Келдыша). Язык построен путём формализации, эргономизации и неклассической структуризации блок-схем алгоритмов, описанных в стандартах ГОСТ 19.701-90 и ISO 5807-85, а также для разработки программ реального времени [8] .
Основной задачей разработчиков было создание единого универсального языка программирования и моделирования, который своей доступностью и мощностью способен заменить специализированные языки: ПРОЛ2 [9] (для разработки бортовых комплексных программ Бурана), ДИПОЛЬ [9] (для создания наземных программ Бурана) и ЛАКС [10] (для моделирования).
Работы по разработке языка были закончены в 1996 году (спустя 3 года после закрытия программы «Буран»), когда была создана автоматизированная технология проектирования программных систем (CASE-технология) ГРАФИТ-ФЛОКС [1] . Эта технология эксплуатируется начиная с 1996 года во многих крупных космических программах: международный проект «Морской старт», разгонный блок космических аппаратов «Фрегат», модернизированная ракета-носитель тяжёлого класса «Протон-М» и др.
Во время работы над «Бураном» был придуман язык технических символов — ДРАКОН: «Дружелюбный русский алгоритмический, который обеспечивает наглядность». Он и стал своеобразным инструментом взаимопонимания в Пилюгинском коллективе инженеров и конструкторов. Разработки академика Пилюгина и сегодня применяются в современной ракетной технике. Тяжелые «Протоны» уходят в небо с его системой управления, а грозные ракетные комплексы «Тополь-М» обеспечивают оборону страны.
— Документальный видеофильм «Жирограф и ДРАКОН Пилюгина» [11]
ДРАКОН можно определить как общедоступный визуальный язык, предназначенный для описания структуры человеческой деятельности, для систематизации, структуризации, наглядного представления и формализации императивных знаний, а также для проектирования, программирования, моделирования и обучения [8] . Разработчики языка полагают, что правила языка ДРАКОН по созданию диаграмм оптимизированы для восприятия алгоритмов человеком. Таким образом, язык предлагается в качестве инструмента усиления интеллекта.
Аналогом дракон-схем являются диаграммы поведения языка UML, в частности, диаграмма деятельности [12] , диаграмма состояний [12] и некоторые диаграммы взаимодействия, например, диаграмма синхронизации [12] . Другими аналогами дракон-схем являются блок-схема, диаграмма Насси-Шнейдермана, псевдокод (язык описания алгоритмов) и др. В отличие от блок-схем, дракон-схемы имеют средства для описания работы в реальном времени [12] .
Существует интегрированная среда разработки алгоритмов и программ на языке ДРАКОН под названием «ИС Дракон» [2] и ДРАКОН-редактор [3] .
- 1 Философия
- 1.1 Проблема развития искусственных языков
- 1.2 Понимаемость алгоритмов и программ
- 1.3 Алгоритмизация и программирование без программистов
- 1.4 Две функции языка ДРАКОН
- 2.1 Разработка языков программирования для космического корабля «Буран»
- 2.2 Язык ДРАКОН создан в ракетно-космической отрасли
- 2.3 Разработка языка ДРАКОН и его инструментальных средств для ракет-носителей и разгонных блоков космических аппаратов
- 2.4 Разработка инструментальных средств языка ДРАКОН для широкого применения
- 3.1 Двумерное структурное программирование
- 3.2 Графический и текстовый синтаксис языка ДРАКОН
- 3.3 Семейство ДРАКОН-языков
- 3.4 Гибридные языки ДРАКОН-семейства
- 3.5 Понятность дракон-схем
- 4.1 Язык ДРАКОН как развитие идей Эдсгера Дейкстры
- 4.2 Ориентация входных и выходных линий графических фигур
- 7.1 Начальная школа
- 7.2 Основная школа (с 5-го по 9-й классы)
Философия [ править | править код ]
Проблема развития искусственных языков [ править | править код ]
В отличие от естественного языка, искусственные языки (языки программирования, формальные языки, компьютерные языки, языки разметки и др.) не являются продуктом стихийного развития. Они конструируются целенаправленно и служат для решения познавательных, научных, производственных, коммерческих и иных задач [13] . Тексты на искусственных языках «создаются как принципиально письменные тексты, рассчитанные только на зрительное восприятие» [14] . Лингвисты считают, что язык и мышление образуют единство, так как без мышления не может быть языка и мышление без языка невозможно [15] . Психологи считают языки основным проявлением когнитивных процессов. Языки больше чем все другие виды человеческого поведения отражают мышление, восприятие, память, интеллект, решение задач и научение. Ввиду их важности для основных психологических принципов языки представляют главный интерес для специалистов по искусственному интеллекту [16] .
Важнейшим качеством искусственного языка должна быть понятность — тексты, написанные на этом языке, должны быть удобны для человеческого восприятия и понимания [17] . Кеннет Айверсон полагает, что нотация языка есть средство мышления [18] . Математик и философ Альфред Норт Уайтхед отмечает: «Освобождая мозг от всей необязательной работы, хорошая нотация позволяет ему сосредоточиться на более сложных проблемах и в результате увеличивает умственную мощь цивилизации» [19] . По мнению доктора психологических наук Валерия Венды, автора концепции гибридного интеллекта, задача «состоит в выборе и рационализации языков взаимодействия человека и компьютера. Это очень трудная проблема» [20] . Он полагает, что «необходимо выработать и внедрить принципиально новые формы интеллектуальной деятельности в проектировании, управлении, науке, технике» [21] .
Последние исследования в области нейробиологии, психологии, когнитивной науки и эргономики позволили получить новые и чрезвычайно ценные сведения о работе мозга, которые можно и нужно использовать при разработке нового поколения языков с целью повышения продуктивности человеческого мозга. В настоящее время отсутствует продуманная стратегия, направленная на устранение междисциплинарных барьеров, преследующая цель предоставить разработчикам искусственных языков нового поколения глубокие знания в области наук о человеке, человеческом факторе и человеческом интеллекте. Предпринимаются попытки устранить этот недостаток [12] [K 1] . Концепция искусственных языков нового поколения опирается на междисциплинарный подход и коренным образом изменяет традиционные представления о назначении искусственных языков и наборе приоритетных требований к ним. В основе лежат гуманитарные вопросы и требования [K 2] , которые должны быть соответствующим образом детализированы [12] .
Основная цель создания языка ДРАКОН — обеспечить качественный скачок в повышении продуктивности сложного интеллектуального труда за счёт увеличения интеллектуальной производительности человеческого мозга, выявления и более полного использования резервов человеческого интеллекта, создания когнитивных предпосылок для существенного повышения эффективности информационных технологий, а также улучшения взаимопонимания между людьми [8] .
Понимаемость алгоритмов и программ [ править | править код ]
По мнению некоторых специалистов, основными критериями качества программы являются понимаемость, сопровождаемость и надёжность (корректность). Эти критерии не вступают в конфликт, поскольку характеризуют непротиворечивые свойства программы [23] . Понимаемость ( англ. understandability ) — свойство программы минимизировать интеллектуальные усилия, необходимые для её понимания человеком [23] [K 3] . Эффективным средством для улучшения понимаемости алгоритмов является визуализация программирования [25] .
Главным требованием к визуальному языку ДРАКОН считается улучшение понимаемости графического представления алгоритмов (дракон-схем) для человеческого зрительного восприятия. Все остальные требования считаются менее важными (хотя и не теряют своей значимости). Чтобы подчеркнуть это обстоятельство, говорят, что дракон-схемы удовлетворяют «критерию сверхвысокой понимаемости» [25] , или «критерию высокого понимания» [8] .
Алгоритмизация и программирование без программистов [ править | править код ]
Некоторые учёные считают, что существующие способы записи алгоритмов и программ слишком трудны для понимания и требуют неоправданно больших трудозатрат. Это обстоятельство ставит непреодолимый барьер для непрограммистов, то есть специалистов, работа которых связана с алгоритмами, но которые не имеют резерва времени, чтобы научиться выражать свои профессиональные знания в форме алгоритмов и программ [26] . Язык ДРАКОН использует новую эргономичную нотацию (дракон-схемы) и за счет этого существенно облегчает алгоритмизацию и программирование. По мнению специалистов, благодаря использованию дракон-схем алгоритмы и программы становятся более понятными, доходчивыми, ясными, прозрачными [8] [27] .
В итоге трудные для понимания способы записи алгоритмов и программ заменяются на более лёгкие. Вследствие этого работники быстро овладевают дракон-схемами и успешно создают алгоритмы и прикладные программы без программистов или с их минимальным участием [26] . Об этом свидетельствует 15-летний опыт эксплуатации Технологии ГРАФИТ-ФЛОКС [1] в Научно-производственном центре автоматики и приборостроения им. академика Н. А. Пилюгина.
ДРАКОН — легкий язык. Настолько легкий, что разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а инженеры — по принципу «программирование без программистов» [28] [K 4] . Причина частичного отказа от программистов проста. При решении практических прикладных задач инженеры досконально владеют материалом и прекрасно знают постановку задачи. В отличие от них программисты не знают физику процесса и становятся «лишними людьми», без которых в ряде случаев (хотя и не всегда) вполне можно обойтись [28] [K 5] .
Две функции языка ДРАКОН [ править | править код ]
Язык ДРАКОН выполняет две принципиально разные функции. Для большинства работников (непрограммистов) он является средством повышения эффективности интеллектуального труда при описании процессов и разработке алгоритмов с помощью дракон-схем, заполненных текстом на профессиональном языке специалистов-непрограммистов. В этом качестве ДРАКОН не имеет отношения к программированию. Вторая функция состоит в том, что для программистов ДРАКОН служит языком программирования. Таким образом, ДРАКОН обращен к двум совершенно разным аудиториям, чтобы выявить и учесть потребности каждой аудитории и по возможности удовлетворить их наилучшим образом. В этом состоит одно из ключевых преимуществ, поскольку ДРАКОН можно использовать как язык взаимопонимания между непрограммистами и программистами, между не программирующим большинством специалистов и программирующим меньшинством [27] [8] .
История [ править | править код ]
Разработка языков программирования для космического корабля «Буран» [ править | править код ]
Система управления орбитального корабля «Буран» управляет полетом Бурана и всеми бортовыми системами корабля [30] [31] [32] . Система управления создана в Научно-производственном центре автоматики и приборостроения имени академика Н. А. Пилюгина (далее — Пилюгинский центр). Головным мозгом Бурана служит Бортовой вычислительный комплекс [33] . Основным разработчиком бортового и наземного программного обеспечения системы управления Бурана является Пилюгинский центр [34] .
При создании программ для сложных космических объектов возникают проблемы, требующие создания языков программирования высокого уровня, предназначенных для решения задач реального времени для систем управления ракетно-космической техники [35] . Именно такие проблемы инициировали появление языка ДРАКОН. При разработке Бурана проблема разработки и отработки программного обеспечения считалась одной из наиболее сложных. Первоначально предполагалось, что для решения задачи потребуется несколько тысяч программистов. Следует учесть, что программисты Пилюгинского центра привыкли писать программы преимущественно на ассемблере, чтобы экономить объём требуемой памяти, так как объём памяти бортового компьютера «Бисер-4» [36] был очень ограниченным.
В материалах Института прикладной математики им. М. В. Келдыша РАН о событиях того периода говорится:
В 1983 году разработчики космического корабля Буран обратились в Институт прикладной математики с просьбой помочь в разработке бортового программного обеспечения и программного обеспечения наземных испытаний корабля. По их оценкам, для этой работы требовалось несколько тысяч программистов. После изучения задачи было решено разработать проблемно-ориентированные языки, основанные на терминах, понятиях и форме представления алгоритмов управления и испытаний, используемых разработчиками корабля…
Разработка языков и соответствующих инструментальных средств была выполнена небольшим коллективом высококвалифицированных программистов Института прикладной математики РАН в чрезвычайно сжатые сроки. Для разработки бортового программного обеспечения был создан специализированный язык реального времени ПРОЛ2 и базирующаяся на нём система автоматизации программирования и отладки САПО ПРОЛ2… Для разработки программного обеспечения наземных испытаний корабля был создан проблемно-ориентированный язык ДИПОЛЬ и базирующаяся на нём система автоматизации программирования и отладки [37] .
Таким образом, чтобы решить проблему нехватки программистов при создании Бурана и повысить производительность и качество труда при разработке алгоритмов и программ, Институт прикладной математики РАН по просьбе Пилюгинского центра создал два русскоязычных языка:
- язык реального времени ПРОЛ2 для разработки бортовых комплексных программ (руководитель авторского коллектива Виктор Крюков) [38][39] ;
- проблемно-ориентированный язык для разработки программ наземных испытаний ДИПОЛЬ (руководитель Владимир Луцикович) [40] .
Кроме того, в Пилюгинском центре под руководством Константина Федорова был создан язык ЛАКС для моделирования. Таким образом, появились три новых языка, которые были непосредственными предшественниками ДРАКОНА. Опыт их эксплуатации был тщательно изучен и использован при создании языка ДРАКОН.
Язык ДРАКОН создан в ракетно-космической отрасли [ править | править код ]
Хотя языки ПРОЛ2, ДИПОЛЬ и ЛАКС успешно решали поставленные задачи, стало ясно, что узкая специализация языков мешает делу. Эту мысль в 1986 году высказал начальник комплексного отделения Юрий Трунов (впоследствии Генеральный конструктор Пилюгинского центра) [41] . Трунов предложил создать универсальный язык, способный заменить три вышеназванных. Было решено, что новый язык должен не только удовлетворять практическим нуждам космической техники, но и решать широкий круг задач, выходящих далеко за рамки традиционного программирования [42] .
В связи с этим при создании языка ДРАКОН были выдвинуты необычные для программистов и математиков гуманитарные требования:
- улучшить работу человеческого ума;
- предложить эффективные средства для описания не только алгоритмов, но и структуры человеческой деятельности в любой отрасли знаний (включая бизнес-процессы);
- предоставить человеку такие языковые средства, которые значительно упрощают восприятие сложных процедурных проблем и общение с коллегами, делают непонятное понятным. И за счет этого буквально заставляют человека мыслить отчетливо, глубоко и продуктивно. В этих условиях вероятность заблуждений, просчетов и ошибок падает, а производительность растет;
- облегчить межотраслевое и междисциплинарное общение между представителями разных организаций, ведомств, отделов, лабораторий, научных школ и профессий;
- устранить или уменьшить барьеры взаимного непонимания между работниками различных специальностей (врачами и физиками, математиками и конструкторами, биологами и экономистами и т. д.), а также программистами и теми, кто не владеет программированием;
- за счет использования когнитивно-эргономического подхода к проектированию (синтаксиса и семантики) языка добиться значительного улучшения качества программного обеспечения по критерию «понятность алгоритмов и программ» [43] .
Разработка языка ДРАКОН и его инструментальных средств для ракет-носителей и разгонных блоков космических аппаратов [ править | править код ]
Разработка языка ДРАКОН и системы программирования началась в 1986 году. Через 10 лет на базе ДРАКОНа была построена автоматизированная Технология разработки алгоритмов и программ (CASE-технология) под названием «ГРАФИТ-ФЛОКС» [1] .
Сохранился документ, отражающий один из этапов этой работы.
- Разработку программного обеспечения изделия ДМ-SL поручить отделу 035.
- Разработку ПО изделия ДМ-SL вести по технологии ГРАФИТ-ФЛОКС.
- В целях своевременного выполнения работ по пп. 1 и 2 начальнику отдела 035 Косточкину Г. Н. обеспечить завершение работ по созданию технологии ГРАФИТ-ФЛОКС в сроки, обеспечивающие безусловное выполнение графика работ по разработке ПО изделия ДМ-SL.
- Начальнику отдела 032 Лукьянову Б. Г. обеспечить выпуск Положения о порядке выпуска флокс-формуляров для изделия ДМ-SL в сроки, согласованные с отделом 035.
В соответствии с этим распоряжением работы были завершены к 1996 году. Затем язык ДРАКОН и система ГРАФИТ-ФЛОКС поступили в эксплуатацию. С их помощью были разработаны многие алгоритмы и программы разгонного блока космических аппаратов ДМ-SL Международного проекта «Морской старт». В общей сложности на разработку и отработку программного обеспечения и других элементов системы управления ушло три года. К 1999 году все работы были закончены. Система была готова к старту.
Первый пуск ракетного комплекса «Морской старт» состоялся 28 марта 1999 года. Он произошёл в 5 часов 30 минут по московскому времени (27 марта 1999 г. в 18 часов 30 минут по тихоокеанскому времени) cо стартовой платформы «Одиссей» в Тихом океане в районе островов Кирибати [45] . Этот пуск был ответственным испытанием языка ДРАКОН и технологии «ГРАФИТ-ФЛОКС». Он продемонстрировал их эффективность и надежность. С тех пор по программе «Морской старт» проведено свыше 30 ракетных пусков [46] .
Язык ДРАКОН используется и в других космических программах, например: разгонный блок космических аппаратов «Фрегат»; модернизированная ракета-носитель тяжелого класса «Протон-М»; разгонный блок космических аппаратов ДМ-SLБ [47] (проект «Наземный старт»); разгонный блок космических аппаратов ДМ-03; первая ступень южнокорейской ракеты-носителя легкого класса KSLV-1 (Korean Space Launch Vehicle #1); ракета-носитель легкого класса Ангара 1.2; ракета-носитель тяжелого класса Ангара-А5 и др. [48] [K 7]
Поскольку результаты использования ДРАКОНа были стабильно высокими, руководство Пилюгинского центра приняло решение об использовании ДРАКОН-технологии во всех последующих проектах [49] .
Разработка инструментальных средств языка ДРАКОН для широкого применения [ править | править код ]

Генерация последовательности Фибоначчи на гибридном языке ДРАКОН-Си [K 8] .

ДРАКОН-схема алгоритма поиска A* [K 9] .
Распространение языка ДРАКОН можно разделить на два этапа. На начальном этапе информация о ДРАКОНе была недоступна для пользователей, так как работы по ракетно-космическим программам и, в частности, по космической программе Буран были строго засекречены как составляющие государственную тайну [K 10] [K 11] . В тот период область применения ДРАКОНа была ограничена ракетно-космической техникой. Язык применялся и применяется в Пилюгинском центре при разработке программ для бортового компьютера «Бисер» [36] , установленного на борту ракет-носителей и разгонных блоков космических аппаратов.
На втором этапе, в результате политики гласности, свободы слова, снятия неоправданных ограничений на распространение информации и рассекречивания ранее закрытых сведений и проектов появилась возможность приспособить инструментальные средства языка ДРАКОН для гражданских нужд широкого применения, то есть создать их в несекретном варианте для эксплуатации на персональных компьютерах и др. Сфера применения языка стала постепенно расширяться. Началось использование дракон-схем за рамками ракетно-космической техники [52] — для решения задач в различных предметных областях и отраслях экономики.
Этому способствовал ряд обстоятельств. В открытой литературе стали доступны публикации по языку ДРАКОН [53] [54] [12] [28] [26] [55] [56] [57] [58] [59] [60] [61] . Часть этих материалов появилась в Интернете в конце 2006 года [62] . Через Интернет с языком ДРАКОН познакомились Геннадий Тышов (Россия) и Степан Митькин (Норвегия). Они по своей инициативе (независимо друг от друга и от Пилюгинского центра) разработали инструментальные средства языка ДРАКОН и выложили их в открытом доступе для тестирования, обсуждения, критики и дальнейшего совершенствования [2] [3] . Благодаря этому пользователи получили возможность скачать инструментальные программы и использовать их для практической работы.
Особенности [ править | править код ]
Двумерное структурное программирование [ править | править код ]
Императивная (процедурная) часть языка ДРАКОН опирается на новый метод — двумерное (графическое) структурное программирование [63] . Правила двумерного структурного программирования существенно отличаются от классического одномерного (текстового) структурного программирования [63] .
Идеи структурного программирования разрабатывались, когда компьютерная графика фактически ещё не существовала и основным инструментом алгоритмиста и программиста был одномерный (линейный или ступенчатый) текст. До появления компьютерной графики методология классического структурного программирования была наилучшим решением. С появлением компьютерной графики ситуация изменилась. Появилась возможность заменить текстовые управляющие структуры (ключевые слова if, then, else, case, switch, break, while, do, repeat, until, for и т. д.) на управляющую графику, то есть использовать двумерное структурное программирование [63] .
Слабое место классического структурного программирования и текстового представления алгоритмов и программ заключается в недостатке выразительных средств. Следствием являются ограничения и запреты. Эти ограничения и запреты вытекают из природы текста, из природы текстового представления управляющих структур. Недостаток выразительных средств, проявляющийся через ограничения и запреты, тормозит повышение производительности труда алгоритмистов и программистов. В рамках текстового представления управляющих структур устранить эти ограничения и запреты невозможно [63] [52] [64] .
По мнению разработчиков языка ДРАКОН, чтобы добиться улучшения, надо перейти от одномерного (классического) структурного программирования к двумерному (графическому) структурному программированию. Многие ограничения и запреты, неизбежные при текстовом структурном программировании, во многих случаях противоречат здравому смыслу, затрудняют понимание алгоритмов и программ, искажают нормальный ход человеческой мысли. Недопустимо запрещать правильный процесс мышления. Его надо разрешить. Шампур-метод и язык ДРАКОН устраняют этот недостаток [65] [K 12] .
При использовании шампур-метода набор управляющих ключевых слов (идентификаторов) текстового структурного программирования становится ненужным. При визуальном структурном подходе программист работает только с чертежом программы (дракон-схемой), не обращаясь к её текстовому представлению. Точно так же программист, работающий, например, на Дельфи, не обращается к ассемблеру и машинному коду — они для него просто не существуют. Во многих случаях (список которых ещё предстоит уточнить) желательно отказаться от текстовых управляющих структур, заменив их управляющей графикой [K 13] .
Создатели ДРАКОНа говорят, что это не просто новый язык (новое семейство языков), а новый взгляд на императивное (процедурное) программирование и новое мировоззрение [K 14] . Наибольшую трудность в течение длительного времени представляли математика и эргономика блок-схем. Нужно было создать математически строгий метод формализации блок-схем, позволяющий превратить блок-схемы в программу, пригодную для ввода в компьютер и трансляции в объектный модуль программы. При создании языка ДРАКОН эта задача была решена с помощью визуального логического исчисления (исчисления икон) [53] [68] , которое лежит в основе графического синтаксиса языка ДРАКОН [69] ; метода Ашкрофта-Манны [70] , который является математическим обоснованием дракон-схемы «силуэт»; двумерного структурного программирования [71] . Одновременно была решена задача эргономизации блок-схем, то есть задача приспособления блок-схем для наиболее удобного человеческого восприятия и понимания [72] [K 15] .
Графический и текстовый синтаксис языка ДРАКОН [ править | править код ]
ДРАКОН — графический (визуальный) язык, в котором используются два типа элементов:
- графические фигуры (иконы);
- текстовые надписи, расположенные внутри или снаружи икон (текстоэлементы) [8] .
Поэтому язык ДРАКОН имеет не один, а два синтаксиса: графический и текстовый. Графический (визуальный) синтаксис охватывает алфавит икон, правила их размещения в поле чертежа и правила связи икон с помощью соединительных линий. Текстовый синтаксис задает алфавит символов, правила их комбинирования и привязку к иконам (привязка необходима потому, что внутри разных икон используются разные типы выражений) [74] [27] .
Семейство ДРАКОН-языков [ править | править код ]
ДРАКОН — не один язык, а целое семейство, которое может включать практически неограниченное число ДРАКОН-языков. Все языки ДРАКОН-семейства имеют одинаковый графический синтаксис, что обеспечивает зрительное сходство дракон-схем различных ДРАКОН-языков. Каждый язык семейства отличается тем, что имеет свой собственный текстовый синтаксис. Строгое разграничение графического и текстового синтаксиса позволяет в максимальной степени расширить сферу применения языков семейства, обеспечивая гибкость и универсальность выразительных средств языка.
При этом единообразие правил графического синтаксиса семейства ДРАКОН-языков обеспечивает их концептуальное единство. Разнообразие текстовых правил (то есть возможность выбора любого текстового синтаксиса), в свою очередь, определяет гибкость языка и лёгкую настройку на различные предметные и иные области [74] [75] .
В состав семейства входит универсальный визуальный алгоритмический язык (являющийся языком моделирования, а не программирования), а также гибридные языки программирования.
Гибридные языки ДРАКОН-семейства [ править | править код ]

Алгоритм быстрой сортировки на гибридном языке ДРАКОН-Си
Императивную (процедурную) часть языка Дракон можно присоединить к некоторым языкам программирования и получить так называемые гибридные языки [74] :
- язык Дракон + язык Си = гибридный язык Дракон-Си
- язык Дракон + язык Java = гибридный язык Дракон-Java
Точно так же можно построить языки Дракон-C#, Дракон-Питон, Дракон-Tcl, Дракон-Erlang и другие. При создании гибридного языка Дракон-Си необходимо, в частности, создать транслятор из дракон-схемы в исходный код языка Си. В этом случае Си является целевым языком [76] .
При использовании гибридных языков исходным текстом программы считается дракон-схема и только она. При отладке программы не следует вносить исправления в промежуточные файлы на целевых языках, например, в Си-файлы; все исправления нужно вносить в исходный код, то есть в дракон-схему [77] [78] [79] .
Ниже представлен порядок работы при разработке программы на гибридном языке (на примере Дракон-Си и инструментальной программы ИС Дракон).
Шаг 1. В графической среде ИС Дракон разрабатываем на языке дракон-схем сначала алгоритм, затем программу. Шаг 2. Инструментальная программа ИС Дракон транслирует полученный код дракон-схемы в исходный код языка Си. Шаг 3. Затем работает компилятор языка Си, который осуществляет стандартную компиляцию в объектный код.
Описанный порядок работ используется, когда объем программы сравнительно небольшой. Если же программа большая (что имеет место при разработке программного обеспечения для системы управления ракет-носителей или разгонных блоков космических аппаратов), используется Технология разработки алгоритмов и программ ГРАФИТ-ФЛОКС [1] .
Понятность дракон-схем [ править | править код ]
Как и все прочие языки, ДРАКОН опирается на математику и логику. Однако сверх того, он самым тщательным образом учитывает когнитивные вопросы [K 16] . Благодаря систематическому использованию когнитивно-эргономических методов ДРАКОН приобрел «уникальные эргономические характеристики», обеспечивающие высокую понимаемость алгоритмов и программ [8] . В основе языка ДРАКОН лежит идея когнитивной формализации знаний, позволяющая сочетать строгость логико-математической формализации с точным учетом когнитивных (познавательных) характеристик человека [80] [81] .
С точки зрения человеческого фактора, исторический процесс развития языков программирования сопровождается улучшением понятности алгоритмов и программ, повышением производительности труда программистов. На первом этапе произошел переход от машинных кодов к автокодам и ассемблерам. Затем появились языки высокого уровня, которые (по сравнению с ассемблером) сделали исходный текст программы более понятным и удобным для человека и значительно увеличили производительность труда программистов. В современных условиях качественная программа должна обладать, помимо надежности и эффективности, ещё и таким «важнейшим качеством как понимаемость» [82] . Для улучшения понятности можно использовать тот факт, что некоторые языки высокого уровня могут работать в сочетании с языком ДРАКОН, образуя гибридные языки. При этом функция исходного кода программы переходит к дракон-схемам. Это позволит отказаться от текстовых управляющих структур, используемых в языках высокого уровня, и заменить их на управляющую графику ДРАКОНа. Исходный код программы станет более понятным и удобным для человека, увеличится производительность труда программистов [83] [84] .
Блок-схемы и дракон-схемы [ править | править код ]

Пример блок-схемы алгоритма на языке ДРАКОН — дракон-схемы
Блок-схемы популярны, так как они графически отображают логику программы с помощью стандартных геометрических фигур и соединительных линий [85] . Они представляют собой «интуитивно понятный метод представления управляющей последовательности алгоритма» [85] .
Вместе с тем, блок-схемы подвергаются критике. Противники блок-схем утверждают, что они не поддаются формализации, поэтому их «нельзя использовать как программу для непосредственного ввода в машину» [86] . Блок-схемы не согласуются со структурным программированием, поскольку в значительной степени ориентированы на использование goto [87] . Блок-схемы широко использовались в течение ряда лет, однако сейчас их популярность падает; они «затемняют особенности программ, созданных по правилам структурного программирования» [88] . При достаточно большой степени детализации блок-схемы становятся «громоздкими и теряют своё основное достоинство — наглядность структуры алгоритма» [89] . Обозримыми и понятными являются блок-схемы только для небольших алгоритмов [90] .
Тем не менее, блок-схемы продолжают оставаться самой известной нотацией для записи алгоритмов [90] . Однако сегодня эта нотация для программистов «утратила свою актуальность» [90] . Основной недостаток блок-схем заключается в том, что они не приучают к аккуратности при разработке алгоритма. Ромб можно поставить в любом месте блок-схемы, а от него повести выходы на какие угодно участки. «Так можно быстро превратить программу в запутанный лабиринт, разобраться в котором через некоторое время не сможет даже сам ее автор» [91] .
Язык ДРАКОН строится на основе блок-схем с целью их улучшения [92] . Дракон-схемы позволяют ликвидировать или значительно ослабить недостатки блок-схем [25] . Некоторые специалисты считают, что дракон-схемы есть не что иное, как правильно составленные блок-схемы [93] . Методы проектирования, ориентированные на дракон-схемы, позволяют преодолеть алгоритмическую сложность [74] . Существенно, что — в отличие от блок-схем — язык ДРАКОН обеспечивает разработку сложных алгоритмов «с сохранением наглядности даже для многостраничных схем» [94] . По мнению некоторых ученых, «хотя стандарты на блок-схемы считаются действующими, фактически они давно устарели. С появлением дракон-схем блок-схемы полностью потеряли свое значение, так как они во всех отношениях уступают дракон-схемам» [95] .
При разработке единого стандарта, снабженного компьютерной поддержкой и рассчитанного на «постепенное внедрение во всех отраслях и предметных областях, целесообразно взять за основу язык ДРАКОН» [96] .
В отличие от блок-схем, ДРАКОН как язык программирования удовлетворяет требованиям математической строгости: из исходного чертежа можно однозначно получать объектный код [52] . Дракон-схемы строятся по определенным правилам, аналогичным структурному программированию, но эти правила более свободны и выразительны [52] . В отличие от блок-схем, правила языка ДРАКОН однозначно определяют взаимное расположение графических элементов (блоков) на листе чертежа и на экране компьютера [52] . Дракон-схемы наследуют все достоинства блок-схем и устраняют их недостатки [97] .
Несмотря на это, дракон-схемы подвергаются критике. Оппоненты отмечают, что дракон-схемы — это всего лишь «правильно составленные блок-схемы» [93] . А раз так, то «недостатки блок-схем сохраняются и в дракон-схемах» [93] . При этом подчеркивается, что «топология Р-схем более расширенная и управляемая по сравнению с топологией дракон-схем» [90] . В связи с этим, по мнению критиков, в процессе обучения программированию желательно использовать Р-схемы, а не дракон-схемы [90] . Впрочем, есть и противоположное мнение: «Визуальный язык ДРАКОН образует наглядную среду для первоначального обучения программированию и мог бы быть весьма полезен при организации школьных курсов информатики [74] ».
Язык ДРАКОН как развитие идей Эдсгера Дейкстры [ править | править код ]
В классической работе «Заметки по структурному программированию» Эдсгер Дейкстра использовал блок-схемы для анализа структуры программ и предложил четыре принципа структуризации блок-схем:
- Принцип ограничения топологии блок-схем. Структурная программа должна приводить «к ограничению топологии блок-схем по сравнению с различными блок-схемами, которые могут быть получены, если разрешить проведение стрелок из любого блока в любой другой блок. Отказавшись от большого разнообразия блок-схем и ограничившись данными тремя типами операторов управления [следование, ветвление, цикл], мы следуем тем самым некоей последовательностной дисциплине» [98] .
- Принцип вертикальной ориентации входов и выходов блок-схем. Имея в виду шесть типовых блок-схем (if-do, if-then-else, case-of, while-do, repeat-until), Дейкстра пишет: «Общее свойство всех этих блок-схем состоит в том, что у каждой из них один вход вверху и один выход внизу» [98] .
- Принцип единой вертикали. Вход и выход каждой типовой блок-схемы должны лежать на одной вертикали [K 17] .
- Принцип нанизывания блок-схем на единую вертикаль. Типовые блок-схемы следует соединять между собой, не допуская изломов соединительных линий, чтобы выход верхней и вход нижней блок-схемы лежали на одной вертикали [K 18] .
Принципиальное отличие дракон-схем от блок-схем состоит в том, что дракон-схемы построены на основе указанных принципов, а стандарты на блок-схемы (международный стандарт ISO 5807 и ГОСТ 19.701—90) построены без учета этих принципов [99] . Принципы необходимы потому, что они позволяют осуществить структуризацию и формализацию схем программ.
Идея ограничения топологии схем программ с целью их лучшей структуризации и формализации лежит в основе визуального языка программирования ДРАКОН и построенного на его основе шампур-метода как абстрактной визуальной модели программы [74] .
Ориентация входных и выходных линий графических фигур [ править | править код ]
Второе принципиальное отличие дракон-схем от блок-схем состоит в том, что ориентация входных и выходных линий графоэлементов (икон) в дракон-схемах задана однозначно, а в блок-схемах — неоднозначно. Например, в блок-схемах входную линию можно подводить к графическому блоку (символу) не одним, а двумя разными способами — не только сверху, но и слева. Выходную линию можно присоединять к блоку (символу) не одним, а тремя способами — не только внизу, но и справа [K 19] и даже слева [K 20] .
В языке ДРАКОН этот недостаток устранен с помощью принципов Эдсгера Дейкстры, использованных для однозначного упорядочивания входных и выходных линий графических фигур.

Оператор ветвления на ДРАКОН-схеме
На рисунке (см. справа) показана дракон-схема развилка — графический оператор ветвления с двумя ветвями. Икона «вопрос» имеет один вход сверху и два выхода: вниз и вправо. Выход влево (в отличие от блок-схем) запрещен и никогда не используется [26] . У остальных икон входы и выходы ориентированы строго по вертикали. Благодаря продуманной графической дисциплине в языке ДРАКОН применяются правила, облегчающие понимание смысла алгоритма и обеспечивающие быстрое восприятие читателем алгоритма в целом [74] .
В дракон-схеме маршруты алгоритма следует рисовать не хаотично, а упорядоченно — по принципу: «Чем правее — тем хуже». Это значит: чем правее расположен маршрут, тем более неприятную ситуацию он описывает. На рисунке (справа) два маршрута. Они соответствуют двум ситуациям. Если нет дождя — это хорошо, если дождь идет — плохо. Главный маршрут алгоритма (основная ветвь программы) идет по левой вертикали (по шампуру), демонстрируя, что все хорошо. Переход вправо (на правую вертикаль) описывает нежелательную ситуацию, потому что неприятно гулять под дождем. Правило «Чем правее, тем хуже» — одно из многих правил, которые в совокупности значительно облегчают чтение, понимание, анализ и разработку сложных алгоритмов [102] .
Применение языка ДРАКОН в медицине [ править | править код ]
Медицинские алгоритмы (англ.) используются не только в медицинском программировании в виде программ, но и во врачебной практике в текстовой и графической форме. Графическое представление алгоритмов в виде блок-схем и дракон-схем используется для наглядного изображения действий медицинского персонала и процессов, протекающих в организме пациента [103] [104] [105] .
На первом этапе применялись блок-схемы, заменившие неудобное и ненаглядное текстовое описание алгоритмов. Например, графические медицинские алгоритмы представлены в учебнике «Практическое руководство для врачей общей (семейной) практики», вышедшем под научной редакцией академика РАМН, доктора медицинских наук, профессора Игоря Денисова. Книга предназначена для врачей общей практики (семейных врачей), участковых терапевтов и педиатров, амбулаторно-поликлинических врачей других специальностей, интернов, клинических ординаторов, студентов медицинских вузов. В учебнике в виде блок-схем графически показаны диагностические алгоритмы клинических синдромов, часто встречающиеся в практике, например:
- алгоритм «Остро возникшая головная боль» [106] ;
- алгоритм «Синкопальное состояние» [107] ;
- алгоритм «Кровохарканье» [108] ;
- алгоритм «Одышка» [109] ;
- алгоритм «Дисфагия» [110] ;
- алгоритм «Острая диарея» [111] .
Со временем выяснилось, что блок-схемы не позволяют изображать сложные медицинские алгоритмы с необходимой полнотой и наглядностью. В отличие от них, дракон-схемы подчиняются строгим формальным правилам [80] и правилам эргономичных алгоритмов [8] . Поэтому разработчики языка ДРАКОН рекомендуют авторам медицинских учебников «вместо блок-схем использовать язык ДРАКОН, который имеет неоспоримые преимущества» [112] . Появились учебники, в которых медицинские алгоритмы изображены на ДРАКОНе, например, учебник «Начальная неотложная акушерская помощь», изданный под научной редакцией доктора медицинских наук, профессора Руты Надишаускене. Книга предназначена для медицинских работников скорой помощи, специалистов, работающих в приемных отделениях и учащихся — будущих акушеров, фельдшеров и студентов медицинских вузов. В учебнике в виде дракон-схем показаны медицинские алгоритмы, часто встречающиеся в практической работе неотложной акушерской помощи при диагностике, реанимации и родовспоможении, например:
- алгоритм «Оценка состояния плода» [113] ;
- алгоритм «Дистоция плечиков» [114] ;
- алгоритм «Специализированная реанимация новорожденного» [115] ;
- алгоритм «Эклампсия» [116] ;
- алгоритм «Первичный осмотр пострадавшего» [117] ;
- алгоритм «Начальная реанимация и дефибрилляция» [118] .
В учебном курсе «Неотложная медицинская помощь» широко используются дракон-схемы в качестве графических инструкций для медицинского персонала. Служба скорой помощи — одно из важнейших звеньев системы оказания медицинской помощи населению [119] . Действия специализированных и линейных бригад скорой помощи должны выполняться очень четко; последовательности таких действий описываются с помощью дракон-схем и называются алгоритмами. В учебном курсе «Неотложная медицинская помощь» имеется глава «Как читать алгоритмы?», поясняющая порядок чтения дракон-схем. Дракон-схемы наглядно показывают неотложные спасательные действия и процедуры, которые должны точно и безупречно выполнять работники скорой помощи при угрожающих жизни пациента состояниях. В начале учебного курса говорится: «Последовательность сложных или более важных действий написана в алгоритмах, подготовленных по методике языка ДРАКОН. Цель алгоритмов — помочь как можно лучше запомнить последовательность действий при оказании [неотложной медицинской] помощи [120] . […] Схемы ДРАКОНа будут вам полезны как во время обучения, так и в каждодневной работе» [121] .
Применение языка ДРАКОН в системе высшего образования [ править | править код ]
В 1996 году Государственный комитет Российской Федерации по высшему образованию включил изучение языка ДРАКОН в программу курса «Информатика» для направлений:
510000 — Естественные науки и математика 540000 — Образование 550000 — Технические науки 560000 — Сельскохозяйственные науки [122]
В официальном документе Госкомвуза «Примерная программа дисциплины „Информатика“» имеется раздел, посвященный языку ДРАКОН и использующий его понятийный аппарат [K 21] :
Раздел 3. АЛГОРИТМЫ И АЛГОРИТМИЗАЦИЯ. ВИЗУАЛИЗАЦИЯ АЛГОРИТМОВ
Понятие алгоритма. Визуализация алгоритмов и блок-схемы. Недостатки блок-схем. Формализация и эргономизация блок-схем. Язык визуального представления алгоритмов ДРАКОН. Линейные, разветвленные и цикличные алгоритмы. Вложенные и параллельные алгоритмы. Логические элементы и базовые управляющие структуры визуального структурного программирования. Визуальные операторы управления. Визуальные алгоритмические макроконструкции «примитив» и «силуэт».
Понимаемость алгоритмов и методы её улучшения. Понятие эргономичного алгоритма. Равносильные преобразования визуальных алгоритмов, позволяющие улучшить понимаемость: рокировка, подстановка, вертикальное и горизонтальное объединение, визуализация логических формул в условных операторах… Преобразование алгоритмов из визуальной формы в текстовую и обратно. Язык абстрактных ДРАКОН-схем как инвариант класса процедурных языков [123] .
«Примерная программа дисциплины „Информатика“» одобрена Президиумом совета по информатике Госкомвуза. Председатель Президиума академик РАН Юрий Журавлев является руководителем Секции прикладной математики и информатики Отделения математических наук РАН, а также заместителем Академика-секретаря Отделения математических наук РАН [124] .
В одобренной академиком Журавлевым «Примерной программе» содержится обоснование концепции и структуры учебного курса информатики; в частности, дается обоснование использования языка ДРАКОН [125] [K 22] .
Далее в Программе указываются требования к языку представления процедурных знаний нового типа: общедоступного, человечного, предельно легкого в изучении и удобного в работе, создающего наиболее комфортные условия для работы человеческого мозга, позволяющего решать проблемы ценою минимальных интеллектуальных усилий, удовлетворяющего самым строгим эргономическим и дидактическим требованиям. Отмечается, что этим требованиям соответствует язык ДРАКОН — «один из самых легких языков представления знаний и самый первый язык, с которого нужно начинать обучение алгоритмическому мышлению и программированию» [128] .
При коллективной интеллектуальной работе важную роль играет интеллектуальное взаимопонимание и интеллектуальное взаимодействие между специалистами. Для улучшения взаимопонимания необходимо иметь общую языковую основу. Благодаря своей человечности (эргономичности) язык ДРАКОН относительно легко устраняет барьеры взаимного непонимания (в части процедурных знаний) между работниками различных специальностей: врачами и физиками, математиками и конструкторами, биологами и экономистами, программистами и технологами и т. д. Тем самым ДРАКОН создает универсальную языковую основу для процедурного интеллектуального взаимодействия между людьми, в частности, между участниками многопрофильных проектов. В результате этот «язык взаимопонимания» заметно упрощает междисциплинарное и иное общение между представителями разных организаций, ведомств, отделов, лабораторий, научных школ и профессий, отчасти играя роль «производственного эсперанто» [128] .
Бакалавр любой специальности должен уметь формализовать свои процедурные профессиональные знания самостоятельно, то есть без помощи профессиональных программистов или когнитологов (инженеров по знаниям). Программа предусматривает приобретение навыков автоформализации знаний на языке ДРАКОН [129] .
Применение языка ДРАКОН в системе среднего образования [ править | править код ]
Начальная школа [ править | править код ]
В начальной школе факультативно используются пропедевтические курсы Александра Горячева «Информатика в играх и задачах» для 1-4 классов и «Информатика и ИКТ» для 3 и 4 класса. На первом этапе для изображения процедурных знаний в этих курсах использовались традиционные блок-схемы, но затем — после ознакомления с правилами построения ДРАКОН-схем — ситуация изменилась в пользу ДРАКОНа. Как отмечает создатель пропедевтических курсов кандидат педагогических наук Горячев, «для представления информации о процедурных знаниях мы планируем использовать блок-схемы с рекомендациями автора визуального языка ДРАКОН» [130] .
Основная школа (с 5-го по 9-й классы) [ править | править код ]
Изучение информатики в основной школе определяется Государственным образовательным стандартом. В 2004 году появился стандарт основного общего образования по Информатике и ИКТ (информационно-коммуникационные технологии) [131] . В соответствии со стандартом подготовлено учебное пособие по алгоритмике «Занимательная информатика», основанное на языке ДРАКОН [132] . В 2007 году пособие вышло в свет в издательстве Дрофа — специализированном издательстве, выпускающем учебную и методическую литературу для дошкольных учреждений, начальной, основной, средней и высшей школы. Это было уже третье издание книги, исправленное и дополненное с учетом замечаний учителей и специалистов [K 23] .
Учительская газета опубликовала отзыв о книге и языке ДРАКОН.
ДРАКОН — это эргономичный стандарт для графического представления учебной информации. Это, безусловно, первый и единственный такой стандарт. Блок-схемы во всех имеющихся на сегодня книгах (кроме книг по языку ДРАКОН) — составлены очень плохо. Язык ДРАКОН учит нас, методистов и учителей, правильному составлению блок-схем. Насколько я знаю, нет другой литературы, где тому же самому можно научиться настолько просто и даже увлекательно [134] .
«Вестник Российской академии наук» о языке ДРАКОН [ править | править код ]
В журнале «Вестник Российской академии наук» опубликована рецензия доктора технических наук Я. В. Безеля, в которой отмечается, что алгоритмический язык ДРАКОН разработан совместными усилиями Российского авиационно-космического агентства (НПЦ автоматики и приборостроения им. Н. А. Пилюгина, г. Москва) и Института прикладной математики им. М. В. Келдыша РАН. Этот язык универсален. Он может применяться для наглядного представления и быстрой разработки алгоритмов не только в космосе, но и в земных видах человеческой деятельности. Практическая полезность ДРАКОНа получила высокую оценку. Министерство образования РФ включило его изучение в программу дисциплины «информатика» высшей школы. О лёгкости его усвоения говорит хотя бы тот факт, что он положен в основу игрового учебного пособия по информатике для детей младшего и среднего школьного возраста [135] .
Как отмечает Безель, в своё время Н. И. Лобачевский дал замечательно яркую оценку искусственным языкам: «Чему одолжены своими блестящими успехами науки, слава нынешних времен, торжество ума человеческого? Без сомнения, искусственному языку своему!» [136] . Разделяя эту мысль, автор книги вместе с тем подвергает критике существующие подходы к созданию языков. Он считает, что разработчики языков не должны игнорировать накопленный наукой огромный багаж знаний об устройстве и работе мозга. Концепция искусственных языков нового поколения должна опираться на междисциплинарный подход [135] .
Проблемы понимания и взаимопонимания, продолжает Безель, автор книги рассматривает как ключевые проблемы информатики. Понимаемость программы определяется как свойство программы минимизировать интеллектуальные усилия, необходимые для её усвоения. Одно из неоспоримых достоинств книги состоит в разработке практического метода, позволяющего создать принципиально новый подход к решению проблемы понимания, который, в свою очередь, тесно связан с проблемой улучшения работы ума [135] .
По словам Безеля, автор демонстрирует его на примере языка ДРАКОН. При его разработке была объявлена стратегическая цель: создать наиболее комфортные условия для работы человеческого интеллекта, обеспечить наилучшие возможности для повышения эффективности коллективного разума специалистов. В результате должен появиться общедоступный, предельно легкий в изучении и удобный в работе язык, позволяющий решать проблемы ценою минимальных интеллектуальных усилий по принципу «сделай сам» (то есть без помощи программистов и когнитологов) [135] .
До сих пор создание алгоритмических языков было заветной «вотчиной» математиков. Данная книга представляет собой попытку осуществить своего рода переворот, суть которого в том, что гуманитарные требования к языку выдвигаются на первое место (при этом требование математической строгости, разумеется, аккуратно выполняется). ДРАКОН — первый алгоритмический язык, созданный в рамках нового мировоззрения, органично объединившего идеи психологии, эргономики и математики [135] .
См. также [ править | править код ]
- BPMN
- Событийная цепочка процессов
- CH-1
- Граф потока управления
- Граф-схема алгоритма
- en:Control flow diagram
- en:Event-driven process chain
- en:Automata-based programming (Shalyto’s approach)
- en:LucidChart
Комментарии [ править | править код ]
«…существующие подходы к созданию искусственных языков недостаточны… Разработчики языков не должны игнорировать накопленный наукой огромный багаж знаний об устройстве и работе мозга. Концепция искусственных языков нового поколения должна опираться на междисциплинарный подход» [22] .
Понимаемость программного средства (understandability) — совокупность свойств программного средства, характеризующая затраты усилий пользователя на понимание логической концепции этого программного средства. Примечание. Под логической концепцией подразумеваются основополагающие понятия, принципы и соглашения, придающие системе правил работы пользователя с программным средством согласованный и обоснованный характер и позволяющие логически точно определять конкретное назначение и содержание этих правил [24] .
Безусловной заслугой Никиты Хрущёва является умелое использование первых практических достижений космонавтики для политического и духовного объединения общества. Однако стоит напомнить, что, не жалея средств на развитие космической техники, Хрущев не осмелился нарушить табу, наложенное органами безопасности, на открытие имен истинных авторов наших космических побед. Академик Пётр Капица писал, что автор и организатор такого научного подвига, как запуск первого Искусственного спутника Земли, вполне достоин Нобелевской премии. Нет сомнения, что мировая общественность положительно восприняла бы присуждение Нобелевским комитетом этой премии Главному конструктору ракеты-носителя и первого спутника. Но фамилия Главного конструктора оказалась засекреченной до самой его смерти, а Нобелевские премии анонимным авторам не присуждаются [51] .
1. Среди требований, предъявляемых к современным алгоритмическим языкам, на первое место все чаще выходит понимаемость (comprehensibility) алгоритмов и программ, которая определяется как «свойство программы минимизировать интеллектуальные усилия, необходимые для её понимания». Это объясняется тем, что «в современных условиях качественная программа должна обладать, помимо надежности и эффективности, ещё и такими важнейшими качествами как понимаемость и сопровождаемость» [126] [82] . Наиболее мощным средством для улучшения понимаемости является визуализация алгоритмов и программ: «общепризнанно, что человеческий мозг в основном ориентирован на визуальное восприятие, и люди получают информацию при рассмотрении графических образов быстрее, чем при чтении текста» [126] [127] . 2. … В связи с этим тема «алгоритмы и алгоритмизация» (см. раздел 3 программы) излагается в рамках визуальной парадигмы, что позволяет получить ряд преимуществ: облегчить изучение темы, улучшить эргономические характеристики алгоритмов и т. д. [126] 3. Синтез идей информатики и эргономики полезен тем, что процесс алгоритмизации (который во многих случаях требует значительных трудозатрат) становится менее трудоемким и более ясным. Для этого вводится понятие «эргономичный алгоритм». Излагаются равносильные преобразования алгоритмов, способные улучшить их эргономические характеристики. При этом алгоритмизация и программирование рассматриваются как частный случай более общей проблемы — систематизации, структуризации, представления и формализации человеческих знаний [122] .
Примечания [ править | править код ]
- ↑ абвгд»Технология разработки алгоритмов и программ «ГРАФИТ-ФЛОКС»». OberonCore. Archived from the original (PDF) on 2012-12-27 . Retrieved 27 декабря 2012 года . Check date values in: |accessdate= (help)
- ↑ абв Тышов Г. Н. (1 января 2009). «Интегрированная среда языка ДРАКОН. Скачать». Archived from the original on 2013-01-06 . Retrieved 2 января 2013 года . Check date values in: |date=, |accessdate= (help)
- ↑ абв Митькин С. Б. . «Программа DRAKON Editor. Скачать». SourceForge.net. Archived from the original on 2013-01-06 . Retrieved 2 января 2013 года . Unknown parameter |lang= ignored (help); Check date values in: |accessdate= (help)
- ↑ПРОЛ2
- ↑ДИПОЛЬ
- ↑ Вельбицкий И. В., Ходаковский В. Н., Шолмов Л. И. Технологический комплекс производства программ на машинах ЕС ЭВМ и БЭСМ-6 —М.: Статистика, 1980. — 263с.
- ↑ Межгосударственный стандарт ГОСТ 19.005-85. Единая система программной документации. Р-схемы алгоритмов и программ. Обозначения условные графические и правила выполнения. Unified system for program documentation. R-charts. Graphical chart symbols and conventions for charting. 1985.
- ↑ абвгдеёжз Окулова Л. П. (29 мая 2012 — 31 мая 2012). «Проектирование образовательного процесса в соответствии с требованиями педагогической эргономики». Вестник. Наука и практика . Retrieved 27 декабря 2012 года . Unknown parameter |description= ignored (help); Check date values in: |date=, |accessdate= (help)
- ↑ абМежирицкий, 2008, с. 192
- ↑»История создания языка «ДРАКОН»». Российское трансгуманистическое движение. Archived from the original on 2012-12-27 . Retrieved 27 декабря 2012 года . Check date values in: |accessdate= (help)
- ↑ Н. Бурцева, Е. Петров. (17 мая 2008). «Жирограф и ДРАКОН Пилюгина». Телерадиостудия Роскосмоса. Archived from the original on 2012-12-27 . Retrieved 27 декабря 2012 года . Unknown parameter |description= ignored (help); Check date values in: |date=, |accessdate= (help)
- ↑ абвгдеёПаронджанов, 2001
- ↑ Шалютин С. М. Искусственный интеллект: Гносеологический аспект. — М.: Мысль, 1985. — С. 69-71. — 199 с . о книге
- ↑ Мечковская Н. Б. Социальная лингвистика. — М.: Аспект Пресс, 1996. — С. 157. — 207 с . — ISBN5-7567-0047-1о книге
- ↑ Реформатский А. А. Введение в языковедение: Учебник для вузов. — 5-е изд., исправ. — М.: Аспект Пресс, 2004. — С. 26. — 536 с . — ISBN5-7567-0326-8о книге
- ↑ Солсо Р. Л. Когнитивная психология. — Пер. с англ. — М.: Тривола, 1996. — С. 516. — 600 с . — ISBN5-88415-024-5о книге
- ↑ Коган В. З. К методологии информологического подхода. — Новосибирск: Наука, 1990. — С. 119. — 133 с. — Информатика и культура . — ISBN5-02-029608-2о книге
- ↑ Айверсон К.Е. Нотация как средство мышления — Пер. с англ.. — М.: Мир, 1993. — С. 392-393. — 560 с. — Лекции лауреатов премии Тьюринга . — ISBN5-03-002130-2о книге
- ↑ Цит. по Айверсон К.Е. Нотация как средство мышления — Пер. с англ.. — М.: Мир, 1993. — С. 393. — 560 с. — Лекции лауреатов премии Тьюринга . — ISBN5-03-002130-2о книге
- ↑ Венда В. Ф. Системы гибридного интеллекта: Эволюция, психология, информатика. — М.: Машиностроение, 1990. — С. 151. — 448 с . — ISBN5-217-01006-1о книге
- ↑ Венда В. Ф. Системы гибридного интеллекта: Эволюция, психология, информатика. — М.: Машиностроение, 1990. — С. 5. — 448 с . — ISBN5-217-01006-1о книге
- ↑ Безель Я. Б. 4 // Можно ли улучшить работу ума? Новый взгляд на проблему. Размышления над новой книгой. Т. 73. — Вестник Российской академии наук, 2003. — С. 364 . о книге
- ↑ абСаркисян, 1991
- ↑»Межгосударственный стандарт ГОСТ 28806-90. Качество программных средств. Термины и определения». 1 мая 2005 . Retrieved 28 декабря 2012 . Check date values in: |date=, |accessdate= (help)
- ↑ абв Титова Е. В. Алгоритмический язык Дракон в лингвистике // Сборник работ 68-й научной конференции студентов и аспирантов Белорусского государственного университета в трех частях.. Т. 3. 16—18 мая 2011 г. —. — Минск: БГУ, 2011. . — С. 50—52 . о книге Свойство «Ссылка/Книга» типа «Страница» со значением «Алгоритмический язык Дракон в лингвистике // Сборник работ 68-й научной конференции студентов и аспирантов Белорусского государственного университета в трех частях.» содержит недопустимые символы или неполно и может привести к неожиданным результатам при семантическом аннотировании или запросе.
- ↑ абвгПаронджанов, 2012
- ↑ абв Хайдаров К. А. . «Язык визуального программирования ДРАКОН». Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑ абвПаронджанов, 2010
- ↑ Martin J. Application Development Without Programmers. — Englewood Cliffs, NJ: Prentice Hall Inc., 1982 . о книге
- ↑ Глава 7 // Система управления орбитального корабля // Многоразовый орбитальный корабль «Буран». — М.: Машиностроение, 1995 . — С. 254—269 . — ISBN5-217-02772-Xо книге
- ↑»Система управления (СУ) космического корабля «Буран»». Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑»Система управления (СУ) космического корабля «Буран»». Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑»Бортовой цифровой вычислительный комплекс (БЦВК) космического корабля «Буран»». Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑Межирицкий, 2008, с. 190-193
- ↑ Межирицкий Е. Л., Немкевич В. А., Присс Г. М. (28 января 2004 года). «40 лет Научно-производственному центру автоматики и приборостроения им. академика Н. А. Пилюгина». Archived from the original on 26 января 2007 . Retrieved 28 декабря 2012 . Unknown parameter |description= ignored (help); Check date values in: |archivedate=, |date=, |accessdate= (help)
- ↑ аб Назьмов Р. Б. БЦВК на базе семейства «Бисер 6». — 2008 . о книге
- ↑»Системное и прикладное программирование». Институт прикладной математики им. акад. М. В. Келдыша РАН. Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 года . Check date values in: |accessdate= (help)
- ↑ Крюков В., Петренко А. «Интегрированный подход к разработке крупных программных систем управления реального времени». Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑»Начальник отдела 23 Института прикладной математики РАН Виктор Алексеевич Крюков. Персональная страница» . Retrieved 28 декабря 2012 года . Check date values in: |accessdate= (help)
- ↑ Баранова Т. П., Буликов В. Г., Вершубский В. Ю., Гайфулин С. А., Луцикович В. В., Молчанова Г. Ю., Семенова Т. В., Шура-Бура М. Р. Автоматизированная испытательная система. — М.: ИПМ им. М. В. Келдыша РАН, 2008. . — 14 с . о книге
- ↑»Генеральный конструктор Пилюгинcкого центра Юрий Вадимович Трунов. Биография». Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑ Паронджанов В. Д. Неожиданные уроки космонавтики ХХ века. Новая роль человеческого фактора и когнитивная революция в информационных технологиях. Т. 2. Крылатые космические системы. — М.: Российская инженерная академия, 1995. — С. 337—345 . о книге
- ↑Паронджанов, 2010, с. 47
- ↑ Джесс Рассел, Рональд Кон ДРАКОН (алгоритмический язык). — 2012. — С. 18-19. — 110 с . — ISBN978-5-5130-9553-8о книге
- ↑»Пуски по программе «Морской старт»». Ракетно-космическая корпорация «Энергия». Морской старт. Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑»Хронология пусков». Ракетно-космическая корпорация «Энергия». Морской старт. Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑»Разгонный блок ДМ-SLБ». Федеральное космическое агентство. Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑Паронджанов, 2012, с. 515
- ↑ Паронджанов В. (13 апреля 2009). ««Буран» и язык программирования ДРАКОН». Компьютерра Online . Retrieved 28 декабря 2012 . Check date values in: |date=, |accessdate= (help)
- ↑ Черток Б.Е. Ракеты и люди. — Подлипки — Капустин яр — Тюратам. — М.: РТСофт, 2006. — С. 25. — 656 с . — ISBN5-9900271-7-6о книге
- ↑ Черток Б. Е. Ракеты и люди. От самолетов до ракет. — М.: РТСофт, 2006. — С. 33-34. — 364 с . — ISBN5-9900271-5-Xо книге Регулярное выражение «ISBN» классифицировало значение «ISBN599002715X» как недопустимое.
- ↑ абвгд Шамардина Е. И., Манюнин П. А. Секция 17. Системы управления космических аппаратов и комплексов // Язык программирования «Дракон» и его применения за пределами ракетно-космических проектов. Разработка математической модели и редактора. — ИИЕТ РАН . о книге Ошибка цитирования Неверный тег : название «autogenerated24» определено несколько раз для различного содержимого
- ↑ аб Паронджанов В. Д. Графический синтаксис языка ДРАКОН. Т. 3. — 1995. — С. 45—62. — Программирование . о книге
- ↑ Паронджанов В. Д. Как улучшить работу ума (новые средства для образного представления знаний, развития интеллекта и взаимопонимания). — М.: Радио и связь, 1998, 1999. — 352 с . — ISBN5-256-01211-8о книге
- ↑Паронджанов, 2007
- ↑Паронджанов, 2009
- ↑ Паронджанов В. Д. Каким будет школьный алгоритмический язык ХХI века? >>. Т. 3. — 1994. — С. 77—92. — Информатика и образование . о книге
- ↑ абПаронджанов, 1998
- ↑ Паронджанов В. Д. Занимательная информатика, или Волшебный Дракон в гостях у Мурзика. — М.: Росмэн, 2000. — 160 с . — ISBN5-257-00929-3о книге
- ↑
- ↑ Паронджанов В. Дракон — друг человека. Т. 7. — 1999. — С. 23-26. — Компьютер в школе . о книге
- ↑»drakon / FrontPage». Archived from the original on 2013-01-06 . Retrieved 28 декабря 2012 . Check date values in: |accessdate= (help)
- ↑ абвг Ермаков И. Е., Жигуненко Н. А. Двумерное структурное программирование; класс устремлённых графов. (Теоретические изыскания из опыта языка «ДРАКОН»). — М.: МГУ им. М. В. Ломоносова, 2010. — С. 452—461. — Сборник трудов V Международной конференции «Инновационные информационно-педагогические технологии в системе ИТ-образования» . о книге Ошибка цитирования Неверный тег : название «autogenerated16» определено несколько раз для различного содержимого
- ↑ Часть VII // Теоретические основы языка ДРАКОН. — С. 453—454 . о книге
- ↑ Джесс Рассел, Рональд Кон ДРАКОН (алгоритмический язык). — 2012. — С. 7-8. — 110 с . — ISBN978-5-5130-9553-8о книге
- ↑ Титова Е. В. Часть 3. // Алгоритмический язык Дракон в лингвистике. — Минск: БГУ, 2011. . — С. 50—52. — Сборник работ 68-й научной конференции студентов и аспирантов Белорусского государственного университета в трех частях . о книге
- ↑ аб Безель Я. Б. № 4 // Можно ли улучшить работу ума? Новый взгляд на проблему. Размышления над новой книгой. Т. 73. — 2003. — С. 364—365. — Вестник Российской академии наук . о книге
- ↑ Часть VII. Глава 34. Исчисление икон // Теоретические основы языка ДРАКОН. — С. 429—435 . о книге
- ↑ Часть VI. // Конструктор алгоритмов и формальное описание языка. — С. 393—424 . о книге
- ↑ Часть VII. Глава 35. Метод Ашкрофта-Манны и алгоритмическая структура «силуэт» // Теоретические основы языка ДРАКОН. — С. 436—448 . о книге
- ↑ Часть VII. Глава 36. Визуальный структурный подход к алгоритмам и программам (шампур-метод) // Теоретические основы языка ДРАКОН. — С. 449—472 . о книге
- ↑ Часть VII // Теоретические основы языка ДРАКОН. — С. 449—472 . о книге
- ↑Примерная программа дисциплины «Информатика». Издание официальное. — М.: Госкомвуз, 1996. — С. 3-4. — 21 с . о книге
- ↑ абвгдеёПышкин, 2005
- ↑Паронджанов, 2010, с. 80-81
- ↑Паронджанов, 2012, с. 255
- ↑Паронджанов, 2012, с. 265
- ↑ Приклонский, Пётр. (13 декабря 2011). «Практический вывод по результатам эксплуатации системы ИС Дракон — Транслятор Дракон-Си — Keil». Archived from the original on 2013-01-06 . Retrieved 2 января 2013 года . Check date values in: |date=, |accessdate= (help)
- ↑ Приклонский, Пётр. (25 июня 2010). «Транслятор файла *.drt ИС Дракон в текст Си-программ». Archived from the original on 2013-01-06 . Retrieved 2 января 2013 года . Check date values in: |date=, |accessdate= (help)
- ↑ абПавлова, 2002, с. 25-33
- ↑Паронджанов, 2001, с. 31-32
- ↑ абСаркисян, 1991, с. 17
- ↑ Ермаков И. Е., Жигуненко Н. А. Двумерное структурное программирование; класс устремлённых графов. (Теоретические изыскания из опыта языка «ДРАКОН»). — М.: МГУ, 2010. — С. 452—461. — Сборник трудов V Международной конференции «Инновационные информационно-педагогические технологии в системе ИТ-образования», Москва, 8-10 ноября 2010 . о книге
- ↑Паронджанов, 2012, с. 265-266
- ↑ аб Робертсон Л. А. Программироавние — это просто. Пошаговый подход / Перевод с 4-го английского издания. — М.: БИНОМ. Лаборатория знаний, 2008. — С. 265. — 383 с. — Программисту . — ISBN978-5-94774-318-0о книге
- ↑ Вельбицкий И. В. № 13 // Знакомьтесь, Р-технология // НТР: Проблемы и решения. — 1987. — С. 5 . о книге
- ↑ Майерс Г. Надежность программного обеспечения. — М.: Мир, 1980. — С. 150 . о книге
- ↑Толковый словарь по вычислительным системам. — М.: Машиностроение, 1991. — С. 193. — 560 с . — ISBN5-217-00617-Xо книге
- ↑ Семёнов Н. М. Программирование и основы алгоритмизации. Учебное пособие. — Томск: Томский политехнический университет, 2009. — С. 71. — 90 с . о книге
- ↑ абвгд Дробушевич Л. Ф., Конах В. В. Анализ топологий визуальных нотаций для записи алгоритмов и программ = Information Technologies and Systems 2011 (ITS 2011) : Proceeding of The International Conference, BSUIR, Minsk, 26th October 2011. . — Минск: БГУИР, 2011. — С. 212—213. — 306 с. — Информационные технологии и системы 2011 (ИТС 2011) : материалы международной научной конференции, БГУИР, Минск, Беларусь, 26 октября 2011 г. . — ISBN978-985-488-816-3о книге
- ↑ Очков В. Ф., Пухначев Ю. В. 128 советов начинающему программисту. — М.: Энергоатомиздат, 1992. — С. 21 . о книге
- ↑Павлова, 2002, с. 30
- ↑ абв Дробушевич Л. Ф., Конах В. В. ч. 1 // Способы визуализации алгоритмов и программ. — Минск: БГУ, 2011. — С. 347. — 519 с. — Международный конгресс по информатике : информационные системы и технологии : материалы международного научного конгресса (Республика Беларусь, Минск, 31 окт. — 3 нояб. 2011 г. в 2 ч.) . — ISBN978-985-518-563-6о книге
- ↑ Фокин Ю. Г. Теория и технология обучения: деятельностный подход: учебное пособие для студентов высших учебных заведений . — 3-е изд., испр. . — М.: Издательский центр «Академия», 2008. — С. 233. — 240 с . — ISBN978-5-7695-5259-5о книге
- ↑Паронджанов, 2012, с. 32
- ↑ Безель Я. Б. № 4 // Можно ли улучшить работу ума? Новый взгляд на проблему. Размышления над новой книгой. Т. 73. — 2003. — С. 365. — Вестник Российской академии наук . о книге
- ↑Паронджанов, 2001, с. 266
- ↑ абвг Дал У., Дейкстра Э., Хоор К. Заметки по структурному программированию. — М.: Мир, 1975. — С. 28 . о книге
- ↑Паронджанов, 2001, с. 248—266
- ↑ГОСТ 19.701—90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. — Издательство стандартов, 1991. — С. 14 . о книге Свойство «Ссылка/Книга» типа «Страница» со значением «ГОСТ 19.701—90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения» содержит недопустимые символы или неполно и может привести к неожиданным результатам при семантическом аннотировании или запросе.
- ↑ГОСТ 19.701—90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. — Издательство стандартов, 1991. — С. 23 . о книге Свойство «Ссылка/Книга» типа «Страница» со значением «ГОСТ 19.701—90. Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения» содержит недопустимые символы или неполно и может привести к неожиданным результатам при семантическом аннотировании или запросе.
- ↑ Mitkin S.B. (октябрь, 2011). «DRAKON: The Human Revolution in Understanding Programs». pp. 11–12. Archived from the original (PDF) on 2013-01-06. Check date values in: |date= (help)
- ↑Надишаускене, 2012
- ↑Денисов, 2001
- ↑Неотложная медицинская помощь, 2012
- ↑Денисов, 2001, с. 641-642
- ↑Денисов, 2001, с. 651-654
- ↑Денисов, 2001, с. 677-679
- ↑Денисов, 2001, с. 680-683
- ↑Денисов, 2001, с. 684-686
- ↑Денисов, 2001, с. 696-697
- ↑Паронджанов, 2012, с. 491
- ↑Надишаускене, 2012, с. 78-79
- ↑Надишаускене, 2012, с. 86-87
- ↑Надишаускене, 2012, с. 111-112
- ↑Надишаускене, 2012, с. 136-137
- ↑Надишаускене, 2012, с. 188-189
- ↑Надишаускене, 2012, с. 190-191
- ↑Руководство для врачей скорой помощи. — 2-е изд., перераб. и доп. — Л. : Медицина, 1990. — С. 3. — 544 с . — ISBN5-225-01503-4о книге
- ↑Неотложная медицинская помощь, 2012, с. 5
- ↑Неотложная медицинская помощь, 2012, с. 19
- ↑ абПримерная программа дисциплины «Информатика». Издание официальное. — М.: Госкомвуз, 1996. — 21 с . о книге
- ↑ Раздел 3. Алгоритмы и алгоритмизация. Визуализация алгоритмов // Примерная программа дисциплины «Информатика». Издание официальное. — М.: Госкомвуз, 1996. — С. 3-4. — 21 с . о книге
- ↑»Профиль академика Юрия Журавлева на сайте Российской академии наук». 24 декабря 2010. Archived from the original on 2013-01-06 . Retrieved 2 января 2013 года . Check date values in: |date=, |accessdate= (help)
- ↑ Приложение. Дополнительная информация для преподавателей. Обоснование концепции и структуры учебного курса информатики. // Примерная программа дисциплины «Информатика». Издание официальное. — М.: Госкомвуз, 1996. — С. 13-16. — 21 с . о книге
- ↑ абв Приложение. Дополнительная информация для преподавателей. Обоснование концепции и структуры учебного курса информатики. // Примерная программа дисциплины «Информатика». Издание официальное. — М.: Госкомвуз, 1996. — С. 15. — 21 с . о книге
- ↑ Вельбицкий И. В., Ковалев А. А., Лизенко С. Л. № 4 // Графический интерфейс представления алгоритмов и программ. — 1988. — С. 42. — Управляющие системы и машины . о книге
- ↑ абПримерная программа дисциплины «Информатика». Издание официальное. — М.: Госкомвуз, 1996. — С. 16. — 21 с . о книге
- ↑Примерная программа дисциплины «Информатика». Издание официальное. — М.: Госкомвуз, 1996. — С. 15-16. — 21 с . о книге
- ↑ Горячев А. В. Секция 1. Цели, содержание и методика преподавания информатики и информационных технологий // Развитие и модернизация курса информатики для начальной школы «Информатика в играх и задачах». — М.: МИФИ, 2003. — Международный конгресс конференций «Информационные технологии в образовании» («ИТО-2003») 16-20 ноября 2003 г., Москва. . о книге
- ↑ Часть I. Основное общее образование \ Информатика и ИКТ // Федеральный компонент государственного стандарта общего образования. — М.: 2004. — С. 124—130 . — ISBN5-7834-0118-8о книге
- ↑ Паронджанов В. Д. Занимательная информатика. — М.: Дрофа, 2007. — 192 с . — ISBN978-5-358-01603-3о книге
- ↑ Паронджанов В.Д. Занимательная информатика. — М.: Росмэн, 2000. — 160 с . — ISBN5-257-00929-3о книге
- ↑ Беляков Е. 13 марта 2001, № 10 // Новый алгоритм: раздевайся и быстро ложись спать! Диалог на языке «Дракона». — С. 16. — Учительская газета . о книге
- ↑ абвгд Безель Я. Б. № 4 // Можно ли улучшить работу ума? Новый взгляд на проблему. Размышления над новой книгой. Т. 73. — 2003. — С. 363—365. — Вестник Российской академии наук . о книге
- ↑»Речь H.И. Лобачевского «О важнейших предметах воспитания» на торжественном собрании Казанского Императорского университета 5 июля 1828 г., в 1-ю годовщину его пребывания на посту ректора». Казанский Государственный Университет. Archived from the original on 3 марта 2009 . Retrieved 2 января 2013 года . Check date values in: |archivedate=, |accessdate= (help)
Литература [ править | править код ]
- Паронджанов В. Д. Язык ДРАКОН. Краткое описание. — М.: 2009. — 124 с . о книге
- Паронджанов В. Д. Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации. — М.: ДМК Пресс, 2012. — 520 с . — ISBN978-5-94074-800-7о книге(Учебное пособие по языку ДРАКОН подготовлено в соответствии с «Примерной программой дисциплины „Информатика“. Издание официальное. — М.: Госкомвуз, 1996. — 21 с. / См. разделы 3 и 4, а также Приложение, пункты 1-7.»)
- Паронджанов В. Д. Дружелюбные алгоритмы, понятные каждому. Как улучшить работу ума без лишних хлопот. — М.: ДМК-пресс, 2010. — 464 с . — ISBN978-5-94074-606-5о книге
- Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто!. — М.: Дело, 2001. — 360 с . — ISBN5-7749-0211-0о книге
- Паронджанов В. Д. Почему мудрец похож на обезьяну, или Парадоксальная энциклопедия современной мудрости. — М.: РИПОЛ Классик, 2007. — С. 297-434. — 1154 с . — ISBN978-5-386-00216-9о книге
- Паронджанов В. Д. Учебное пособие для учащихся основной школы по алгоритмике. — М.: Дрофа, 2007. — 192 с . — ISBN978-5-358-01603-3о книге
- Паронджанов В. Д. Занимательная информатика. — М.: Росмэн, 1998. — 152 с . — ISBN2-257-00551-4о книге
- Начальная неотложная акушерская помощь. Учебник.. — Литва: Центр исследования кризисов, Университет наук здоровья Литвы, 2012. — 204 с . — ISBN978-609-8033-61-8о книге
- Неотложная медицинская помощь. Материалы курса. — Литва: Центр исследования кризисов, Каунасский медицинский университет, 2012. — 265 с . о книге
- Д. А. Щелкунов, П. В. Павлов, И. А. Князев. № 10 // Средство визуального программирования «Силуэт». — 2003. — Приборостроение и средства автоматизации. Энциклопедический справочник . о книге
- Тюгашев А. А. Графические языки программирования и их применение в системах реального времени. — Самара: Самарский научный центр РАН, 2009. — 98 с . — ISBN978-5-93424-454-6о книге
- Пышкин Е. В. Структурное проектирование: основание и развитие методов. С примерами на языке C++: Учеб. пособие. — СПб.: Политехнический университет, 2005. — 324 с . о книге
- Ю. И. Рогозов, А. А. Дубровский, А. С. Свиридов. 12 (89) // Новый подход реализации идеи «программирование без программиста». — Таганрог: ТТИ ЮФУ (Южный федеральный университет), 2008. — С. 186—193. — Известия ЮФУ. Технические науки. Тематический выпуск «Перспективные системы и задачи управления» . о книге
- Павлова Н. Ф. Стратегическое планирование развития территориальных социальных образований в схемах. — Екатеринбург: Уральское отделение РАН, 2002. — 119 с . — ISBN5-7691-1400-2о книге
- Осипова Н. А., Рихванов Л. П., Кропачев А. В. Создание экспертно-обучающей системы на базе алгоритмического подхода для учебного курса «техногенные системы и экологический риск». — Томский политехнический университет . о книге
- Саркисян А. А. Повышение качества программ на основе автоматизированных методов. — М.: Радио и связь, 1991. — 160 с . — ISBN5-256-00629-0о книге
- Штурманы ракет. — М.: БЛОК-Информ-Экспресс, 2008. — 384 с . — ISBN978-5-93735-008-4о книге
- Практическое руководство для врачей общей (семейной) практики. — М.: ГЭОТАР-МЕД, 2001. — 720 с . — ISBN5-9231-0050-9о книге
- Шамардина Е. И., Манюнин П. А. Секция 17. Системы управления космических аппаратов и комплексов // Язык программирования «Дракон» и его применения за пределами ракетно-космических проектов. Разработка математической модели и редактора. — ИИЕТ РАН . о книге
- Созоров Н. Г., Трошин М. В. Дракон-редактор как основное звено в формализации целевых дидактических ресурсов для проектирования интерактивного учебного курса. — Материалы региональной научно-методической конференции ИДНО Томского политехнического университета «Электронные дидактические материалы в инженерном образовании» 11-12 октября 2009 г. . о книге
- Гришаева О. В. Алгоритмический подход при организации учебно-исследовательской работы студентов на лабораторно-практических занятиях по органической химии. — Кемеровская государственная медицинская академия. — Университетская научно-методическая конференция Томского политехнического университета «Совершенствование содержания и технологии учебного процесса», г. Томск, 9—10 февраля 2010 г. . о книге Свойство «Ссылка/Книга» типа «Страница» со значением «Алгоритмический подход при организации учебно-исследовательской работы студентов на лабораторно-практических занятиях по органической химии» содержит недопустимые символы или неполно и может привести к неожиданным результатам при семантическом аннотировании или запросе.
- Титова Е. В. Часть 3. // Алгоритмический язык Дракон в лингвистике. — Минск: БГУ, 2011.. — С. 50—52. — Сборник работ 68-й научной конференции студентов и аспирантов Белорусского государственного университета в трех частях . о книге
- Дробушевич Л. Ф., Конах В. В. ч. 1 // Способы визуализации алгоритмов и программ. — Минск: БГУ, 2011. — С. 345-351. — 519 с. — Международный конгресс по информатике : информационные системы и технологии : материалы международного научного конгресса (Республика Беларусь, Минск, 31 окт. — 3 нояб. 2011 г. в 2 ч.) . — ISBN978-985-518-563-6о книге
Ссылки [ править | править код ]
- Официальный сайт «Визуальный язык ДРАКОН»
- Официальный форум сайта «Визуальный язык ДРАКОН»
- Дополнительный сайт «Алгоритмический язык ДРАКОН»
- Сергей Ефанов. Программирование микроконтроллеров на ДРАКОНе.
- Степан Митькин. Программа DRAKON Editor Скачать
- Первый видеоролик по программе DRAKON Editor (DRAKON Editor 1.8 Gameplay)
- Второй видеоролик по программе DRAKON Editor (DRAKON Editor and Dijkstra’s algorithm)
- Mitkin S.B. DRAKON: The Human Revolution in Understanding Programs. — October 2011. — 33p.
- Геннадий Тышов. Интегрированная среда разработки языка ДРАКОН «ИС Дракон». Скачать
- Дополнительный форум «Обсуждение программы ИС Дракон» Геннадия Тышова
- Сергей Ефанов. Первый видеоролик. Использование языка ДРАКОН для программирования микроконтроллеров с помощью ИС Дракон. Часть 1
- Сергей Ефанов. Второй видеоролик. Использование языка ДРАКОН для программирования микроконтроллеров с помощью ИС Дракон. Часть 2
- Сергей Ефанов. Третий видеоролик. Использование языка ДРАКОН для программирования микроконтроллеров с помощью ИС Дракон. Часть 3
- Сергей Ефанов. Четвертый видеоролик. Использование языка ДРАКОН для программирования микроконтроллеров с помощью ИС Дракон. Часть 4
- Дмитрий Дагаев. Алаверды Дракону. (Использование языка ДРАКОН при проектировании АСУ в атомной энергетике).
- Владислав Жаринов. Драконографика. Обзор языка и исчисления дракон-схем.
Дракон (язык)

ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность) — визуальный алгоритмический язык, созданный в рамках космической программы Буран. Разработка данного языка была начата в 1986 г. под руководством Владимира Паронджанова. В разработке языка принимали участие Российское космическое агентство (НПЦ автоматики и приборостроения им. акад. Н.А. Пилюгина, г. Москва) [1] . и Российская академия наук (Институт прикладной математики им. акад. М.В. Келдыша) [2] .
Одной из задач, ставившихся перед разработчиками, было создание единого универсального языка, который должен был заменить специализированные языки ПРОЛ2 (для разработки бортовых комплексных программ Бурана), ДИПОЛЬ (для создания наземных программ Бурана) и ЛАКС (для моделирования). [3] .
Работы по разработке языка были закончены в 1996г. (спустя 3 года после закрытия программы Буран), когда была создана автоматизированная технология проектирования программных систем (CASE-технология) Графит-Флокс [4] . Эта технология эксплуатируется начиная с 1996г. во многих крупных космических программах: международный проект Морской старт, разгонный блок космических аппаратов Фрегат, модернизированная ракета-носитель Протон-М и др.
Правила языка ДРАКОН по созданию диаграмм оптимизированы для восприятия алгоритмов человеком. Таким образом, язык является одним из инструментов усиления интеллекта.
Язык ДРАКОН может удачно применяться для специфицирования протоколов взаимодействия (например, клиент-серверных) [5] .
См. также
Внешние ссылки
- Паронджанов В.Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! М.: Дело, 2001. — 360с. В этой книге наиболее полное описание языка ДРАКОН
- Паронджанов В.Д. Язык ДРАКОН. Краткое описание. В этом материале кратко изложены наиболее важные идеи языка ДРАКОН.
- Форум «Визуальный язык ДРАКОН» на сайте OberonCore.ru На этом форуме можно скачать дракон-редактор.
- Раздел про язык ДРАКОН на сайте OberonCore.ru
- ДРАКОН Материал из Викинауки, свободной научной энциклопедии wikia science
- ДРАКОН Материал из Викиучебника
- Вики для кооперации разработчиков программной оболочки языка ДРАКОН
- Форум по русским языкам программирования и средств разработки
- Русский язык программирования Глагол
- Русский язык программирования Профт 5
Источники
- ↑http://www.npcap.ru/, Научно-производственный центр автоматики и приборостроения им. акад. Н.А. Пилюгина, г. Москва
- ↑http://www.keldysh.ru/, Институт прикладной математики им. акад. М.В. Келдыша, г. Москва)
- ↑http://www.transhumanism-russia.ru/content/view/331/116/ — История создания языка «ДРАКОН» — Российское Трансгуманистическое Движение
- ↑http://store.oberoncore.ru/lib/paper/grafit_A4.pdf — Технология разработки алгоритмов и программ «Графит-Флокс»
- ↑http://forum.oberoncore.ru/viewtopic.php?f=62&t=1148
Wikimedia Foundation . 2010 .