Как работать на программе драконе. Дракон восстал из пепла, как птица феникс. Визуальные логические формулы

Разработчик программы Тышов Геннадий Николаевич
г. Северодвинск, работал в ОАО «СПО «Арктика», www.spoarktika.ru .

Программа «ИС Дракон» предназначена для:
- практической алгоритмизации вашей деятельности,
- формулирования ваших задач,
- формализации ваших знаний.

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

Программа «ИС Дракон» (Интегрированная Среда Дракон) является средой работы с Дракон-алгоритмами.
С помощью «ИС Дракон» внедряется алгоритмическая культура во многие виды деятельности.

Скачать программу «ИС Дракон»

Указания пользователю

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

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

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

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

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

Указания программисту

    Пользователь может иметь текстовый файл с шаблонами программного кода на выбранном языке программирования, скопировать его в окно сообщений. Выбирать шаблон в окне сообщений и используя системный буфер переносить текст шаблона в тексты алгоритма.

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

    Пользователь может установить режим сборки программного кода с заменой отсутствующего в иконах Р-текста на комментарий с текстом «……Нет текста ». Это позволяет блокировать сообщения об ошибке и выполнять трансляцию на ранних этапах разработки алгоритма.

    Пользователь может установить режим формирования программного кода с включение кода трассировки выполнения отмеченных икон.

    Пользователь может для Дракон-листа формировать текст листинга алгоритма. Текст листинга алгоритма позволит программными средствами сравнивать версии алгоритма, находить места изменений.

    Пользователь может для схемы Силуэт установить свойство Автомат для выполнения автоматного программирования конечных автоматов по технологии SWITCH . Возможность введена по предложению С.Д. Ефанова.

    Рекомендуется, к Дракон-листам с алгоритмами и кодами программ, формировать и Дракон-листы с инструкциями по эксплуатации ПО для пользователей. Инструкции передаются пользователям вместе с ИС Дракон. Такая практика работы в ИС Дракон у А.А. Араптанова в системе 1С.

В программе есть средства настройки на различные языки программирования. Программа позволяет производить сборку Дракон-схем в исходные тексты программ на языках имеющих операторы: комментарий, метка, безусловный переход (GOTO), переход по условию; к примеру языки семейств 1С, Delphi, C. Сборка программного кода икон в файл производится внутренним Маршрутным транслятором.

Заставка программы ИС Дракон


Что такое дракон-лист?


    Дракон-лист отображен в режиме программирования.

    Точки ввода текста (до 4-х квадратов) являются A, B, S, P-текстами.

    Точки A, B предназначены для ввода сопровождающей информации, точка P - для ввода программного кода, точка S - для просмотра собранного программного кода. При наличии текста квадрат становится темным.

    Знаком? отмечены обязательные места ввода текста в иконы.

Редактирование дракон-схемы

Икона 3 выбрана для редактирования.
Знаком «?» в иконах Адрес и Ветка отмечено отсутствие передачи управления. Передача управления визуально отображается штриховой линией.


Особенности

Отличительной особенностью программы является высокая степень автоматизации ввода графики.

Вторая особенность - каждая икона имеет несколько (до 4-х) уровней ввода текста. Один из этих уровней отображается на «теле» иконы, другой может содержит фрагмент программного кода. Оставшиеся уровни (A-текст, B-текст, P-текст, S-текст) могут использоваться произвольно, например, содержать подробные комментарии, ссылки и сопроводительную информацию.

Для отображения бизнес-процессов иконы дополняются наименованием участников бизнес процесса.

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

Описание формата DRT

Методические указания по работе с ИС Дракон

Печать выполнять так: сохраните графический файл, печатайте его в PAINT-е. Там есть возможности печати с масштабированием и раскладкой на несколько листов формата А4, есть настройки для печати.

Уроки ДРАКОНа

Для освоения приёмов работы с программой ИС Дракон полезно посмотреть видеоролики. Показан процесс от первого запуска редактора до загрузки полученной прошивки в микропроцессор.

Дополнительный сайт программы «ИС Дракон»

Текстовые варианты и файлы Дракон-схем уроков

Черновики Геннадия Тышова

Сопроводительная информация может содержат указание на законодательные и организационно-распорядительные документы, содержать фрагменты документов.

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

Программа ИС Дракон разработана на основе визуальных алгоритмических языков Дракон и Гном созданных В.Д. Паронджановым и государственного стандарта ГОСТ 19.701-90 (ISO 5807–85). Идеи и цели языка Дракон получили развитие для практического и широкого применения.

Процедурное знание , алгоритм - описывает порядок действий с объектом, отображено в Дракон-схемах вида Примитив и Силуэт .
Декларативное знание - отвечает на вопрос: «Что это такое?», отображено в Дракон-схеме вида Гном .

Создание и редактирование Дракон-схем выполняется в ИС Дракон.

Дракон-алгоритмы на планшетниках
Некоторые вопрос использования Дракон-алгоритмов созданных в ИС Дракон рассмотрены на форуме в теме "ИС Дракон и Андроид" .

ИС Дракон работает в других операционных системах
В UNIX-подобными ОС работает с программой Wine.
В MacOS работает с программой Parallels Desktop.

Действия к иконам 19 и 21 выполняются участниками бизнес-процесса.
Дракон-лист отображен в режиме программирования.
Точки ввода текста (до 4-х квадратов) являются A,B,S,P-текстами: A,B для ввода сопровождающей информации, P для ввода программного кода, S для просмотра собранного программного кода. При наличии текста квадрат темный.
Лист можно сопроводить колонтитулами: верхний средний, нижний левый, нижний средний, нижний правый.
Знаком »?« отмечены обязательные места ввода текста в иконы, места ввода иконы в блоке икон для обеспечения функциональности блока.

Знаете ли Вы, в чем ложность понятия "физический вакуум"?

