Язык "дракон" - учебные пособия. Что такое дракон-лист? Пример использования ИС Дракон для выбора решения по автоматизации бизнес-процессов заказчика

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

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

Язык ДРАКОН разработан совместными усилиями Российского космического агентства (НПЦ автоматики и приборостроения, г. Москва) и Российской академии наук (Институт прикладной математики им. М.В. Келдыша, г. Москва) как обобщение опыта работ по созданию космического корабля "Буран". На базе ДРАКОН а построена автоматизированная технология проектирования программных систем (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 имеют несовместимый формат. Версия редактора представленная здесь на сайте гарантированно позволяет открыть и редактировать прилагающиеся схемы. Вопросы обратной совместиости форматов или открытия нового формата в настоящий момент обсуждаются с автором редактора.

Алгоритмы без программистов — это очень просто!

НА ПОДСТУПАХ К НОВОМУ ЯЗЫКУ

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

Джордж Паджет Томсон

ЗАЧЕМ НУЖЕН ЯЗЫК ДРАКОН?

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

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

Для дотошных читателей, которые любят подробности, аналогами ДРАКОНА — в той или иной степени — можно назвать и более дальних “родственников”. К их числу относятся: диаграммы Несси—Шнейдермана, HOS-схемы, схемы “гринпринт” , SPD-диаграммы фирмы NEC, PAD-схемы фирмы Хитачи, деревья и таблицы решений, схемы декомпозиции, схемы зависимости, язык SDL и его производные, систему BLS, созданную А. Смоляниновым из Санкт-Петербургского электротехнического университета, R-схемы И. Вель-бицкого, схемы В. Прохорова и т. д.

В ЧЕМ СЕКРЕТ ДРАКОНА? — В КОГНИТИВНОМ ПОДХОДЕ

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

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

Под когнитивным фактором в данной книге понимаются познавательные, интеллектуальные, мыслительные, творческие аспекты деятельности ученых, специалистов и учащихся. Чем сложнее объект технического и социального проектирования, тем важнее делать акцент на необходимости тщательного учета когнитивных характеристик деятельности людей. Академик П. Симонов подчеркивает: для разработчиков систем “чрезвычайно важно знание правил, следуя которым живой мозг воспринимает, обрабатывает, фиксирует и использует вновь полуенную информацию. Сведения о таких правилах, выявленных в эксперименте, поставляет когнитивная психология”.
Использование названных правил позволяет получить практический результат — повысить производительность умственного труда.

ПОЧЕМУ ЛЮДИ НЕ ИНТЕРЕСУЮТСЯ СОБСТВЕННЫМ МОЗГОМ?

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

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

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

Наука о человеческих факторах называется эргономикой. Когнитивные проблемы — важная часть эргономики. Чтобы вычленить когни-тивную группу среди других эргономических вопросов, иногда употребляют термины “когнитивная эргономика” и “когнитивно-эргономические проблемы”.

СТАНЕТ ЛИ ДРАКОН ЧЕМПИОНОМ МИРА ПО КРИТЕРИЮ “ПОНИМАЕМОСТЬ АЛГОРИТМОВ”?

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

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

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

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

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

НА КОГО РАССЧИТАН ЯЗЫК ДРАКОН?

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

ПЕРЕЧЕНЬ ЗАДАЧ, РЕШАЕМЫХ С ПОМОЩЬЮ ЯЗЫКА ДРАКОН

Язык ДРАКОН может быть использован при решении следующих задач:

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

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

Стратегический обзор функций корпораций (strategic overview of corporate functions);
- описание логических отношений между процессами (logical relationship among processes);
- описание укрупненной структуры программ (overall program structure);
- описание детальной логики программ (detailed program logic);
- полная декомпозиция программ (ultimate decomposition), начиная от укрупненной логики и кончая деталями кода, что в равной мере полезно при проектировании как сверху вниз (top-down design), так и снизу вверх (bottom-up design);
- проектирование программ до последнего момента может вестись независимо от языка и лишь на последнем этапе осуществляется переход к нужному языку;
- обучение конечных пользователей, стимулирующее их анализировать и проектировать детальную логику процессов (detailed process logic);
- описание процедур организационного управления (management procedures);
- описание компьютерных методологий (computer methodologies);
- описание методологий информационной техники (methodologies of information engineering).

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

ВЫВОДЫ

1. Традиционные цели и методы создания искусственных языков, в частности языков программирования, следует признать во многом устаревшими.

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

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

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

Язык ДРАКОН используется для:

  • описания бизнес-процессов компании и их аудит,
  • разработки решений на базе 1С для их автоматизации,
  • хранение кода этих решений,
  • организация обучения сотрудников работе в рамках бизнес - процессов,
  • запись и хранение инструкций пользователей - как работать в рамках бизнес - процесса.

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

  • проводить его аудит,
  • вспомнить самому - что делали,
  • передать другой команде программистов ,
  • обучать и поддерживать персонал Заказчика.

Чем язык ДРАКОН для описания бизнес-процесса лучше, нежели другие нотации?

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

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

Теоретическая основа построения бизнес-модели

При подготовке к презентации я связывался с людьми, которые профессионально занимаются разработкой бизнес-моделей, в частности, с Кузнецовым Михаилом Анатольевичем. Он ведет проектную разработку в ARIS (это нотация, которая используется в основном при внедрении системы SAP).

Согласно его наработкам, бизнес-модель состоит из следующих компонентов :

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

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

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

Давайте перейдем от теории к практике. Для примера я взял рабочий проект автоматизации мебельной фабрики у нас в городе. В проекте участвует две стороны - Заказчик и Исполнитель. Заказчик - это владелец мебельной фабрики, а Исполнитель - это я. Мы с Заказчиком встретились и обсудили его задачи. В результате я составил «Дракон-схему» его модели бизнеса.

Посмотрим, что получилось.

Слева обозначена так называемая схема «Гном» (такой тип схем используется в основном для заметок ), в которой описан каталог целей компании :

  • Самый первый элемент на ней - это заголовок схемы.
  • Далее, желтым цветом выделена миссия компании на рынке.
  • А еще ниже находится элемент типа «Вставка», по которому происходит навигация по этим схемам .

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

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

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

На схеме Концепции вертикальной интеграции в виде конструкции «Цикл ДЛЯ» показан Жизненный цикл продаж (начало цикла - икона №5 и конец - икона №7).

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

Итак, здесь показана схема жизненного цикла производства мебели:

  • Сначала вы приходите в мебельный салон и заказываете кухню.
  • Там вам ее обсчитывают,
  • Потом изготавливают,
  • Привозят к вам,
  • Вы расплачиваетесь,
  • Подписываете акт о принятых работах (согласны вы или нет), и всё.

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

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

Подведем итог первых этапов нашего проекта-примера:

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

Соответственно, язык ДРАКОН нужен на старте любого проекта внедрения программных продуктов компании 1С.

Пример использования ИС Дракон для поддержки и обновления программных продуктов на базе 1С

Какие преимущества в использовании языка ДРАКОН на этапе владения информационной системы на базе 1С, при ее обновлении и доработке?

  • Если мы имеем бизнес-модель, мы можем её менять и развивать дальше .
  • Уменьшается зависимость от персонала . Потому, что если от нас внезапно уходит человек и не успевает передать дела, мы можем взять «Дракон-схему» его действий и передать ее новому сотруднику, чтобы он с ней поработал и выучил. После этого человек готов встать в наши стройные ряды и дальше работает.
  • «Дракон-схемы» позволяют описывать «реальные» технические задания , когда бухгалтеры уже обсудили, что им нужно, и сами составили для программиста окончательную схему: «мы хотим, чтобы делалось вот так вот».
  • Плюс ко всему, так как схема хранит одновременно и код, и логику разработки , вы можете легко менять команды программистов, разработчиков - передавать им эти схемы.
  • А поскольку там уже есть готовый код и список метаданных, которые были созданы для этой доработки, то на дальнейшие обновления вы тратите уже в разы меньше времени .

Давайте подробнее разберем тему обновления конфигурации 1С.

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

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

  • метаданные , которые создавались;
  • логика разработки - для чего они создавались;
  • и код который тамвыполняется.

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

Пример использования ИС Дракон в процессе разработки

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

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

Чем составлять дракон-схем ? Бумага, линейка, карандаш и ластик?

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

Еще есть «DRAKON Editor» и «Фабула».

Как дракон-схема хранит код и как использовать его при программировании в 1С.

Транслятор кода из ИС Дракон в Конфигуратор 1Сиспользует метод программирования по GOTO. Не буду вдаваться в дискуссии по поводу правильно его использовать или нет. Статей в интернете на эту тему достаточно. Остановимся на том, что он есть. И вот как это работает.

Для наглядности немного расскажу о том, какие изменения мы вносили в программу 1С для Заказчика на примере оформления заказа производства мебели.

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

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

На скриншоте показано техническое задание на разработку этой «волшебной кнопки» .

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

Вот весь комплекс этих схем :

Каждая схема - это процедура или функция для модуля документа «Заказ поставщику». Именно они и автоматизируют эту «Волшебную кнопку».

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

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

Так выглядит тип элемента «Цикл» (конструкции языка 1С «Для каждого … Цикл …»), зеленым цветом обозначены его границы (начало и конец). Между ними - исполняемый код для этого цикла.

А вот так выглядит тип элемента «Если». Вы здесь просто пишете условие: для «Да» такая ветка, для «Нет» - другая. А программа уже сама при генерации кода добавляет в модуль конструкцию «Если… Тогда» и метки, на которые происходит переход.

Для множественного «Если» используется другой тип элемента «Дракон-схемы»: «Переключатель».

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

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

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

Как вы видите, сюда в виде комментариев также попадают и заметки, указывающие, в схеме под каким номером этот код находится.

Как производить отладку такого кода? У каждой схемы есть уникальный номер, который нигде не повторяется. Например, на скриншоте показано условие «Если» с номером 26.

И по комментариям в конфигураторе можно найти этот код. Как вы видите, здесь находится оператор «Перейти» , который является аналогом GOTO в 1С. По нему производится переход на метку . Это не нужно писать вручную, все формируется автоматически.

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

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

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

Элементы схемы можно использовать просто как контейнеры для хранения текстовой информации кода .

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

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

Заключение

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

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

ИС Дракон - это коробочный продукт с поддержкой разных языков . Я работаю с 1С, но там поддерживается также C++, язык микроконтроллеров, и некоторые другие языки. Сам продукт продается автором. Его полноценная версия весит очень мало и стоит недорого . Есть бесплатная демо-версия , которая может использоваться как просмотровая.

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

Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2015 CONNECTION 15-17 октября 2015 года

Приглашаем вас на новую конференцию .

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

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

Графический язык ДРАКОН специально сконструирован, чтобы превратить сложный алгоритм в простую картинку(дракон-схему), обеспечивающую быстрое и легкое понимание по принципу «Взглянул - и сразу понял»! Часть 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)

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

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

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

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



Понравилась статья? Поделиться с друзьями: