Язык ДРАКОН разработан совместными усилиями Российского космического агентства (Научно-производственный центр автоматики и приборостроения имени академика Н.А. Пилюгина, г. Москва) и Российской академии наук (Институт прикладной математики имени академика М.В. Келдыша, г. Москва).
Графический язык ДРАКОН специально сконструирован, чтобы превратить сложный алгоритм в простую картинку(дракон-схему), обеспечивающую быстрое и легкое понимание по принципу «Взглянул — и сразу понял»!
- Часть 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. Алгоритм «Первая помощь при химическом ожоге глаза жидкостью» состоит из трех веток. Ветка — наиболее крупная алгоритмическая конструкция языка ДРАКОН. Она не имеет аналогов в других языках. Ветка обеспечивает очень удобную и наглядную структуризацию алгоритма.
(Мы продолжаем рассматривать медицинский алгоритм, чтобы продемонстрировать способность ДРАКОНА описывать алгоритмы и процедурные профессиональные знания в любых областях профессиональной деятельности, а не только в космонавтике).
Слайд 10. Фрагмент первой ветки медицинского алгоритма
«Первая помощь при химическом ожоге глаза»
Слайд 11. Фрагмент второй ветки медицинского алгоритма
«Первая помощь при химическом ожоге глаза»
Слайд 12. Фрагмент третьей ветки медицинского алгоритма
«Первая помощь при химическом ожоге глаза»
Боевое крещение дракона
Разработка ДРАКОНА продолжалась около пятнадцати лет. Отдельные элементы дракон-технологии использовались уже на Буране. Но это был, в основном, «бумажный» ДРАКОН. Алгоритмы составлялись на бумаге в виде дракон-схем, а программирование велось на языках ПРОЛ2, ДИПОЛЬ и ЛАКС.
Впервые автоматическая дракон-технология была опробована при разработке программного обеспечения автономных и комплексных испытаний международного космического проекта «Морской старт» ( Sea Launch ).
В проекте участвовали США, Норвегия, Россия и Украина. Пуски ракет производились с плавучей стартовой платформы, размещенной на экваторе в западной части Тихого океана в районе островов Кирибати. Управление пуском осуществлялось с находящегося поблизости сборочно-командного судна. Для каждого пуска стартовая платформа и сборочно-командное судно совершали морской рейс с базы, расположенной на западном побережье США, к островам Кирибати, а затем возвращались обратно.
Результаты применения дракон-технологии оказались блестящими. Они превзошли все ожидания.
После этого дракон-технология использовалась в российско-французском космическом проекте «Фрегат», а также при модернизации ракеты-носителя «Протон-М». Поскольку результаты были стабильно высокими, руководство Пилюгинского центра приняло решение использовать дракон-технологию во всех последующих проектах.
Слайд 13. Графический алфавит языка ДРАКОН. Он содержит всего двадцать три графоэлемента (23 иконы). Однако этого количества вполне достаточно, чтобы отобразить в виде наглядного чертежа процедурные профессиональные знания и алгоритмы, относящиеся к любой области профессиональной деятельности.
В ЧЕМ изюминка ДРАКОНА?
Недостаток традиционного подхода состоит в том, что создатели языков и компьютерных систем нередко приступают к работе не с того конца и ставят телегу впереди лошади. Как подчеркивает психолог Дональд Норман, они «слишком часто начинают с машины, а о человеке думают только в конце, когда уже поздно».
Чтобы избежать подобных ошибок, в ходе разработки языка ДРАКОН был выбран совершенно иной подход. Была объявлена стратегическая цель: создать наиболее комфортные условия для работы человеческого интеллекта, обеспечить наилучшие воз можности для повышения эффективности коллективного разума специа листов.
В соответствии с этой программной установкой была поставлена задача: создать общедоступный, предельно легкий в изучении и удобный в работе язык, позволяющий решать алгоритмические проблемы ценою минималь ных интеллектуальных усилий. Язык, который в силу своей изначаль ной ориентации на человека мог бы стать подлинно «народным», т. е. «родным» для специалистов практически любого профиля (а не только программистов).
Благодаря этому ДРАКОН способен играть роль «языка эсперанто для делового мира». Взаимопонимание профессионалов можно значительно улучшить, если представители разных специальностей будут отображать свои процедурные знания на языке ДРАКОН.
программирование без программистов
ДРАКОН — очень легкий язык. Настолько легкий, что разработку многих компьютерных программ для космических ракет на практике ведут не программисты, а обычные специалисты (комплексники). Они действуют по принципу «программирование без программистов».
Причина отказа от программистов проста. При решении практических прикладных задач специалисты досконально владеют материалом и прекрасно знают постановку з адачи. В отличие от них программисты не знают «физику процесса» и становятся «лишними людьми», без которых вполне можно обойтись.
Это позволяет значительно сократить издержки, улучшить показатель «затраты—результат», ускорить ход работ. И полностью избавиться от ошибок «испорченного телефона», вызванных взаимным непониманием между ПРОГРАММИСТАМИ и СПЕЦИАЛИСТАМИ.
Слайд 14. Фигуру человека мы воспринимаем симультанно, т.е. одномоментно, целиком и очень быстро. В нашем мозгу есть нейронные механизмы, обеспечивающие такое восприятие. Эти же механизмы используются при восприятии дракон-схем.
Слайд 15. Дракон-схема отчасти похожа на фигуру человека. У нее тоже сверху — шапка, а снизу — «ботинки». Разница лишь в том, что «ботинки» имеют другое название — «адреса»
Слайд 16. Шапка дракон-схемы — чрезвычайно эффективный инструмент, обеспечивающий структуризацию дракон-схемы и разбиение алгоритма на смысловые части — ветки . Эргономическая хитрость состоит в том, что шапка , угадывая тайное желание читателя, дает ему мощную подсказку — ответ на все «царские» вопросы. Вот ответы для медицинского алгоритма.
Как называется задача? (Читаем заголовок алгоритма). Первая помощь при химическом ожоге глаза жидкостью.
Из скольких частей она состоит? (Считаем иконы «Имя ветки»). Из трех.
Как называется каждая часть? (Читаем текст в иконах «Имя ветки»). 1. Промывание глаза водой. 2. Промывание глаза нейтрализатором. 3. Лекарственная обработка.
Дополнительные эргономические удобства связаны с тем, что шапка занимает «парадное» место в верхней части чертежа, а названия смысловых частей помещены внутри особых рамок уникальной формы, которые легко отыскать взглядом. Благодаря этому шапка моментально приковывает к себе внимание читателя без всяких усилий с его стороны. Это очень важно, так как читателю не приходится рыскать глазами по темным закоулкам алгоритма, пытаясь выудить нужную информацию.
В итоге ДРАКОН предоставляет читателю эргономически эффективный трехэтапный метод познания незнакомой или забытой проблемы. На первом этапе, анализируя шапку, читатель узнает назначение алгоритма и его деление на смысловые части (ветки). На втором — осуществляет углубленный анализ каждой ветки. На третьем производит разбор взаимодействия веток.
Дракон полностью изменил взаимодействие
Разработчиков-комплексников
и программистов
Раньше работа была организована так. Комплексник выдавал в отдел программирования бумажный документ — исходные данные на разработку программ и согласовывал его с программистом. Затем программист на основании этого документа разрабатывал программу.
На комплексном стенде обычно выяснялось, что программа работает неправильно. Кто же допустил ошибку: комплексник или программист? Чтобы выяснить это, обращаются к документу — исходным данным на разработку программы. Тут-то и возникает немая сцена. Выясняется, что в документе про это ничего не сказано. Или написано настолько коряво и двусмысленно, что понять можно и так и эдак.
Таким образом, указанный документ не выполняет свою основную функцию и не позволяет ответить на вопрос: кто виноват в ошибке. Подобная система работы, порочная в своей основе, ведет к безответственности, огромному потоку ошибок и низкому качеству работ.
ДРАКОН решительно устраняет это безобразие. При переходе на дракон-технологию комплексник получает в свое распоряжение компьютерный инструмент — графический дракон-редактор. С его помощью он проектирует (рисует) на экране компьютера дракон-схему. Последняя автоматически преобразуется в математически точный алгоритм.
В этом случае бумажный документ (исходные данные на разработку программы) уже не используется. Комплексник передает в отдел программирования не «грязную и путаную бумажку», а дискету с алгоритмом, который он (комплексник) разработал сам, своими руками — без помощи программистов.
Получив дискету, отдел программирования производит автоматическую трансляцию кода и в конечном итоге получает объектный модуль программы. Последний загружается в бортовой или наземный компьютер ракетного комплекса.
Благодаря ДРАКОНУ комплексник получил драгоценную возможность ценой минимальных усилий самостоятельно разработать и во всех деталях проанализировать свой алгоритм, то есть осуществить формализацию своих профессиональных знаний.
Таким образом, при использовании ДРАКОНА реализуется мудрый принцип: кто обладает знаниями, тот и должен их формализовать. Знаниями о физике и порядке работы ракетного комплекса обладает специалист-комплексник, а никак не программист. Поэтому комплексник и должен свои знания формализовать. В этом случае бесконечная игра в «испорченный телефон» между комплексником и программистом полностью исключается.
Результаты внедрения дракон-технологии сказались немедленно. Раньше комплексник понимал алгоритмическую часть своей работы относительно неглубоко или даже поверхностно. Теперь же — благодаря работе за компьютером с дракон-редактором и мгновенной распечатке результатов для более полного обзора — он стал понимать ее во всех деталях. Потому что дракон-схема показывает ему его собственные мысли — разработанный алгоритм — в наглядной, понятной и отчетливой форме.
В итоге глубина интеллектуальной проработки алгоритма существенно возросла. Качество работы улучшилось на порядок. Производительность труда увеличилась.
От «паскаля» к «дракону»
В свое время Никлаус Вирт, автор языка Паскаль, заявил, что Паскаль должен быть самым первым языком, с которого следует начинать изучение программирования. Эта точка зрения стала общепринятой.
В ту пору программы писали в виде текста. Для текстового программирования Паскаль, действительно, был наилучшим учебным языком.
Однако сегодня ситуация изменилась. Будущее принадлежит визуальным и графическим языкам. В этих условиях «дедушка Паскаль» потерял былую славу «прекрасного учебного средства».
Сегодня эта роль переходит к графическому языку ДРАКОН. Именно ДРАКОН становится самым легким и логически стройным языком, с которого надо начинать изучение алгоритмизации и программирования.
Слайд 17. ДРАКОН рекомендуется как самый первый язык, с которого надо начинать изучение алгоритмов и программ в системе образования
Язык «дракон» и система
образования
Уже говорилось, что практическая полезность ДРАКОНА получила высокую оценку. Министерство образования включило изучение языка ДРАКОН в программу курса информатики высшей школы (см.: «Примерная программа дисциплины “Информатика”. Издание официальное. — М.: Госкомвуз, 1996».
Ведется подготовка учебных книг для средней и высшей школы. Уже издана первая из них — игровое учебное пособие для детей младшего и среднего школьного возраста: см. « В.Д. Паронджанов. Занимательная информатика: Волшебный Дракон в гостях у Мурзика. — М.: Росмэн, 1998, 2000. 160с. 200 иллюстраций».
Слайд 18. В языке ДРАКОН используются два очень удобных, но необычных понятия. Шампур — вертикальная линия, соединяющая начало и конец алгоритма (или ветки). Главный маршрут — путь от начала до конца алгоритма, ведущий к наибольшему успеху.
Правило гласит: главный маршрут алгоритма должен идти по шампуру. Это значит, что «царский» маршрут не может оказаться где-то на задворках дракон-схемы, где его днем с огнем не сыскать. Нет, он всегда должен находиться на «самом почетном» месте — на крайней левой вертикали. Соблюдение этого правила делает схему зрительно упорядоченной, предсказуемой и интуитивно ясной.
Слайд 19. С логической точки зрения оба алгоритма эквивалентны. Но с эргономической точки зрения левая схема лучше, так как главный маршрут не имеет изломов.
Слайд 20. Дракон-схема упорядочена слева направо
согласно принципу: «Чем правее, тем хуже».
Слайд 21. Графическая математическая формула, обосновывающая операцию «Рокировка». Она служит математическим обоснованием для двух изложенных выше правил:
Главный маршрут должен идти по шампуру (см. слайд 19, слева).
Побочные маршруты рисуют справа от главного по принципу: «Чем правее, тем хуже» (см. слайд 20).
Часть 2
Язык « ДРАКОН»
ОТКРЫВАЕТ КАЛИТКУ в ЦАРСТВО
ПОНЯТНЫХ АЛГОРИТМОВ
критерий сверхвысокого понимания
Главным требованием к языку ДРАКОН является улучшение взаимопонимания между людьми, облегчение сложного умственного труда, улучшение понимаемости алгоритмов. Для обозначения данного требования вводится понятие «критерий сверхвысокого понимания».
Считается, что язык удовлетворяет этому критерию, если написанные на нем планы, алгоритмы и процессы обладают наивысшим когнитивно-эргономическим качеством.
эргономичные алгоритмы
Можно сказать и по-другому. Критерий сверхвысокого понимания требует, чтобы форма записи алгоритмов была максимально удобной и позволяла человеку читать любой алгоритм с «необыкновенной интеллектуальной легкостью».
Чтобы создать подобную легкость, нужны новые, скажем прямо, непривычные для математиков, но понятные «для народа» правила записи алгоритмов.
Эргономичный алгоритм — алгоритм, удовлетворяющий критерию сверхвысокого понимания. Преимущество эргономичных алгоритмов в том, что они намного понятнее, яснее, нагляднее и доходчивее, чем обычные. Если алгоритм непонятный, в нем трудно или даже невозможно заметить затаившуюся ошибку. И наоборот, чем понятнее алгоритм, тем легче найти дефект. Поэтому более понятный, эргономичный алгоритм намного лучше обычного. Лучше в том смысле, что он облегчает выявление ошибок, а это очень важно. Ведь чем больше ошибок удастся обнаружить при визуальной проверке, тем больше вероятность, что вновь созданный алгоритм окажется правильным, безошибочным, надежным. Кроме того, эргономичные алгоритмы удобны для изучения, их проще объяснить другому человеку.
Слайд 22. Методы когнитивной эргономики могут оказать
большую помощь при проектировании алгоритмических языков
Эпоха понятных алгоритмов
Практика проектирования и эксплуатации языка ДРАКОН позволяет предположить, что объявленная выше стратегическая цель — построение алгоритмов, пригодных для решения проблемы понимания и взаимопонимания — вполне достижима. Если это верно, то мы находимся на пороге новой эпохи — эпохи понятных алгоритмов.
Впервые в истории во всем мире сложные алгоритмы станут легкими для понимания! Это значит, что будет реализована заветная мечта наиболее дальновидных математиков и программистов. Вместо нынешних «уму непостижимых» алгоритмических джунглей повсюду засияют волшебным светом «удивительно наглядные описания алгоритмов и процессов». Перед нашими восхищенными очами откроется новый мир — мир дружелюбных алгоритмов, в котором будет царить необыкновенная легкость и глубина понимания.
Можно надеяться, что дальнейшее развитие теории и практики эргономизации алгоритмов будет иметь важные последствия. Есть основания полагать, что массовое использование языка ДРАКОН проложит путь ко всеобщей алгоритмической грамотности (в тех пределах, в которых подобная задача в принципе может быть решена) .
Слайд 23. Две равносильные логические формулы. Слева — традиционная текстовая формула (схема «ИЛИ»), понятная узкому кругу математиков и программистов.
Справа — «демократическая» графическая формула (графическая схема «ИЛИ»), записанная на языке ДРАКОН. Она понятна значительно более широкому кругу работников. Как показывает практика, правая формула доступна даже тем людям, которые испытывают огромные затруднения при работе со сложной левой формулой.
Следует подчеркнуть: ДРАКОН не запрещает работать с левой формулой. Но тем, для кого она трудна, он предлагает более гуманный и легкий вариант.
Слайд 24. Две равносильные логические формулы. Слева — традиционная формула (схема «И»), понятная далеко не всем.
Формула справа (графическая схема «И»), написанная на языке ДРАКОН, намного легче для понимания. Она становится еще более наглядной, если заменить абстрактные буквы A , B , C , F на конкретные производственные понятия. Например:
А = норма подачи топлива С = норма электропитания;
В = норма зажигания F = включить двигатель.
Часть 3
Путь к мудрости
Язык ДРАКОН и фундаментальные
проблемы цивилизации
что нас ждет в будущем?
За последние сто лет обстановка на планете коренным образом изменилась. Дела идут хуже, чем ожидалось. Глобальные проблемы обостряются. Попытки их преодоления не приводят к ощутимому успеху. Все отчетливее проявляет себя неспособность человеческого разума найти решение многих жгучих проблем современности.
К числу последних относятся хорошо известные беды земной цивилизации: непрерывные военные конфликты, огромные военные расходы, расползание ядерного оружия, международный терроризм, преступность, перенаселенность, нищета, социальные взрывы, религиозный экстремизм. Добавьте сюда экологические болячки: загрязнение среды, утоньшение озонового слоя, исчерпание ресурсов, опасные процессы в биосфере, рост концентрации парниковых газов, глобальное потепление и возможное повышение уровня океана. И не забудьте про астероидную опасность, т.е. возможность столкновения Земли с шальным космическим телом.
Для решения названных проблем необходимы беспрецедентные меры. Впервые в истории интеллект становится главным инструментом для сознательных усилий по спасению мира. Без активного вмешательства разума распутать этот клубок проблем за приемлемое время вряд ли удастся. Вместе с тем приходится признать, что нынешний интеллект человечества слишком слаб и явно недостаточен для решения столь сложных задач.
Слабость интеллекта приводит к тому, что ситуация нередко выходит из-под контроля, вызывая серьезные негативные последствия локального или глобального характера. Словно зловещие огни, озаряющие земной шар, повсюду вспыхивают большие и малые катастрофы, войны и иные бедствия, которые разум не может предвидеть и предотвратить. Таким образом, цена ошибок, бездействия и слабости интеллекта стала недопустимо высокой. Отсюда проистекают выводы:
Нужно улучшить интеллект, т.е. усовершенствовать интеллектуальную деятельность в науке, технике, бизнесе, образовании, политике, экономике и других важных областях.
Нужно создать новые, более эффективные интеллектуальные средства и инструменты, способные сделать коллективный разум человечества более мощным и эффективным.
Анализируя историю цивилизации, можно выделить длительный процесс интеллектуального развития человечества. Люди издавна стремились совершенствовать свои интеллектуальные инструменты, чтобы расширить пределы мощности мышления.
До последнего времени указанный процесс был стихийным, медленным и не очень эффективным. Но сегодня ситуация изменилась. Появилась возможность взять этот важный процесс под контроль, изучить его особенности, понять закономерности и научиться им управлять. Цель управления — повысить интеллектуальную продуктивность человечества.
Ниже будет показано, что язык ДРАКОН, который с самого начала был задуман как средство для улучшения работы ума, может служить примером сознательного и эффективного подхода к решению поставленной задачи — задачи улучшения творческой продуктивности человеческого мозга.
Сергей Ульянов
Что важнее:
компьютер или человеческий мозг?
В развитии компьютерной техники и программирования можно выделить две эпохи. Первая — эпоха грубой компьютеризации, во время которой была осуществлена автоматизация умственного труда. Это было величайшее достижение. За считанные годы образовалась компьютерная оболочка планеты, которая приняла на свои могучие плечи бесчисленное множество задач, которые раньше мог выполнять только человеческий мозг.
Однако почивать на лаврах рано. Стало ясно, что этого совершенно недостаточно. Почему?
Ответ очевиден. Сотни миллионов компьютеров словно волшебные цветы усеяли земной шар и стали неотъемлемой частью современного интеллектуального пейзажа. Однако главным игроком на интеллектуальном поле по-прежнему остается человеческий мозг. Компьютер — всего лишь инструмент. Принимают решения не компьютеры, а люди.
важнейшая характеристика цивилизации?
Наша планета — гигантский склад, вернее, генератор нерешенных проблем: мелких, средних, больших и глобальных. Чем быстрее они будут решаться, тем успешнее пойдет развитие общества, тем благоприятнее перспективы человечества.
Это значит, что скорость работы мозга становится важнейшей характеристикой цивилизации. Крайне желательно, чтобы мозг работал с наибольшей продуктивностью, решая проблемы в самом быстром темпе.
На пороге новой интеллектуальной
революции
Чтобы заострить проблему, зададим вопрос. Как работает мозг людей после автоматизации, т.е. после передачи компьютерам ряда интеллектуальных задач? Удалось ли создать наилучшие условия для работы ума? Если нет, как добиться, чтобы продуктивность мозга стала максимальной ?
При грубой компьютеризации эти вопросы не только не решаются, но даже не ставятся. Между тем сегодня в мире доминирует именно грубая компьютеризация. Это приводит к неприятным последствиям. Ученые, конструкторы, программисты, определяющие стратегию информатизации планеты, находясь в плену устаревших взглядов, не замечают нечто очень важное — идею, которой принадлежит будущее (слона-то я и не приметил!). Концентрируя внимание на разработке компьютеров, программ, сетей и примитивно понятого пользовательского интерфейса, они полностью упускают из виду проблему облегчения работы мозга и повышения его творческой продуктивности.
В результате возможности мозга недоиспользуются. Гигантские резервы человеческого интеллекта на всех уровнях управления и принятия решений остаются невостребованными. Причем именно тогда, когда нужда в более мудрых, интеллектуально обоснованных и взвешенных решениях достигла небывалой, можно сказать, глобальной остроты.
Что отсюда следует? Сегодня мы стоим на пороге новой компьютерной эры — эры тонкой компьютеризации. Ее цель — улучшить работу ума, т.е. обеспечить максимальную производительность (мозга) интеллектуальных работников и учащихся.
Речь идет о новой компьютерной революции, которая должна решить гораздо более сложную, поистине грандиозную задачу — вторгнуться в тайны мозга и заставить его работать лучше, быстрее, эффективнее.
Язык ДРАКОН — первый научно-обоснованный шаг в этом направлении. Можно сказать и по-другому. ДРАКОН — это первая ласточка, которая показывает правильный — когнитивно-эргономический — путь к повышению творческой продуктивности мозга. (Более подробную аргументацию на эту тему можно найти в монографии «В.Д. Паронджанов. Как улучшить работу ума: Алгоритмы без программистов — это очень просто! М.: Дело, 2001. 360с.»).
Интеллектуальная история человечества
и суперязыки
Интеллектуальная история человечества неразрывно связана с совершенствованием языка. В истории языка можно выделить четыре частично перекрывающиеся этапа:
звуковые (устные) языки дописьменной эпохи;
письменные языки (клинопись, иероглифы, алфавитное письмо);
искусственные языки (чертежи, графики, химические и математические формулы, логико-математические исчисления, языки программирования);
эргономичные суперязыки.
Появление звуковых языков дописьменной эпохи выделило человека из животного мира, обозначив огромный скачок в развитии интеллекта животных. Вместе с тем разум «дописьменного» человека находился на крайне низкой ступени развития. Это был интеллект скорее дикаря, чем человека.
Изобретение письменных языков символизировало второй гигантский скачок в эволюции интеллекта. Данное событие можно охарактеризовать как превращение дикаря в человека. Письменность дала людям власть над информацией. Рождение письма — это начало писаной истории, зачатие цивилизации.
Третий мощный скачок в развитии интеллекта связан с интенсивной разработкой искусственных языков, среди которых особое место занимают логико-математические исчисления и тысячи языков программирования.
Вспомним слова Николая Лобачевского:
«Чему одолжены своими блестящими успехами науки — слава нынешних времен, торжество ума человеческого? Без сомнения, искусственному языку своему!».
Мы подошли к самому интересному месту. В наши дни прирост интеллектуального могущества человечества во многом осуществляется за счет создания и использования самых разнообразных искусственных языков. Однако на этом пути возникает неожиданная трудность. Она заключается в эргономическом несовершенстве существующих языков. Они слишком трудны. Трудны для человеческого восприятия. Нынешние языки доступны лишь немногим избранным и непригодны для массового использования. Это обстоятельство серьезно сдерживает дальнейший рост интеллектуальных возможностей людей.
Фундаментальный недостаток языков
программирования
Рассмотрим одну из важнейших интеллектуальных проблем — проблему программирования. Вспомним слова академика Андрея Ершова:
«Человек неизмеримо усилит свой интеллект, если сделает частью своей натуры способность планировать свои действия … одним словом, сделается программистом».
Прав ли уважаемый академик? Нет сомнения: умение хорошо программировать значительно расширяет умственные возможности специалистов, позволяя оптимизировать работу ума и использовать компьютер на порядок эффективнее. Однако здесь есть одно «но». На практике предложенный Ершовым путь улучшения интеллекта — увы! — не работает. Он просто-напросто закрыт для подавляющего большинства желающих. Почему?
Неприятность в том, что все без исключения известные языки программирования слишком сложны и недоступны «для народа». Они предназначены для узкой касты знатоков и больше ни для кого. Интеллектуальные трудозатраты на освоение программирования недопустимо велики.
Поэтому языки программирования не в состоянии обеспечить необходимое облагораживающее воздействие на интеллектуальную жизнь общества. Они не могут преодолеть раздробленность индивидуальных интеллектов и обеспечить необходимое усиление могущества всемирного коллективного разума, соответствующее современным требованиям.
Наряду с классом языков программирования и другими искусственными языками (которые, разумеется, должны продолжать функционировать в культуре) необходимо создать класс принципиально новых языков, для обозначения которых предлагается термин «суперязыки интеллектуального общения» (для краткости — суперязыки).
дракон — первый в истории суперязык
Одно из наиболее драматических противоречий нынешней фазы развития цивилизации состоит в следующем. С одной стороны, слабость планетарного разума ставит под угрозу судьбу цивилизации, причем наука не имеет ответа на вопрос: как получить необходимый для спасения прирост интеллекта?
С другой стороны, громадные интеллектуальные резервы человеческого мозга по-прежнему не используются. Потому что люди «эксплуатируют» свой мозг из рук вон плохо, неграмотно, совсем не так, как того требуют его «проектные» (эргономические и нейробиологические) характеристики.
Итак, зачем нужны суперязыки? Чтобы устранить это противоречие, преодолеть нынешний интеллектуальный тупик за счет выявления и научно-обоснованного использования скрытых резервов мозга.
Социальный успех любого искусственного языка, его укорененность в культуре, возможность крупномасштабного расширения сферы его применения и международного признания зависят от общедоступности и полезности языка. Полезность суперязыков определяется тем, что они должны облегчить понимание и взаимопонимание, обеспечить стратегический интеллектуальный прорыв, позволяющий качественным образом увеличить умственную мощь цивилизации.
Язык ДРАКОН можно охарактеризовать как первый в истории эргономичный суперязык, так как он разработан с помощью научно-обоснованных методов эргономического проектирования.
Можно сказать и по-другому. ДРАКОН — это первый сознательно сделанный эргономический шаг в языковом строительстве. Эргономический — значит, во-первых, нацеленный на улучшение работы ума, во-вторых, опирающийся на всю мощь науки о человеческих факторах — эргономики и когнитивной науки. Сказанное можно резюмировать в форме краткого тезиса: ДРАКОН — это эргономическая революция в «языкостроении».
Сам факт существования и успешной эксплуатации ДРАКОНА в ряде крупных ракетно-космических проектов показывает, что практическая реализация суперязыков вполне возможна. Это не фантазия, не утопия, не розовая мечта — это уже реальность. Можно надеяться, что суперязыки, как новое поколение искусственных языков, позволят оптимизировать работу ума и существенно увеличить интеллектуальные возможности общества.
Заглядывая в будущее, можно, вероятно, предположить, что с появлением суперязыков перед человечеством открывается новый путь познания — путь, ведущий к подлинной мудрости.
Слайд 25. Согласно древним тибетским поверьям, дракон — символ мудрости. Древо дракона — древо мудрости. Путь дракона — путь к мудрости. С уважением относясь к древней мудрости, разработчики языка выбрали для него название «ДРАКОН».