Физический вакуум - понятие релятивистской квантовой физики, под ним там понимают низшее (основное) энергетическое состояние квантованного поля, обладающее нулевыми импульсом, моментом импульса и другими квантовыми числами. Физическим вакуумом релятивистские теоретики называют полностью лишённое вещества пространство, заполненное неизмеряемым, а значит, лишь воображаемым полем. Такое состояние по мнению релятивистов не является абсолютной пустотой, но пространством, заполненным некими фантомными (виртуальными) частицами. Релятивистская квантовая теория поля утверждает, что, в согласии с принципом неопределённости Гейзенберга, в физическом вакууме постоянно рождаются и исчезают виртуальные, то есть кажущиеся (кому кажущиеся?), частицы: происходят так называемые нулевые колебания полей. Виртуальные частицы физического вакуума, а следовательно, он сам, по определению не имеют системы отсчета, так как в противном случае нарушался бы принцип относительности Эйнштейна, на котором основывается теория относительности (то есть стала бы возможной абсолютная система измерения с отсчетом от частиц физического вакуума, что в свою очередь однозначно опровергло бы принцип относительности, на котором постороена СТО). Таким образом, физический вакуум и его частицы не есть элементы физического мира, но лишь элементы теории относительности, которые существуют не в реальном мире, но лишь в релятивистских формулах, нарушая при этом принцип причинности (возникают и исчезают беспричинно), принцип объективности (виртуальные частицы можно считать в зависимсоти от желания теоретика либо существующими, либо не существующими), принцип фактической измеримости (не наблюдаемы, не имеют своей ИСО).

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

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

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

Вы что-нибудь слышали о языке программирования ДРАКОН? Мы - нет. Но вот наш читатель утверждает, что ДРАКОН уже внесён в программу курса информатики высшей школы.

Вы что-нибудь слышали о языке программирования ДРАКОН? Мы - нет. Но вот наш читатель утверждает, что ДРАКОН уже внесён в программу курса информатики высшей школы. Орфография и пунктуация автора сохранены. - прим. ред.

В 1976 году в СССР в обстановке строжайшей секретности началась разработка многоразового транспортного космического корабля Буран в рамках проекта "Буран-Энергия". Это был грандиозный проект. В его создании принимали участие 86 министерств и ведомств и 1286 предприятий СССР (всего около 2,5 миллиона человек).

Свой первый и единственный космический полёт "Буран" совершил 15 ноября 1988 года. Орбитальный корабль был запущен c космодрома Байконур при помощи ракеты-носителя "Энергия". После облёта Земли Буран произвёл посадку на специально оборудованном аэродроме "Юбилейный" на Байконуре. Полёт прошёл без экипажа, полностью в автоматическом режиме. В отличие от американского Шаттла, который может совершать посадку только на ручном управлении. В связи с распадом СССР и трудностями переходного периода в 1990 году работы по программе "Энергия—Буран" были приостановлены, а в 1993 программа окончательно закрыта.

Разработка языков программирования для Бурана

При разработке Бурана проблема разработки и отработки программного обеспечения считалась одной из наиболее сложных. Первоначально предполагалось, что для решения задачи потребуется несколько тысяч программистов. Следует учесть, что наши программисты привыкли писать программы на ассемблере, так как объем памяти бортового компьютера "Бисер-4" в тот период был очень ограниченным.

В материалах Института прикладной математики им. М.В. Келдыша РАН о трудностях и свершениях того периода говорится так:

"В 1983 году разработчики космического корабля Буран обратились в Институт [прикладной математики] с просьбой помочь в разработке бортового программного обеспечения и программного обеспечения наземных испытаний корабля. По их оценкам для этой работы требовалось несколько тысяч программистов. После изучения задачи было решено разработать проблемно-ориентированные языки, основанные на терминах, понятиях и форме представления алгоритмов управления и испытаний, используемых разработчиками корабля. Реализация этих языков позволила привлечь к созданию бортового и испытательного программного обеспечения самих разработчиков корабля - авторов алгоритмов управления и испытаний. Разработка языков и соответствующих инструментальных средств была выполнена небольшим коллективом высококвалифицированных программистов Института прикладной математики в чрезвычайно сжатые сроки. Для разработки бортового программного обеспечения был создан специализированный язык реального времени ПРОЛ2 и базирующаяся на нем система автоматизации программирования и отладки САПО ПРОЛ2… Для разработки программного обеспечения наземных испытаний корабля был создан проблемно-ориентированный язык ДИПОЛЬ и базирующаяся на нем система автоматизации программирования и отладки"…

Таким образом, чтобы решить проблему нехватки программистов при создании Бурана по нашей просьбе Институт прикладной математики РАН создал два русскоязычных языка:

  • язык реального времени ПРОЛ2 для разработки бортовых комплексных программ (автор Виктор Крюков)
  • проблемно-ориентированный язык для разработки программ наземных испытаний ДИПОЛЬ (автор Владимир Луцикович)

Кроме того, в Пилюгинском центре под руководством Константина Федорова был разработан язык ЛАКС для моделирования. Таким образом, появились три новых языка: ПРОЛ2, ДИПОЛЬ и ЛАКС.

Язык ДРАКОН родился в космической колыбели

Хотя языки успешно решали поставленные задачи, стало ясно, что узкая специализация языков мешает делу. Эту мысль в 1986 году высказал начальник комплексного отделения Юрий Трунов (впоследствии Генеральный конструктор и Генеральный директор Пилюгинского центра). Трунов вызвал к себе начальника лаборатории комплексной разработки вычислительной системы Бурана Владимира Паронджанова и поручил ему создать универсальный язык, способный заменить три вышеназванных. Однако Паронджанов решил поставить задачу иначе. Он полагал, что новый язык должен не только удовлетворять практическим нуждам космической техники, но и решать предельно широкий круг задач, выходящих далеко за рамки традиционного программирования.

В связи с этим при создании языка ДРАКОН были выдвинуты необычные для программистов, математиков и "технарей" гуманитарные требования.

1. Улучшить работу человеческого ума.
2. Предложить эффективные средства для описания структуры человеческой деятельности.
3. Предоставить человеку такие языковые средства, которые резко упрощают восприятие сложных процедурных проблем и общение с коллегами, делают непонятное понятным и за счет этого буквально заставляют человека мыслить отчетливо, глубоко и продуктивно. В этих условиях вероятность заблуждений, просчетов и ошибок неизбежно падает, а производительность растет.
4. Радикально облегчить межотраслевое и междисциплинарное общение между представителями разных организаций, ведомств, отделов, лабораторий, научных школ и профессий.
5. Устранить или уменьшить барьеры взаимного непонимания между работниками различных специальностей (врачами и физиками, математиками и конструкторами, биологами и экономистами и т. д.), а также программистами и теми, у кого аллергия к любому программированию.
6. Добиться кардинального улучшения качества программного обеспечения по критерию "понимаемость алгоритмов и программ".

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

Разработка нового языка и системы программирования началась в 1986. Через 11 лет на базе ДРАКОНА была построена автоматизированная технология проектирования алгоритмов и программ (CASE-технология) под названием "ГРАФИТ-ФЛОКС".

Все работы были завершены к 1996 году. Затем язык ДРАКОН и система ГРАФИТ-ФЛОКС поступили в эксплуатацию. С их помощью были разработаны алгоритмы и программы доразгонного модуля космических аппаратов Международного проекта Морской старт. В общей сложности на разработку и отработку программного обеспечения и других элементов системы управления ушло три года. К 1999 году все работы были закончены. Система была готова к старту.

Первый пуск ракетного комплекса "Морской старт" состоялся 28 марта 1999 года. Он произошел в 5 час. 30 мин. по московскому времени (27 марта 1999 г. в 18 час. 30 мин. по тихоокеанскому времени) cо стартовой платформы "Одиссей" в Тихом океане в районе островов Кирибати.

Этот пуск был боевым крещением языка ДРАКОН и технологии создания программ "Графит-Флокс". Он убедительно продемонстрировал их эффективность и надежность. С тех пор по программе Морской старт проведено 29 ракетных пусков. Последний пуск состоялся 24 сентября 2008.
 Язык ДРАКОН успешно используется и во многих других космических программах:

  • разгонный блок космических аппаратов "Фрегат";
  • модернизированная ракета-носитель "Протон-М";
  • доразгонный модуль космических аппаратов ДМ-SL-Б (проект "Старт в пустыне", или "Наземный старт") и др.

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

Программирование без программистов

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

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

Секреты космических разработок - народному хозяйству

ДРАКОН универсален. Он может применяться для наглядного представления и быстрой разработки алгоритмов не только в "космосе", но и в "земных" видах человеческой деятельности. Практическая полезность ДРАКОНА получила высокую оценку. Можно предположить, что язык ДРАКОН получит широкое распространение в самых различных областях, в том числе в системе образования. В свое время Никлаус Вирт, автор языка Паскаль, посчитал, что Паскаль должен быть самым первым языком, с которого следует начинать изучение программирования. Эта точка зрения стала почти общепринятой.

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

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

Сегодня эта роль переходит к визуальному языку ДРАКОН. Именно ДРАКОН становится самым простым, легким, удобным и логически стройным языком, с которого надо начинать изучение алгоритмизации и программирования.

Дракон в системе образования

В 1996 году Государственный комитет по высшему образованию Российской Федерации включил изучение языка ДРАКОН в программу курса информатики высшей школы. Этот факт нашел отражение в документе Госкомвуза под названием:

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

История создания языка "ДРАКОН"

Язык ДРАКОН был создан прежде всего как инструмент, обеспечивающий безукоризненное взаимопонимание между людьми. Он возник в результате обобщения опыта, накопленного при проектировании космического корабля «Буран».

Графический язык ДРАКОН специально сконструирован, чтобы превратить сложный алгоритм в простую картинку(дракон-схему), обеспечивающую быстрое и легкое понимание по принципу «Взглянул - и сразу понял»! Часть 1. ДРАКОН родился в космической колыбели
Часть 2. Язык ДРАКОН открывает калитку в царство понятных алгоритмов
Часть 3. Путь к мудрости. Язык ДРАКОН и фундаментальные проблемы цивилизации

Часть 1. Язык «ДРАКОН» родился в космической колыбели, но очень скоро вырос из «коротких космических штанишек»


`` Слайд 1. Графический язык ДРАКОН специально сконструирован, чтобы превратить сложный алгоритм в простую картинку(дракон-схему), обеспечивающую быстрое и легкое понимание по принципу «Взглянул - и сразу понял»! ’’

Николай Пилюгин и его детище.

Истоки «дракона»

Язык ДРАКОН разработан совместными усилиями Российского космического агентства (Научно-производственный центр автоматики и приборостроения имени академика Н.А. Пилюгина, г. Москва) и Российской академии наук (Институт прикладной математики имени академика М.В. Келдыша, г. Москва).

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

В один из юбилеев шефа прозвучали посвященные ему строки:

Ракета - она как слепая коза!

Чтоб был в ней и смысл, и лоск,

Ракете нужно иметь глаза

И самое главное - мозг!

И вы среди вечных забот и шума,

Как первенца учит мать,

Учили ракеты смотреть и думать,

А это значит - летать!

Запуск первого спутника в 1957 году потряс весь мир и застал американцев врасплох. Полет Юрия Гагарина в 1961 году стал триумфом советской науки. Воплотились в жизнь и стали явью фантастические проекты национального героя СССР - легендарного конструктора Сергея Королева. Интеллектуальную поддержку его дерзких проектов обеспечивала «нервная система» ракеты - бортовая система управления, созданная Николаем Пилюгиным.

Шагая в ногу со временем, Пилюгин перевел систему управления с аналоговой техники на цифровую. Это потребовало развития мощных бортовых вычислительных комплексов и изощренных технологий программирования.

Вскоре обнаружилось неожиданное препятствие - в дело вмешался человеческий фактор.Чем больше усложнялись космические системы, тем сильнее была нужда в безупречном взаимопонимании между разработчиками. Отсутствие взаимопонимания болезненно сказывалось на ходе крупных ракетных проектов. Особенно остро проблема взаимопонимания проявила себя при создании космического комплекса «Энергия–Буран».

Забегая вперед, скажем, что язык ДРАКОН был создан прежде всего как инструмент, обеспечивающий безукоризненное взаимопонимание между людьми. Он возник в результате обобщения опыта, накопленного при проектировании космического корабля «Буран».

` Слайд 2. Американский Спейс Шаттл и советский Буран - сверхсложные космические проекты. Они стимулировали творческий поиск во многих областях науки и высоких технологий, в частности, в области создания новых алгоритмических языков. В нашей стране конечным результатом этих усилий стал язык ДРАКОН, который очень скоро вырос из «коротких космических штанишек». Сегодня ДРАКОН - мощное средство для улучшения работы ума, пригодное для описания структуры человеческой деятельности и алгоритмов. ’’

Что такое интеллектуальное

взаимопонимание?

Современная цивилизация немыслима без крупномасштабных исследований и разработок. Проекты становятся все сложнее и грандиознее. Примерами больших проектов являются космические корабли Спейс Шаттл и Буран, атомные электростанции и химические заводы. Постоянно усложняются научные исследования в теоретической физике, биологии, медицине и т.д. Во всех подобных случаях возникает вопрос: как добиться взаимопонимания между соисполнителями работ?

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

Логично спросить: в чем причина неприятностей? Не слишком ли большие ресурсы (людские, материальные, финансовые и временные) приходится затрачивать для обеспечения эффективного взаимодействия специалистов, участвующих в совместной работе? Почему крупные исследования и разработки нередко затягиваются на месяцы, а то и на годы?

С такими или примерно такими проблемами столкнулись разработчики орбитального корабля Буран. Опыт Бурана показывает, что вопрос об интеллектуальном взаимопонимании специалистов зачастую играет ключевую, основополагающую роль и во многом определяет успех дела. При создании сложнейшего комплекса бортовых и наземных программ Бурана приходится расплетать хитроумный клубок донельзя запутанных проблем. Поэтому в бой вступает целая армия специалистов разных профессий из множества разных организаций. На начальном этапе работ эти люди очень плохо понимают друг друга. Это именно тот случай, когда запредельная сложность проблемы и связанная с нею узкая специализация приводят к смешному, но, увы, реальному парадоксу, когда «специалисты по клизме» не понимают «специалистов по наконечнику».

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

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


`` Слайд 3. Понимание следует рассматривать как труд. Необходимо кардинально увеличить производительность этого труда (возможно, на порядок). Именно эту задачу решает «ДРАКОН». ’’

С чего началась история «дракона»?

В 1982 году Юрий Трунов, руководитель комплексного отделения Пилюгинского центра (сегодня - Генеральный конструктор) был назначен ответственным за комплексную разработку системы управления Бурана. Трунов отчетливо понимал: без эффективных алгоритмических языков высокого уровня разработка Бурана невозможна.

По его инициативе - совместно с Институтом прикладной математики Академии наук СССР - были созданы три языка: ПРОЛ2 (для разработки бортовых комплексных программ Бурана), ДИПОЛЬ (для создания наземных программ Бурана) и ЛАКС (для моделирования). Работу вели три коллектива программистов под руководством Виктора Крюкова, Владимира Луциковича и Константина Федорова. Это была, так сказать, предыстория ДРАКОНА.

Хотя языки успешно решали поставленные задачи, стало ясно, что узкая специализация языков мешает делу. В связи с этим в 1986 году Юрий Трунов вызвал к себе начальника лаборатории комплексной разработки вычислительной системы Бурана Владимира Паронджанова и поручил ему создать универсальный язык, способный заменить три вышеназванных.

Гуманитарные требования к языку «Дракон»

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

В связи с этим при создании языка ДРАКОН были выдвинуты необычные для программистов, математиков и «технарей» гуманитарные требования.

1. Улучшить работу человеческого ума.

2. Предложить эффективные средства для описания структуры человеческой деятельности.

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

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

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

6. Добиться кардинального улучшения качества программного обеспечения по критерию «понимаемость алгоритмов и программ».

`` Слайд 4. Многие программисты жалуются, что свою собственную программу они с трудом понимают через полгода, а то и через месяц. А если речь идет о чужой программе? Тогда становится совсем тяжко. Нередко бывает легче написать свою программу, нежели разобраться в том, что делает чужая. Поэтому среди требований, предъявляемых к современным алгоритмическим языкам, на первое место все чаще выходит удобопонимаемость программ (comprehensibility) . Последняя определяется как свойство программы минимизировать интеллектуальные усилия, необходимые для ее понимания. Язык ДРАКОН призван обеспечить максимально возможную понимаемость алгоритмов и программ. По мнению разработчиков, он может стать «чемпионом мира» среди алгоритмических языков по этому критерию. ’’

Научные основы языка «Дракон»

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

Однако главное не в этом. Любой язык имеет ту или иную математическую изюминку. Математическая строгость - это обязательное требование для проектировщиков языка. Так что математикой нынче никого не удивишь.

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

Для создания хорошего языка одной математики мало;

Надо добавить к ней идеи когнитивной эргономики;

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

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

`` Слайд 5. Понимание алгоритмов и сложных трудовых процессов можно значительно облегчить, если использовать для их описания язык ДРАКОН. Эргономика – наука о человеческих факторах. Когнитивная эргономика помогает создать принципиально новые визуальные формы представления профессиональных знаний, создающие максимальный интеллектуальный комфорт для работы глаза и мозга. ’’

Слайд 6. Язык ДРАКОН обеспечивает исключительную ясность и беспрецедентную наглядность алгоритмов. В этих условиях вероятность скрытых алгоритмических ошибок и вызванных ими неприятностей и аварий уменьшается во много раз. Образно говоря, затаившаяся в алгоритме ошибка как бы выпрыгивает из алгоритмического чертежа (дракон-схемы), бьет разработчика кулаком в нос и громовым голосом кричит: «Заметь меня!».

Кто разработал системное программное обеспечение «дракона»?

Развивая идеи Виктора Крюкова и Владимира Луциковича (Институт прикладной математики), сотрудники Пилюгинского центра приступили к разработке трансляторов и других системных программ ДРАКОНА. Работа велась в отделе Константина Федорова. Наибольший творческий вклад внес начальник лаборатории системного программирования Владислав Балтрушайтис, а также Сергей Кашинский, Александр Семенов и другие.

Разработка шла в обстановке острых разногласий. Под одной крышей собрались незаурядные творческие личности, причем каждый имел собственную точку зрения на характер будущего языка и пути его развития. Споры бушевали до полуночи. Хотя до рукоприкладства не доходило, но ненормативная лексика сотрясала здание до основания. Не исключено, что это была самая скандальная разработка алгоритмического языка за всю историю подобных работ.

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

`` Слайд 7. Язык Дракон универсален и может использоваться в любых областях человеческой деятельности, например, в медицине. На слайде представлен медицинский алгоритм «Первая помощь при химическом ожоге глаза жидкостью», написанный на языке ДРАКОН. Этот алгоритм интересен тем, что не требует трансляции. Перед нами инструкция для семейного врача (врача общей практики), который должен оказать первую помощь при химическом ожоге глаза. Говорить о трансляции в данном случае бессмысленно. До сих пор программисты и математики игнорировали подобные инструкции - это, дескать, не алгоритмы. С точки зрения философии языка ДРАКОН, дело обстоит иначе. Подобные инструкции целесообразно рассматривать как неклассические алгоритмы (которые нуждаются в эргономичной формализации). Принципиальная новизна ДРАКОНА заключается в том, что он предоставляет стандартные изобразительные средства как для классических алгоритмов (когда трансляция необходима), так и для неклассических (когда трансляция не нужна). ’’

Раскол в стане разработчиков «дракона»

Между тем напряжение нарастало. Идейные разногласия достигли небывалой остроты и привели к расколу. Группу «диссидентов» возглавили Геннадий Гуленков (Пилюгинский центр) и Леонид Эйсымонт (Институт прикладной математики). Вместе с ними работали начальник сектора Владимир Гора, Людмила Власова, Сергей Щербаков, Лариса Тюрина, Александр Копылов, Виктор Миронов, Александр Русанов, Сергей Шмаков и другие.

В чем суть разногласий? Группа Федорова–Балтрушайтиса защищала упрощенный вариант языка ДРАКОН (который получил название Графит).

«Диссидентская» группа Гуленкова–Эйсымонта (поддержанная одним из руководителей Пилюгинского центра Владимиром Морозовым) отстаивала полноразмерный проект ДРАКОНА. Этот вариант, несомненно, был более перспективным.

Развал СССР подрезал дракону крылья

К сожалению, «диссидентов» постигла катастрофа. Именно в этот момент рухнула одна из величайших держав мира (СССР). Экономика новой России лежала в руинах. После первого блестящего полета Бурана события приняли неожиданный оборот. Накануне полной готовности ко второму полету сверху пришел трагический приказ: «Полет отменить!». Из-за нехватки денег все работы по проекту «Буран-Энергия» были сначала законсервированы, а затем и вовсе прекращены. Навсегда. Навечно.

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

Но теперь этому пришел конец. Денежный кран был перекрыт. Пилюгинский центр стал почти банкротом. Он больше не мог подкармливать Институт математики. В итоге группа программистов Леонида Эйсымонта (ИПМ) осталась без средств к существованию. И была вынуждена прекратить работы по ДРАКОНУ, переключившись на платежеспособных заказчиков.

`` Слайд 8. Прекращение работ по Бурану больно ударило
по разработчикам ДРАКОНА. Ситуация стала критической. ’’

Дракон восстал из пепла, как птица феникс

Впрочем, нет худа без добра. В этот период руководителем комплексного подразделения Пилюгинского центра стал Владимир Морозов. Он назначил начальником отдела программирования энергичного руководителя Германа Косточкина. Работы по созданию программного обеспечения ДРАКОНА стали резко набирать обороты. Оставшись без помощи со стороны Института прикладной математики, Владислав Балтрушайтис и его коллектив решили покорить вершину самостоятельно. Это было невероятно трудно. Но они сделали невозможное.

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

`` Слайд 9. Алгоритм «Первая помощь при химическом ожоге глаза жидкостью» состоит из трех веток. Ветка - наиболее крупная алгоритмическая конструкция языка ДРАКОН. Она не имеет аналогов в других языках. Ветка обеспечивает очень удобную и наглядную структуризацию алгоритма.

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





Боевое крещение дракона

Разработка ДРАКОНА продолжалась около пятнадцати лет. Отдельные элементы дракон-технологии использовались уже на Буране. Но это был, в основном, «бумажный» ДРАКОН. Алгоритмы составлялись на бумаге в виде дракон-схем, а программирование велось на языках ПРОЛ2, ДИПОЛЬ и ЛАКС.

Впервые автоматическая дракон-технология была опробована при разработке программного обеспечения автономных и комплексных испытаний международного космического проекта «Морской старт» (Sea Launch).

В проекте участвовали США, Норвегия, Россия и Украина. Пуски ракет производились с плавучей стартовой платформы, размещенной на экваторе в западной части Тихого океана в районе островов Кирибати. Управление пуском осуществлялось с находящегося поблизости сборочно-командного судна. Для каждого пуска стартовая платформа и сборочно-командное судно совершали морской рейс с базы, расположенной на западном побережье США, к островам Кирибати, а затем возвращались обратно.

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

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

`` Слайд 13. Графический алфавит языка ДРАКОН. Он содержит всего двадцать три графоэлемента (23 иконы). Однако этого количества вполне достаточно, чтобы отобразить в виде наглядного чертежа процедурные профессиональные знания и алгоритмы, относящиеся к любой области профессиональной деятельности. ’’

В ЧЕМ изюминка ДРАКОНА?

Недостаток традиционного подхода состоит в том, что создатели языков и компьютерных систем нередко приступают к работе не с того конца и ставят телегу впереди лошади. Как подчеркивает психолог Дональд Норман, они «слишком часто начинают с машины, а о человеке думают только в конце, когда уже поздно».

Чтобы избежать подобных ошибок, в ходе разработки языка ДРАКОН был выбран совершенно иной подход. Была объявлена стратегическая цель: создать наиболее комфортные условия для работы человеческого интеллекта, обеспечить наилучшие воз можности для повышения эффективности коллективного разума специа листов.

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

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

программирование без программистов

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

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

Это позволяет значительно сократить издержки, улучшить показатель «затраты-результат», ускорить ход работ. И полностью избавиться от ошибок «испорченного телефона», вызванных взаимным непониманием между ПРОГРАММИСТАМИ и СПЕЦИАЛИСТАМИ.

`` Слайд 14. Фигуру человека мы воспринимаем симультанно, т.е. одномоментно, целиком и очень быстро. В нашем мозгу есть нейронные механизмы, обеспечивающие такое восприятие. Эти же механизмы используются при восприятии дракон-схем. ’’

`` Слайд 15. Дракон-схема отчасти похожа на фигуру человека. У нее тоже сверху - шапка, а снизу - «ботинки». Разница лишь в том, что «ботинки» имеют другое название - «адреса» ’’

`` Слайд 16. Шапка дракон-схемы - чрезвычайно эффективный инструмент, обеспечивающий структуризацию дракон-схемы и разбиение алгоритма на смысловые части - ветки. Эргономическая хитрость состоит в том, что шапка, угадывая тайное желание читателя, дает ему мощную подсказку - ответ на все «царские» вопросы. Вот ответы для медицинского алгоритма. ’’

Как называется задача? (Читаем заголовок алгоритма). Первая помощь при химическом ожоге глаза жидкостью.

Из скольких частей она состоит? (Считаем иконы «Имя ветки»). Из трех.

Как называется каждая часть? (Читаем текст в иконах «Имя ветки»). 1. Промывание глаза водой. 2. Промывание глаза нейтрализатором. 3. Лекарственная обработка.

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

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

Дракон полностью изменил взаимодействие Разработчиков-комплексников и программистов

Раньше работа была организована так. Комплексник выдавал в отдел программирования бумажный документ - исходные данные на разработку программ и согласовывал его с программистом. Затем программист на основании этого документа разрабатывал программу.

На комплексном стенде обычно выяснялось, что программа работает неправильно. Кто же допустил ошибку: комплексник или программист? Чтобы выяснить это, обращаются к документу - исходным данным на разработку программы. Тут-то и возникает немая сцена. Выясняется, что в документе про это ничего не сказано. Или написано настолько коряво и двусмысленно, что понять можно и так и эдак.

Таким образом, указанный документ не выполняет свою основную функцию и не позволяет ответить на вопрос: кто виноват в ошибке. Подобная система работы, порочная в своей основе, ведет к безответственности, огромному потоку ошибок и низкому качеству работ.

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

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

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

Благодаря ДРАКОНУ комплексник получил драгоценную возможность ценой минимальных усилий самостоятельно разработать и во всех деталях проанализировать свой алгоритм, то есть осуществить формализацию своих профессиональных знаний.

Таким образом, при использовании ДРАКОНА реализуется мудрый принцип: кто обладает знаниями, тот и должен их формализовать . Знаниями о физике и порядке работы ракетного комплекса обладает специалист-комплексник, а никак не программист. Поэтому комплексник и должен свои знания формализовать. В этом случае бесконечная игра в «испорченный телефон» между комплексником и программистом полностью исключается.

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

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

От «паскаля» к «дракону»

В свое время Никлаус Вирт, автор языка Паскаль, заявил, что Паскаль должен быть самым первым языком, с которого следует начинать изучение программирования. Эта точка зрения стала общепринятой.

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

Однако сегодня ситуация изменилась. Будущее принадлежит визуальным и графическим языкам. В этих условиях «дедушка Паскаль» потерял былую славу «прекрасного учебного средства».

Сегодня эта роль переходит к графическому языку ДРАКОН. Именно ДРАКОН становится самым легким и логически стройным языком, с которого надо начинать изучение алгоритмизации и программирования.

Язык «дракон» и система образования

Уже говорилось, что практическая полезность ДРАКОНА получила высокую оценку. Министерство образования включило изучение языка ДРАКОН в программу курса информатики высшей школы (см.: «Примерная программа дисциплины “Информатика”. Издание официальное. - М.: Госкомвуз, 1996».

Ведется подготовка учебных книг для средней и высшей школы. Уже издана первая из них - игровое учебное пособие для детей младшего и среднего школьного возраста: см. « В.Д. Паронджанов. Занимательная информатика: Волшебный Дракон в гостях у Мурзика. - М.: Росмэн, 1998, 2000. 160с. 200 иллюстраций».

`` Слайд 18. В языке ДРАКОН используются два очень удобных, но необычных понятия. Шампур - вертикальная линия, соединяющая начало и конец алгоритма (или ветки). Главный маршрут - путь от начала до конца алгоритма, ведущий к наибольшему успеху. ’’

Правило гласит: главный маршрут алгоритма должен идти по шампуру. Это значит, что «царский» маршрут не может оказаться где-то на задворках дракон-схемы, где его днем с огнем не сыскать. Нет, он всегда должен находиться на «самом почетном» месте - на крайней левой вертикали. Соблюдение этого правила делает схему зрительно упорядоченной, предсказуемой и интуитивно ясной.

`` Слайд 19. С логической точки зрения оба алгоритма эквивалентны. Но с эргономической точки зрения левая схема лучше, так как главный маршрут не имеет изломов. ’’

`` Слайд 20. Дракон-схема упорядочена слева направо
согласно принципу: «Чем правее, тем хуже». ’’

Слайд 21. Графическая математическая формула, обосновывающая операцию «Рокировка». Она служит математическим обоснованием для двух изложенных выше правил: ’’

Главный маршрут должен идти по шампуру (см. слайд 19, слева).

Побочные маршруты рисуют справа от главного по принципу: «Чем правее, тем хуже» (см. слайд 20).

Часть 2

Язык « ДРАКОН» ОТКРЫВАЕТ КАЛИТКУ в ЦАРСТВО ПОНЯТНЫХ АЛГОРИТМОВ

критерий сверхвысокого понимания

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

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

эргономичные алгоритмы

Можно сказать и по-другому. Критерий сверхвысокого понимания требует, чтобы форма записи алгоритмов была максимально удобной и позволяла человеку читать любой алгоритм с «необыкновенной интеллектуальной легкостью».

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

Эргономичный алгоритм - алгоритм, удовлетворяющий критерию сверхвысокого понимания. Преимущество эргономичных алгоритмов в том, что они намного понятнее, яснее, нагляднее и доходчивее, чем обычные. Если алгоритм непонятный, в нем трудно или даже невозможно заметить затаившуюся ошибку. И наоборот, чем понятнее алгоритм, тем легче найти дефект. Поэтому более понятный, эргономичный алгоритм намного лучше обычного. Лучше в том смысле, что он облегчает выявление ошибок, а это очень важно. Ведь чем больше ошибок удастся обнаружить при визуальной проверке, тем больше вероятность, что вновь созданный алгоритм окажется правильным, безошибочным, надежным. Кроме того, эргономичные алгоритмы удобны для изучения, их проще объяснить другому человеку.

Эпоха понятных алгоритмов

Практика проектирования и эксплуатации языка ДРАКОН позволяет предположить, что объявленная выше стратегическая цель - построение алгоритмов, пригодных для решения проблемы понимания и взаимопонимания - вполне достижима. Если это верно, то мы находимся на пороге новой эпохи - эпохи понятных алгоритмов.

Впервые в истории во всем мире сложные алгоритмы станут легкими для понимания! Это значит, что будет реализована заветная мечта наиболее дальновидных математиков и программистов. Вместо нынешних «уму непостижимых» алгоритмических джунглей повсюду засияют волшебным светом «удивительно наглядные описания алгоритмов и процессов». Перед нашими восхищенными очами откроется новый мир - мир дружелюбных алгоритмов, в котором будет царить необыкновенная легкость и глубина понимания.

Можно надеяться, что дальнейшее развитие теории и практики эргономизации алгоритмов будет иметь важные последствия. Есть основания полагать, что массовое использование языка ДРАКОН проложит путь ко всеобщей алгоритмической грамотности (в тех пределах, в которых подобная задача в принципе может быть решена) .

`` Слайд 23. Две равносильные логические формулы. Слева - традиционная текстовая формула (схема «ИЛИ»), понятная узкому кругу математиков и программистов. ’’

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

Следует подчеркнуть: ДРАКОН не запрещает работать с левой формулой. Но тем, для кого она трудна, он предлагает более гуманный и легкий вариант.

`` Слайд 24. Две равносильные логические формулы. Слева - традиционная формула (схема «И»), понятная далеко не всем. ’

Формула справа (графическая схема «И»), написанная на языке ДРАКОН, намного легче для понимания. Она становится еще более наглядной, если заменить абстрактные буквы A , B , C , F на конкретные производственные понятия. Например:

А = норма подачи топлива С = норма электропитания;

В = норма зажигания F = включить двигатель.

Часть 3

Путь к мудрости

Язык ДРАКОН и фундаментальные проблемы цивилизации

что нас ждет в будущем?

За последние сто лет обстановка на планете коренным образом изменилась. Дела идут хуже, чем ожидалось. Глобальные проблемы обостряются. Попытки их преодоления не приводят к ощутимому успеху. Все отчетливее проявляет себя неспособность человеческого разума найти решение многих жгучих проблем современности.

К числу последних относятся хорошо известные беды земной цивилизации: непрерывные военные конфликты, огромные военные расходы, расползание ядерного оружия, международный терроризм, преступность, перенаселенность, нищета, социальные взрывы, религиозный экстремизм. Добавьте сюда экологические болячки: загрязнение среды, утоньшение озонового слоя, исчерпание ресурсов, опасные процессы в биосфере, рост концентрации парниковых газов, глобальное потепление и возможное повышение уровня океана. И не забудьте про астероидную опасность, т.е. возможность столкновения Земли с шальным космическим телом.

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

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

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

Нужно создать новые, более эффективные интеллектуальные средства и инструменты, способные сделать коллективный разум человечества более мощным и эффективным.

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

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

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

Что важнее: компьютер или человеческий мозг?

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

Однако почивать на лаврах рано. Стало ясно, что этого совершенно недостаточно. Почему?

Ответ очевиден. Сотни миллионов компьютеров словно волшебные цветы усеяли земной шар и стали неотъемлемой частью современного интеллектуального пейзажа. Однако главным игроком на интеллектуальном поле по-прежнему остается человеческий мозг. Компьютер - всего лишь инструмент. Принимают решения не компьютеры, а люди.

важнейшая характеристика цивилизации?

Наша планета - гигантский склад, вернее, генератор нерешенных проблем: мелких, средних, больших и глобальных. Чем быстрее они будут решаться, тем успешнее пойдет развитие общества, тем благоприятнее перспективы человечества.

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

На пороге новой интеллектуальной революции

Чтобы заострить проблему, зададим вопрос. Как работает мозг людей после автоматизации, т.е. после передачи компьютерам ряда интеллектуальных задач? Удалось ли создать наилучшие условия для работы ума? Если нет, как добиться, чтобы продуктивность мозга стала максимальной?

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

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

Что отсюда следует? Сегодня мы стоим на пороге новой компьютерной эры - эры тонкой компьютеризации. Ее цель - улучшить работу ума, т.е. обеспечить максимальную производительность (мозга) интеллектуальных работников и учащихся.

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

Язык ДРАКОН - первый научно-обоснованный шаг в этом направлении. Можно сказать и по-другому. ДРАКОН - это первая ласточка, которая показывает правильный - когнитивно-эргономический - путь к повышению творческой продуктивности мозга. (Более подробную аргументацию на эту тему можно найти в монографии «В.Д. Паронджанов. Как улучшить работу ума: Алгоритмы без программистов - это очень просто! М.: Дело, 2001. 360с.»).

Интеллектуальная история человечества и суперязыки

Интеллектуальная история человечества неразрывно связана с совершенствованием языка. В истории языка можно выделить четыре частично перекрывающиеся этапа:

Звуковые (устные) языки дописьменной эпохи;

Письменные языки (клинопись, иероглифы, алфавитное письмо);

Искусственные языки (чертежи, графики, химические и математические формулы, логико-математические исчисления, языки программирования);

Эргономичные суперязыки.

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

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

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

Вспомним слова Николая Лобачевского:

«Чему одолжены своими блестящими успехами науки - слава нынешних времен, торжество ума человеческого? Без сомнения, искусственному языку своему!».

Мы подошли к самому интересному месту. В наши дни прирост интеллектуального могущества человечества во многом осуществляется за счет создания и использования самых разнообразных искусственных языков. Однако на этом пути возникает неожиданная трудность. Она заключается в эргономическом несовершенстве существующих языков. Они слишком трудны. Трудны для человеческого восприятия. Нынешние языки доступны лишь немногим избранным и непригодны для массового использования. Это обстоятельство серьезно сдерживает дальнейший рост интеллектуальных возможностей людей.

Фундаментальный недостаток языков программирования

Рассмотрим одну из важнейших интеллектуальных проблем - проблему программирования. Вспомним слова академика Андрея Ершова:

«Человек неизмеримо усилит свой интеллект, если сделает частью своей натуры способность планировать свои действия … одним словом, сделается программистом».

Прав ли уважаемый академик? Нет сомнения: умение хорошо программировать значительно расширяет умственные возможности специалистов, позволяя оптимизировать работу ума и использовать компьютер на порядок эффективнее. Однако здесь есть одно «но». На практике предложенный Ершовым путь улучшения интеллекта - увы! - не работает. Он просто-напросто закрыт для подавляющего большинства желающих. Почему?

Неприятность в том, что все без исключения известные языки программирования слишком сложны и недоступны «для народа». Они предназначены для узкой касты знатоков и больше ни для кого. Интеллектуальные трудозатраты на освоение программирования недопустимо велики.

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

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

дракон - первый в истории суперязык

(и не последний)

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

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

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

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

Язык ДРАКОН можно охарактеризовать как первый в истории эргономичный суперязык, так как он разработан с помощью научно-обоснованных методов эргономического проектирования.

Можно сказать и по-другому. ДРАКОН - это первый сознательно сделанный эргономический шаг в языковом строительстве. Эргономический - значит, во-первых, нацеленный на улучшение работы ума, во-вторых, опирающийся на всю мощь науки о человеческих факторах - эргономики и когнитивной науки. Сказанное можно резюмировать в форме краткого тезиса: ДРАКОН - это эргономическая революция в «языкостроении».

Сам факт существования и успешной эксплуатации ДРАКОНА в ряде крупных ракетно-космических проектов показывает, что практическая реализация суперязыков вполне возможна. Это не фантазия, не утопия, не розовая мечта - это уже реальность. Можно надеяться, что суперязыки, как новое поколение искусственных языков, позволят оптимизировать работу ума и существенно увеличить интеллектуальные возможности общества.

Заглядывая в будущее, можно, вероятно, предположить, что с появлением суперязыков перед человечеством открывается новый путь познания - путь, ведущий к подлинной мудрости.
(тщательно стыбрено с сайта transhumanism-russia.ru)

Язык ДРАКОН - общедоступный интеллектуальный инструмент нового типа, специально сконструированный для облегчения и улучшения работы ума интеллектуальных работников и учащихся, особенно полезный при решении трудных и сверхтрудных задач систематизации и автоформализации профессиональных знаний, описания структуры человеческой деятельности и многих других задач, о которых речь впереди.

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

Язык ДРАКОН разработан совместными усилиями Российского космического агентства (НПЦ автоматики и приборостроения, г. Москва) и Российской академии наук (Институт прикладной математики им. М.В. Келдыша, г. Москва) как обобщение опыта работ по созданию космического корабля "Буран". На базе ДРАКОН а построена автоматизированная технология проектирования программных систем (CASE-технология) под названием "ГРАФИТ-ФЛОКС ". Она успешно используется в ряде крупных космических проектов: "Морской старт ", "Фрегат ", "Протон-М " и др.

ДРАКОН - очень легкий язык. Настолько легкий, что разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а обычные специалисты - по принципу "программирование без программистов". Причина отказа от программистов проста. При решении практических прикладных задач специалисты досконально владеют материалом и прекрасно знают постановку задачи. В отличие от них программисты не знают "физику процесса" и становятся "лишними людьми", без которых вполне можно обойтись. Это позволяет значительно сократить издержки, улучшить показатель "затраты-результат", ускорить ход работ и полностью избавиться от ошибок "испорченного телефона", вызванных взаимным непониманием между ПРОГРАММИСТАМИ и СПЕЦИАЛИСТАМИ.

ДРАКОН универсален. Он может применяться для наглядного представления и быстрой разработки алгоритмов не только в "космосе", но и в "земных" видах человеческой деятельности. Практическая полезность ДРАКОН а получила высокую оценку. Министерство образования включило изучение языка ДРАКОН в программу курса информатики высшей школы (см.: Примерная программа дисциплины “Информатика”. Издание официальное. - М.: Госкомвуз, 1996. С. 3, 4, 15, 16).

ДРАКОН-редактор

ДРОН

В.Д. Паронджанов в своей книге "Как улучшить работу ума" указывает на возможность трансляции ДРАКОН -схем непосредственно в программный код на языке высокого уровня. При этом управляющие конструкции целевого языка полностью отбрасываются заменяясь конструкциями языка ДРАКОН . Таким образом получается новый язык, являющийся подмножеством целевого языка. Так упоминаются языки ДРАКОН-Си , ДРАКОН-Паскаль .

8 апреля 2008 г. Александр Ильин на форуме предложил название ДРОН для возможного языка ДРАКОН-Оберон .

D2O (Deuterium Oxide) - ДРОН => Active Oberon транслятор.

Задавшись целью реализации языка ДРОН я написал письмо Геннадию Тышову с просьбой открыть формат ДРАКОН -схем используемый в его редакторе. На что в ответ он выслал мне весь исходный код:)

Для начала я решил создать ДРАКОН -схему которую можно было-бы полность транслировать в модуль на Active Oberon .

И очень быстро я убедился что при соответствующем оформлении ДРАКОН -схемы задача становится вполне реализуемой.

Основные особенности "оформления" конечно касаются декларативой части, отсутствующей в ДРАКОН е.

На первых порах пришлось "приспособить" под декларативную часть блок "комметнарий", с разделением соответсвующих секций, собственно: комментариев, импорта, констант, типов и переменных. принадлежность той или инной секции определяется первым считанным из блока элементом, соответственно (* , IMPORT , CONST , TYPE и VAR .



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

Возможно более удачное решение - оформлять декларативную часть в табличной форме.

В TYPE секции даются объявления типов и "пустышек" деклараций объектов (без методов и тел).

Каждая отдельная схема рассматривается как эквивалент процедуры на языке Оберон . При этом применительно к языку Оберон можно рассматривать в качестве процедур ещё и тела модуля и объектов (после слова BEGIN ), а ещё необходимо как-то различать процедуры модуля от процедур-методов объектов.

Было решено:

  • Тело модуля оформлять в виде схемы, в заголовок которой вписывается слово BEGIN
  • Префиксовать заголовки схем относящихся к методам объектов именами этих объектов. т.е. Object.Proc1 , Object.BEGIN . Как видите, тело объекта тоже не забыли
  • Все остальные схемы соответствуют процедурам модуля

Вот какая получилась схема:



Топология схем ограничена потоком управления строго сверху-вниз и слева-направо. И как исключение, естественным образом организованные, простые циклы. На мой взгляд мощь схемы "силуэт" сводит такое ограничение на нет.

В результате получено консольное приложение, позволяющее транслировать ДРАКОН -схему (фактически, схему на языке ДРОН ) в модуль на языке Active Oberon .

ДРОН -транслятор носит скромное название D2O т.е. Deuterium Oxide или Тяжёлая Вода по русски:)

ДРОН -транслятор и тестовые схемы на языке ДРОН прилагаются.

13 июля 2008 г. Геннадий Тышов опубликовал более свежую версию редактора , однако тестовые схемы прилагающиеся к существующей на сегодняшний день версии D2O имеют несовместимый формат. Версия редактора представленная здесь на сайте гарантированно позволяет открыть и редактировать прилагающиеся схемы. Вопросы обратной совместиости форматов или открытия нового формата в настоящий момент обсуждаются с автором редактора.