1. Интегрированная среда DRAKOH

Дракон – это крокодил с крылышками

Интегрированная среда DRAKON языков ДРАКОН и ГНОМ

Тестовая версия

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

Выпуск и.с. DRAKON от 21.10.2010.

Скачать последнее обновление справки и программы можно с http://forum.oberoncore.ru/viewtopic.php?p=22669#p22669.

С 06.04.2008 по 01.06.2010, со ссылок автора выполнено ~ 4500 скачиваний и.с. DRAKON, в т.ч. предыдущий выпуск с 02.02.2010 скачан ~ 900 раз.

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

ГНОМ – Графический Наглядный Очень Маленький язык – декларативный (описательный) язык.

Автор языков - Владимир Даниелович Паронджанов, к.т.н., из www.npcap.ru - ФГУП "НПЦ Автоматики и приборостроения им. акад. Н.А. Пилюгина".

Смотрите - http://parondzhanov.livejournal.com/ , http://upr.1september.ru/, 1. Рассказывает, 2. Рассказывает

Язык ДРАКОН для XXI-го века, создан и вышел из космической колыбели БУРАНа (полет 15 ноября 1988г.).

О создании программного обеспечения БУРАНа - www.buran.ru.

История создания языка ДРАКОН - www.transhumanism-russia.ru.

Книги: "Занимательная информатика" (1998, 2000, 2007) для младшего и среднего школьного возраста,

"Как улучшить работу ума. Алгоритмы без программистов - это очень просто!" (1998, 2001) - www.arbinada.com,

"Почему мудрец похож на обезьяну" (2007).

"Дружелюбные алгоритмы понятные каждому. Как улучшить работу ума без лишних хлопот». (2010, в печати).

Стандарт: ГОСТ 19.701-90 (ISO 5807–85) Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

Форум с участием В.Д. Паронджанова и Wiki на www.oberoncore.ru - Оберон-технологии в России.

На форуме в теме: “Культурология языка ДРАКОН” http://forum.oberoncore.ru/ - современное изложение от 27.05.2008.

На форуме http://www.computerra.ru/forum/ обсуждение и.с. DRAKON и языка ДРАКОН.

АПЛ проекта 941, “Акула”, по классификации НАТО “Тайфун”.

Самая большая подводная лодка в мире. Можем сказать – “Подводный космодром”.

19 марта – День подводника, В. Высоцкий – «Спасите наши души, мы бредим от удушья …»,

12 апреля – День космонавтики,

Смотрите видеофильмы о «Акуле», других АПЛ и ракетах здесь из передач "Военная тайна".

Автор интегрированной среды DRAKON – Геннадий Николаевич Тышов, 1946г.р., 1С программист 2-й категории, из www.spoarktika.ru - ОАО "Северное производственное объединение "Арктика".

Адрес: для письма и на форуме http://forum.oberoncore.ru/.

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

DRAKON © Тышов Г.Н. 2007-2010. Предыдущие рабочие наименования программы - DR, DRT.

DRAKON – это интегрированная среда применения языков Дракон и Гном.

DRAKON – это программная среда интерактивного учебника..

DRAKON – это программа для алгоритмизации решений ваших проблем.

DRAKON – это инструмент техники вашего алгоритмического мышления.

DRAKON – это программа для формализации профессиональных знаний специалистов.

[Паронджанов В.Д.] “Такое умение должно стать частью их профессиональной культуры”.

DRAKON – это программа для корпоративной трансляции опыта к новой смене специалистов.

DRAKON – это программа для интегрирования решения ваших проблем со сферой вашей деятельности.

DRAKON – обеспечивает взаимопонимание специалистов различных подразделений предприятия и единство формы общения.

DRAKON – это текстовая информационная база, интегрированная с алгоритмами вашей деятельности.

DRAKON – это средство систематизации и конспектирования декларативных (описательных) знаний.

DRAKON – это средство регистрации, планирования и контроля текущих дел.

DRAKON – это среда программирования и синтеза ПО.

DRAKON – это единственная, реальная, доступная, общего применения среда использования языков Дракон и Гном.

DRAKON – это прототип и инструмент для специалистов, разработчиков будущих программ - сред применения языка Дракон.

Устанавливает для них возможные области применения, которые надо перекрыть.

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

Устанавливает для них возможное расширение языков Дракон и Гном, терминологию.

Устанавливает для них, де-факто, стандарт реализации языка Дракон для всех областей применения.

В блоге президента России Д. Медведева есть сообщение о языке Дракон с рекомендацией - «нужно научить мыслить алгоритмически».

[Паронджанов В.Д. Цитаты из различных источников.]

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

Язык в равной степени рассчитан на четыре категории лиц:

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

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

3. на школьников и студентов;

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

При создании Дракона были предъявлены необычные для программистов, математиков и «технарей» гуманитарные требования:

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

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

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

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

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

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

Зачем нужен Дракон-редактор?

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

http://forum.oberoncore.ru/ 24 Февраля 2008

6.Моя книга — это обращение к творческим умам, призыв к энтузиастам. Ребята! Если вам нравится идея Дракона, создайте на его основе хороший язык. (Дракон-редактор, уточнение Тышова)

7. Мы в ракетной технике на основе Дракона сделали такой язык, какой нужен нам. Но вам он не годится. Так что создайте другой, удобный для вас.

http://forum.oberoncore.ru/ 02 Июня 2008

НЕДОСТАТОК ПОЗИЦИИ АКАДЕМИКА ЕРШОВА

Ершов смотрел на проблему по-крупному, порою не различая деталей (в ту пору это было вполне извинительно). Однако есть деталь, которую следует признать важной. Это различие между ПРОГРАММИРОВАНИЕМ И АЛГОРИТМИЗАЦИЕЙ.

Моя мысль состоит в следующем.

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

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

АЛГОРИТМИЗАЦИЯ — ВТОРАЯ ГРАМОТНОСТЬ?

Развивая идеи академика Ершова, учитывая его ошибки и реалии сегодняшнего дня, можно сделать следующие замечания:

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

• Массовое обучение алгоритмизации, наоборот, полезно и необходимо.

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

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

В чем преимущества такого подхода? Они очевидны. Деятельность — это работа. Как известно, все люди работают. Значит, работу каждого человека, можно описать в виде алгоритма (исключения не в счет). Такое умение (умение описать сложную работу в виде алгоритма) во многих случаях оказывается очень полезным. В частности, оно позволяет почти без труда осуществить автоформализацию процедурных профессиональных знаний.

[Конец цитат]

[Тышов Г.Н. цитата http://forum.oberoncore.ru/ 09 Апреля 2008]

Вспомните о детях, которые учились и учатся по книге В.Д. Паронджанова "Занимательная информатика". Книга с 1998 года выдержала 3 издания. Дети ждут Дракон-редактор. Чтобы язык ДРАКОН и Дракон-редактор пришли в школу и высшую школу вместе с языком Компонентный Паскаль, надо рассказать о них на сайте "Информатика-21" http://www.inr.ac.ru/~info21/.

[Конец цитаты]

[Руслан Богатырев цитата http://forum.oberoncore.ru/ 25 Февраль, 2009]

Руслан Богатырев – инициативные предложения в правительство по разработке Национальной операционной системы 2007г., Национальной программной платформы 2009г. .

Дракон как единый язык спецификаций

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

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

[Конец цитаты]

Варианты применения:

Технология ГРАФиТ, т.е. сочетание ГРАФики И Текста. Для организаций обеспечивается взаимодействие подразделений. Обеспечивается полное использование возможностей интегрированной среды.

Средняя школа. Для школы, высшей школы и самообразования. В объеме книги "Занимательная информатика".

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

По технологии ГРАФИТ, применение разнесено на 3-и уровня.

1. Управленческий. Для руководства, менеджеров и заказчика. В управленческих текстовых приложениях записываются ссылки на нормативные и распорядительные документы, выписки из них.

2. Алгоритмический, прикладной. Для прикладных специалистов, постановщиков. Формируется алгоритм в виде графических Дракон - схем. В алгоритмических текстовых приложениях записываются описания и пояснения к графическим Дракон - схемам, указания программисту.

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

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

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

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

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

Реализуется работа со словарем (глоссарием) для получения доступа от терминов в тексте к определениям в блоках «Запоминатель».

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

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

Графику можно сохранить в графическом файле или в системном буфере обмена. Графический файл можно загрузить во внешний графический редактор, корректировать, напечатать. Рекомендуется MS Paint. Из системного буфера обмена изображение листа или схемы можно можно вставить в текст в редакторе MS Word или другом текстовом редакторе.

Файл Дракон - листа (.drt, текстовый) можно обработать в различных целях вашей внешней программой.

DRAKON.exe – исходный исполнительный файл, DRAKON.chm – файл справки к программе.

Программа имеет русскую локализацию, не требуется инсталлировать, может использоваться на сменном носителе (флэшке).

Программирование и отладка выполнены на ПЭВМ с Delphi7, Windows XP, оперативной памятью 512 Мб.

О дальнейшем развитии DRAKON: запланировано поддержка интегрированной системы DRAKON, совершенствование алгоритмов реализации, выполнение доработок.

Спасибо за ваши сообщения о применении, планах применения, мнении, отзывы, советы, предложения, замечания, критику, корректировки.

Благодарю всех за внимание к моему скромному труду и за участие: жену Надежду Сергеевну, Владимира Даниеловича Паронджанова, участников форума на www.oberoncore.ru, коллег из ОАО "СПО "Арктика".

Интеграция среды выполнена в следующих направлениях:

- цель - использование алгоритмического языка Дракон и декларативного языка Гном;

- интерактивный учебник – для обучения и хранения справочной и описательной информации;

- инструментальные средства - отображение и редактирование графической и текстовой информации, сборка текста;

- объекты - графика, текст, Дракон-лист, Дракон-проект;

- система хранения графики и текста – текстовые файлы с открытой структурой CSV или SDF. Структура файла, процедуры чтения и записи приведены в файле DRT_File.pas.

- деятельность - учеба, творчество, алгоритмизация, распространение алгоритмов, проектирование, разработка;

- область применения - образование, хобби-разработки, наука, управление, производство, бизнес;

- интеграция с интегрированными средами различных языков программирования – обеспечивается поддержка ряда языков программирования;

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

Об освоении пользователем интегрированной среды Drakon

Освоение среды необходимо производить постепенно, без настроя на “кавалерийский наскок”. В справке возможно не все описано, предполагается, что программа понятна интуитивно. Экспериментируйте, будьте исследователем. Первоначально надо ознакомиться с книгами Паронджанова, начиная с “Занимательной информатики”, ознакомиться со “Справкой”, освоить среду в варианте применения – “Учеба”.

К книге “Как улучшить работу ума” надо возвращаться неоднократно. Автор снимает те “табу”, запреты, заблуждения, которые сформировались после работ Э. Дейкстры во время компании о “структурном программировании”.

Задавайте вопросы, ответы на них, вы и все пользователи, получите через Интернет на форуме, а потом они будут помещены в очередном выпуске “Справки” в разделе “Вопросы и ответы”.

Использование Вами интегрированной среды DRAKON зависит от вашего творческого подхода.

Ваш ребенок уже читает, ходит в школу, пользуется компьютером. Дайте ему замечательную книгу “Занимательная информатика”, можно в электронном варианте (напечатайте 1-е 10 страниц), файл Drakon.exe переименуйте по имени ребенка – например Настя.exe. И ваш ребенок навсегда приобретет интерес и научится: “Что лучше: порядок или путаница?”, ”Алгоритмическому мышлению, т.е. искусству правильно мыслить и разумно планировать свои действия” [в кавычках В.Д. Паронджанов]. Книга заканчивается словами “Продолжение следует”.

Интегрированная среда DRAKON, это и есть ее компьютерное продолжение: предоставляет инструментальное средство; позволит заменить изучение искусства, изучением науки правильно мыслить и планировать свои действия.

Популяризатор математики Д. Пойа в конце книги "Как решать задачу" привел следующую интересную обобщенную схему решения задачи: http://msk.treko.ru/

Д. Пойа приводит такую "синтетическую" пословицу: "Ваши лучшие пять друзей: Что, Почему, Где, Когда и Как. Если вам нужен совет, обратитесь к Что, Почему, Где, Когда и Как — и больше ни к кому не обращайтесь. Ничему не верьте, но сомневайтесь только в том, что вызывает сомнение. Найдя первый гриб или сделав первое открытие, осмотритесь вокруг, - они родятся пучками".

Интегрированная среда DRAKON предоставит вам возможность работать с друзьями - вопросами: Что, Почему, Где, Когда и Как.

В.Д. Паронджанов ставит вопрос "Как улучшить работу ума”? Обратим внимание на то, что ум такой ограниченный и надо не сойти с него.

Решение находим у Дэвида Аллена в книге “Getting Things Done” (Как разобраться с делами, Как привести дела в порядок) – методика GTD www.transhumanism-russia.ru (http://www.parabox.ru/). Интересно, книги “Как улучшить работу ума ” и ”Как разобраться с делами” оказались рядом и единственными в разделе “Учебники” библиотеки сайта российских трансгуманистов.

Дэвид Аллен предлагает разобрать все дела из корзины для входящих. Разложить по категориям: решение не требуется, для справки, для решения нужно меньше 2-х минут – сразу выполнить, решение дела делегировать другому исполнителю, остальным делам назначим срок исполнения и соответственно разместим. После этого в голове хранить ничего не надо, она соответственно не загружена грузом всех проблем и не болит, все рассортировано и размещено. Дэвид Аллен предлагает использовать компьютер и текстовый редактор, другими авторами было предложено использовать различное оборудование, разработаны специализированные программы, смотрите http://ru.wikipedia.org/wiki/Getting_Things_Done.

Интегрированная среда DRAKON предоставит вам возможность: хранить сведения о делах, рассортировать по категориям, срокам исполнения, алгоритмам исполнения в соответствии с методикой GTD, обрести спокойствие.

Использовать язык Дракон взамен UML. UML содержит большое разнообразие по назначению графических диаграмм, графических объектов и элементов отображения их взаимодействия. Соответственно, UML сложно освоить, использовать для документирования и общения с не квалифицированным персоналом. UML не имеет интеграции со средой программирования. Критику смотрите: http://ru.wikipedia.org/wiki/UML

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


2. Инструмент техники мышления

Интегрированная среда DRAKON - инструмент техники мышления

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

Рассмотрим информационную сторону мышления

1. Мышление проявляется в том, что возникает мысль.

2. Мысль является единицей продукции процесса мышления

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

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

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

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

7. Мыслей может быть много и память не может удержать все. Утверждается, что предел равен 5 – 7, для некоторых лиц 2 -3..

8. Мысль должна оформиться, т.е. стать конкретной и четкой.

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

10. Мысли могут быть из различных проблемных областей, их надо систематизировать и упорядочивать.

11. Мысль надо сохранить, чтобы вернуться к ней позже.

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

13. Не загружайте свою память, используйтесь для записей и планирования дел интегрированную среду DRAKON.

14. Мысль может быть сохранена для будущего рассмотрения, использования.

15. Мыслью надо поделиться с другим человеком, т.е. ее надо передать.

16. Мысль может быть предметом обсуждения.

17. Мысль надо тиражировать для передачи обществу.

18. Мысль может развиваться, побуждая другие и распадаясь на множество связанных мыслей.

19. Мысль надо реализовать, возможно, необходимо создать алгоритм в проблемной области.

20. Мысль может быть ошибочной, не актуальной, ее надо удалить.

21. Мысль формирует ваше отношение к окружающему миру.

22. Мысль меняет свою форму, воплощается в конструкцию изделия, компьютерную программу, творческое произведение, документацию.

23. Интегрированная среда DRAKON заставляют человека мыслить отчетливо, глубоко и продуктивно.

24. Интегрированная среда DRAKON изменяет сложившийся стиль мыслительной деятельности.

25. Интегрированная среда DRAKON повысит вашу коммуникабельность, позволяем Вам создать предмет общения и Вас легче будет понять.

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

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

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

29. Кризис - это отсутствие идей! Мысль рождает идеи и выводит из кризиса.

30. Идея – зафиксированная мысль.

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

Все эти и другие проблемы мышления можно решать с помощью интегрированной среды DRAKON.

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

Организация работы с мыслью аналогична организации работы с делами по методике GTD у Дэвида Аллена в книге “Getting Things Done”, смотрите в справке раздел «Интегрированная среда DRAKON».

Для плодотворного мышления Вам необходимо освоить язык ДРАКОН и интегрированную среду DRAKON.

Освоите, и интегрированная среда DRAKON будет сопровождать Вас на всем пути творческой деятельности.


3. Работа в и.с. DRAKON

Работа в интегрированной среде DRAKON

Экран программы

Программа имеет одну форму отображения.

На форме размещены следующие элементы:

- заголовок формы. Содержит: имя программы, номер выбранного листа и их количество, номер выбранной версии листа и их количество, имя файла листа,

- главное меню;

- окно графики, в нем этикетка программы или поле графики Дракон – листа, линейки прокрутки изображения;

- разделитель окон;

- окно текста схемы и окно текстового файла. Разделитель окон и окно текста присутствует при отображении текста;

- строка состояния.

Элементы графики

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

В поле графики отображается Дракон – лист.

Дракон – лист может содержать несколько Дракон – схем. На лист вставляется схема «Примитив», взможно преобразовать схему «Примитив» в схему «Силуэт», и при некоторых условиях преобразовать схему «Силуэт» в схему «Примитив».

В зависимости от настройки Дракон – схемы размещаются без наложения – режим «Планшет» или с наложением – режим «Картотека». Дракон – лист имеет колонтитул с 6 полями текста и имеет текстовые приложения.

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

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

В иконе имеется 1 или 2 текстовых поля, описывающих предметную область оператора, идентификатор, текстовые приложения, метка.

На линии может находиться точка ввода в виде квадрата для возможного ввода икон.

Также имеются точки ввода над иконами «Вариант» и «ИмяВетки».

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

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

Текстовые приложения в зависимости от настройки отображаются 2, 3, 4 квадратами.

Для каждого листа можно выбрать и сохранить шрифт текста.

Выбор элементов графики

При выборе листа – нет признаков выбора.

При выборе схемы – рамка схемы дополняется широкой рамкой цвета выбора. При выборе элементов в схеме, выбор схемы, также отображается,

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

При выборе узла – он отображается в виде ромба.

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

При выборе метки иконы так же меняется состояние метки.

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

Выбранный элемент отмечается цветом выбора или маркером выбора.

Выбор сопровождается пояснением в полях строки состояния.

Мышка

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

Левой клавишей (LeftMouse) производится выбор. Выбираются:

- лист – вне схем. У листа можно выбрать колонтитул, текстовое приложение;

- схема – на схеме. У схемы можно выбрать идентификатор, текстовое приложение;

- икона – на иконе. У иконы можно выбрать текст (верхний или нижний), идентификатор, текстовое приложение, изменить метку;

- узел - соединение линий, в пределах маркера - ромба (появится при выборе);

- точка ввода - в пределах квадрата, маркер окружность;

- текстовые приложения к листу, схеме, иконе - в пределах квадрата;

Выбор производится в момент отпускания клавиши мышки.

LeftMouse+Движение или RightMouse+Движение: производится выбор шампур-блока. Выбор отображается пунктирной рамкой.

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

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

При выборе правой клавишей (RightMouse) выдается контекстное меню.

Выбор строки состояния открывает или закрывает окно текста схемы и окно текстового файла.

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

Перемещение изображения также производится при вращении колесика мышки по вертикали, при нажатой клавише Shift по горизонтали, при нажатой клавише «Ctrl» шаг перамещения увеличивается.

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

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

Мышка также используется в окнах текста.

Клавиатура

В поле графики с клавиатуры выполняются следующие действия:

Вызвать главное меню – F10, вызвать контекстное меню – клавиша «Контекстное меню».

Могут использоваться клавиши и их комбинации указанные в пунктах главного и контекстных меню.

Клавишей «Tab» открывает или закрывает окна текста.

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

Клавишами «Л» выбирается «л»ист.

Клавишей «С» выбирается «с»хема. После этого: клавишами «Влево», «Вправо» меняется схема; «Вниз» от выбора схемы переходим к выбору икон схемы.

Клавишей «М» переключается «м»етка выбранной иконы.

Клавишей "Ш" для выбранного узла или иконы отображается рамка выбора «ш»ампур-блока. Клавишами «Вниз» и «Вверх» изменяется размер рамки, «Esc» отображается выбранный шампур-блок, «Esc» выделение шампур-блока заменяется на выделение дракон-схемы.

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

Клавишами Ctrl+«Стрелки» производится выбор связанных с листом, схемой, иконой, узлом элементов: колонтитула, идентификатора, текстового приложения, точки ввода.

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

Смотрите пункт «Окно текста».

Главное меню

Главное меню выбирается мышкой или клавишей «F10».

В пунктах «Файл», «Лист», «Версия», «Правка» , «Вид» , «Настройка» и «Справка» выдаются выпадающие меню.

Остальные пункты меню являются кнопками:

- «<=», «=>» - перейти на лист с меньшим или большим номером;

- «<-», «->» – перейти на версию листа с меньшим или большим номером;

- «<=Назад», «=>» и «Х» - смотрите пункт «гипертекст».

Видимость и активность пунктов меню зависит от варианта применения программы и текущего выбора.

Пункт меню, имеющий « - » в начале наименования, при выборе меняет состояние. Состояние отображается присутствием или отсутствием галочки, точки в пункте.

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

Контекстное меню поля графики

Выдается при выборе элемента графики и отпускании правой клавишей или при нажатии клавиши «Контекстное меню».

Содержание меню зависит от варианта применения и текущего выбора. Активность пунктов меню зависит от текущего выбора. В тексте пункта определен объект применения и выполняемое действие.

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

Окно графики

В листе схемы раскладываются в виде планшета или картотеки в соответствии с настройкой.

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

Окно графики имеет линии прокрутки для перемещения листа.

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

Текстовые приложения для листа, схемы, иконы отображаются 3-мя квадратами, соответственно: управленческие, алгоритмические, программные. Для пустого текстового приложения - пустой квадрат, при наличии текста - сплошной квадрат.

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

Наличие 3-го и 4-го квадратов зависит от выбора языка программирования.

Разделитель окон

Граница между окнами графики и текста, передвигается мышкой. Присутствует при открытом окне текста.

Окна текста

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

Окно текста имеет свое контекстное меню с функциями, свойственными большинству редакторов. Например, в нем предусмотрены типичные комбинации «горячих» клавиш: Ctrl-C - копирование выбранного текста в буфер обмена Clipboard (команда Copy), Ctrl-X - вырезание выбранного текста в буфер Clipboard (команда Cut), Ctrl-V - вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z - отмена последней команды редактирования.

Шрифт для окна текста выбирается в меню «Настройка» и сохраняется для следующего сеанса работы с программой.

Режим отображения в окне длинных строк текста (с переносом, без переноса) выбирается в меню «Настройка» и сохраняется для следующего сеанса работы с программой.

Можно производить поиск образца в тексте. Поиск производится без учета регистра образца и текста.

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

Работа с окном текста файла ?????????????

Буфер окна текста используется для временного хранения текста окна текста.

В окно текста можно загрузить текстовый файл. При этом сохраняется имя файла.

В окно текста можно загрузить буфер.

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

Текст окна можно сохранить в текстовом файле. При этом можно использовать сохраненное имя файла.

Текст окна можно сохранить в буфере.

В контекстном меню есть пункт для сбора в буфере списка ссылок для иконы «Модуль».

Идентификатор иконы, схемы

Иконам и схемам можно присвоить идентификаторы (по ГОСТ 19.701–90) для ссылок в документах или описаниях.

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

Необходимо контролировать длину идентификатора при размещении в графике.

Иконы

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

Метка устанавливается левее иконы. Смысл меток может быть различным: выполнено, проверено, ошибка, переделать и т.д. Проверка содержания печатного документа с простановкой меток (галочек), иногда называется “скрыжить”.

Разрешение редактировать метки включается в меню «Настройка». Метки можно убрать повторным выбором и через меню «Правка» / «Удалить метки икон в схеме, листе».

Для некоторых икон можно заменить вид иконы: >«Комментарий»> «Действие»> «Вставка»>; >«Комментарий»> «Текст»> «ТекстВРамке»> «Вставка»>.

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

Строка состояния

Строка состояния имеет поля:

- наименование выбранного объекта,

- наименование текста в выбранном объекте,

- содержание графического буфера,

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

- координаты курсора мышки.

Следите за строкой состояния.

Графический буфер

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

Тексты в выбранной иконе можно выборочно заменить текстами из иконы в графическом буфере.

Построение графики ДРАКОН – схем

При внесении изменений в любую версию листа создается новая версия с изменениями, текущая, с наибольшим номером.

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

Дефект всегда можно устранить:

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

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

- вернуться к предыдущей версии листа и повторить работу в другой последовательности.

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

При выборе пункта меню «Рокировать ветви блока Развилка» производится перестановка ветвей развилки. Ветви развилки должны иметь входы в общую горизонтальную линию объединения.

При необходимости, для устранения объединения линий, вставте временно икону например «Действие», образуется дополнительная точка ввода, вставте необходимые иконы, удалите временную икону.

Пересадкой лианы можно, преобразовать блок «Развилка» или «Переключатель» в «Обычный цикл» или в «Переключающий цикл», а также наоборот. Можно преобразовать блок «Обычный цикл» в «Цикл ЖДАТЬ», вставив икону «Период», а также наоборот. Применять эти преобразования не рекомендуется и выбор вида блока должен быть сделан изначально.

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

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

Контролируйте правильность дракон – схемы выполняя для схемы в контекстном меню пункт «Проверить».

О построении схем с параллельными действиями в соответствии с ГОСТ 19.701-90 смотрите раздел «Параллельные действия в алгоритмах».

Сдвиг элементов графики

Перемещение элементов графики позволяет изменить или исправить графику в соответствии с вашими требованиями к размещению элементов.

Перемещать можно вертикаль или горизонталь в схеме – выбрав икону или узел, схему в листе – выбрав схему, все схемы – выбрав лист.

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

При нажатии Ctrl шаг сдвига клавишами увеличивается в 5 раз.

Страхование

Страхование листа производится после изменений, созданием файла версии листа в папке TMP.

Незначительные, повторяющиеся изменения (положение икон, метка иконы) сохраняются в текущей версии листа.

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

Перемещаться между листами, можно выбрав пункты меню «<=», «=>».

Перемещаться между страховыми версиями листа, можно выбрав пункты меню «<-», «->».

Можно перейти на любой лист, на любую версию листа, закрыть лист при выборе пункта меню «Лист» или «Версия».

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

При внесении изменений в версию листа, он дублируется с наибольшим номером и становится текущей.

При сохранении листа остается одна версия, соответствующая сохраненному файлу.

Отображение графики ДРАКОН – схем

Для графики можно выбрать стиль оформления «Плакат» или «Чертеж». При стиле «Плакат» имеется закраска листа – темно-серая и закраска схемы – светло-серая, что способствует снижению утомляемости зрения. Пользователь может изменить стиль оформления, внеся изменения в файл Drakon.ini. Файл можно удалить и корректировать во время работы с программой.

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

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

В меню «Настройка» / «- Показывать выбор в графическом файле» можно установить режим отображения выбора в графическом файле.

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

Работа программы с ДРАКОН – проектом

Комплект Дракон – листов относящихся к одной теме (проекту) образует Дракон – проект.

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

Для работы в рамках Дракон – проекта предусмотрено следующее:

- Одновременное открытие нескольких листов;

- Контроль сохранения всех листов при закрытии интегрированной среды;

- Оперативное перемещение между листами;

- Перенос схем, блоков между листами через графический буфер.

- Икона «Модуль» со ссылками на иконы «Сборка текста», «Модуль» и других листов. Можно производить поиск листов по образцу. Поиск производится без учета регистра образца и текстов.

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

Предусмотрена работа с глоссарием. Глоссарий образуют блоки «Запоминатель» всех листов проекта.

Смотрите раздел «Интерактивный учебник».

Установка программы. Файлы программы.

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

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

Программа в папке программы создает файл «Drakon.ini» и папку «TMP».

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

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

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

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

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

Настройка программы пользователем

Пользователь может сам выполнить настройку программы, для этого выполняется корректировка файла «Drakon.ini».

Наименование и назначение устанавливаемых реквизитов описано в файле «Drakon.ini».

Пользователь может выполнить настройку следующих реквизитов:

- Соединитель текста программных текстовых приложений.

- Цвета элементов отображения графики. Изменения можно вносить без закрытия программы.

- Толщину линий графики. Изменения можно вносить без закрытия программы.

- Предельные размеры окна графики.


4. Параллельные действия в алгоритмах

Параллельные действия в алгоритмах

Параллельные действия (тоже процессы, операции) рассматриваются в языке Дракон, языке UML и стандарте ГОСТ 19.701-90.

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

В языке UML в диаграмме действий и в стандарте ГОСТ 19.701-90 параллельные действия (тоже процессы, операции) включены в алгоритм основного процесса и составляют его части, которые могут запускаться, выполняться и завершаться независимо, в любой последовательности и / или одновременно. Параллельные действия является параллельным по отношению к другим параллельным действиям в алгоритме. В языке UML синхронизация параллельных действий выполняется символами «разделение» и «слияние», в ГОСТ 19.701-90 символом «параллельные действия».

Из ГОСТ 19.701-90

В интегрированной среде DRAKON язык Дракон расширен введением иконы «УзелПаралДействие».

К схеме № 1 смотрите аналогичную схему на языке Дракон с использованием иконы «ПаралельныйПроцесс» и вынесением параллельных процессов из основного алгоритма.

К схемам №№ 1, 50 смотрите аналогичные схемы на языке UML.

К иконам «УзелПаралДействие» подключаются шампуры параллельных действий, 2-е или более иконы образуют линию объединения параллельных действий.

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

Каждое параллельное действие является аналогом схемы «Примитив», в которой иконы «Заголовок» и «Конец» заменены иконами «УзелПаралДействие».

Параллельное действие может быть пустым, обеспечивать синхронизацию групп параллельных дествий. Смотрите на схеме № 50 шампуры между иконами 70-66 и 68-72.

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

В интегрированной среде DRAKON для построения параллельных действий в контекстном меню имеются пункты:

1. При выборе точки ввода – «Вставить блок ‘Параллельные дейстаия’», блок содержит 2 линии объединения с 3 шампурами параллельных действий, если выше точки ввода находится «УзелПаралДействие» то блок содержит только линию объединения из 3-х икон «УзелПаралДействие».

2. При выборе узла «УзелПаралДействие» - «Вставить ’УзелПаралДействие’ -->»,

3. При выборе узла «УзелПаралДействие» - «Вставить ’УзелПаралДействие’ <--»,

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

5. При выборе узла «УзелПаралДействие» - «Удалить узлы без шампуров, уплотнить»,

6. При выборе узла «УзелПаралДействие» - «Удалить шампур вниз».

Шампур, между верхней линией объединения параллельный действий с одним шапуром вниз и нижней линией объединения с одним шампуром вверх, не является параллельным действием и лиану от его икон или узлов можно пересадить или заземлить. На схеме таким является шампур 14-24-16, лиана от иконы 26 заземлена.

Икона «УзелПаралДействие» при выделении отмечается маркером в виде ромба - 17, так же как узел. Из атрибутов, свойственных иконам, используется только номер.

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


5. Схема "Дерево"

Схема «Дерево»


6. Работа с текстом

Работа с текстом в интегрированной среде DRAKON

Гипертекст

Для иконы «Вставка» при выборе в контекстном меню пункта «Вставка: перейти к схеме» производится поиск в листах проекта и переход на схему с идентификатором или икону «Заголовок» с тем же текстом. Таким образом, в и.с. DRAKON реализуются свойства гипертекста.

В главном меню, пункт «<=Назад» позволяет вернуться к иконе «Вставка». При дальнейшем использовании пунктов «<=Назад» и «=>» производится перемещение по иконам «Вставка» в последовательности выполненных переходов. Сохраняется последовательность 10 последних переходов без их повторов.

В проекте идентификаторы схем и тексты икон «Заголовок» не должны дублироваться.

Использование икон «Вставка» создает иерархическую структуру проекта.

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

Также учебник содержит словарь – все блоки «Запоминатели».

Поиск

Реализован поиск текста по образцу в диалоге поиска. Поиск производится:

- во всех текстах всех листов для поиска листа;

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

- в листе поиск иконы или схемы с указанным номером;

- в открытом окне текстов;

- в словаре проекта. Словарем проекта являются все блоки «Запоминатель».

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

Если, при открытии диалога, открыто окно текста и в нем имеется выбранный текст, то выбранный текст становится образцом поиска.

Поиск производится без учета регистра образца.

Для поиска по словарю производится поиск образца в иконе «Указатель» блоков «Запоминатель».

Для поиска по словарю в образце:

- слова из 3-х и менее букв не используются;

- в словах длинной 6 и более букв, последние 2 буквы не используются, т.к. могут быть изменяемой частью слова;

- последовательность слов произвольная.

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

Находим икону «Указатель» с текстом соответствующим образцу. Словарной статьей является текст иконы «МнемоБлок».

Для продолжения поиска в словаре, в диалоге поиска нажать кнопку «Далее», для изменения направления поиска установить направление «Вниз» или «Вверх», для возврата к месту, откуда ушли в поиск, нажать кнопку «Отмена».

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

Сборка текста

Работа с иконой «Сборка текста» производится в режиме «Планшет».

В схеме ГНОМ можно установить несколько икон «Сборка текста» и «Модуль».

Икона «Сборка текста» позволяет сформировать список текста. В список можно включить: идентификатор иконы, при отсутствии идентификатора - номер иконы, текст иконы, текст приложения, иной список, 4-е квадраты икон «СборкаТекста», «Модуль» и схем «Примитив», «Силуэт». Любой текст может присутствовать в нескольких списках. При выборе 4-х квадратов, в сборку текста включается текст, собранный по 4-му квадрату.

Список отображается при выборе иконы «Сборка текста» и при ее редактировании в виде линии сборки. Линия сборки начинается от иконы «Сборка текста», проходит через выбранные тексты с указанием номера в последовательности, текущая позиция в списке отмечена маркером – окружностью.

Можно установить отображение линии сборки текста и без режима редактирования. Для этого выберем пункт меню «Вид» / «Показать линию сборки текста». При этом будет присутствовать линия сборки у той иконы «Сборка текста», которая выбиралась последней.

Икона «Модуль» обеспечивает сборку текста программного модуля. Для включения текста с иного листа на текущем листе должна присутствовать икона «Модуль» со ссылками. Ссылки могут быть на иконы «СборкаТекста», «Модуль», схему «Примитив» или «Силуэт», т.е. тексты 4-го квадрата. В тексте иконы «Модуль» можно указать несколько ссылок. В каждой строке текста иконы записывается 1 ссылка.

Ссылка записывается в виде: имя листа, точка, расширение – DRT, точка, номер. Пример – АБВ.drt.28, т.е. ссылка на лист «АБВ.drt» на икону «Сборка текста» с номером «28». Регистр текста ссылки может быть любым. Лист, на который есть ссылка, должен быть открыт. Номера в ссылках – номера икон «СборкаТекста» или «Модуль», схем «Примитив» или «Силуэт». В ссылках в пределах листа иконы «Модуль» могут не указываться - имя листа, точка, расширение – DRT, точка.

Сборку списка ссылок для иконы «Модуль» можно выполнить выбором в контекстном меню пункта «Взять ссылку в буфер». Текст списка ссылок из буфера текста переносится в текст иконы «Модуль» копированием через системный буфер.

Для программных приложений, можно выполнять сборку текста объединением конечной строки с начальной строкой следующего текста в одну строку. Для этого текст последней строки заканчивается соединителем – «>>», пробелы за ним игнорируются. Текст первой строки следующего текста может начинаться таким же соединителем «>>», пробелы перед ним игнорируются.

Предусмотрены следующие действия:

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

- Установить текущую позицию списка - выберите мышкой текст на линии, оттмечается маркером - ромбом.

- Вставить текст в список после текущей позиции - нажмите клавишу «Ctrl» и выберите мышкой текст вне линии. Так же вставляется текст с 4-х квадратов.

- Удалить текст из списка – нажмите клавишу «Ctrl» и выберите мышкой текст на линии.

- Выключить режим редактирования списка текста - нажмите клавишу «Esc».

Редактировать тексты можно выполнять без выключения режима редактирования линии сборки текста.

При выборе 4-х квадратов производится просмотр или редактирование собранного текста.

Среда интерактивного учебника, книги

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

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

- Описание декларативных знаний в схеме «Гном»;

- Представление алгоритмов в схемах «Примитив» и «Силуэт»;

- Структурирование файлов листов в иерархической структуре каталогов;

- Защита файлов листов от изменения;

- Структурирование схем и связь их в иерархическую структуру через иконы «Вставка», переход по иерархической структуре с возвратом;

- Формирование словаря из всех в учебнике блоков «Запоминатель», с поиском словарных статей по образцу, взятому в тексте;

- Возможность учащемуся устанавливать метки к иконам. Позволяет организовать проверку знаний по принципу тестирования;

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

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

Работа с командными файлами

Для обработки текста открытого окна текстов внешней программой в главном меню «Файл» имеются пункты:

«Командный файл (.bat)» - «выполнить .bat», «выбрать .bat».

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

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

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


7. Программирование, синтез ПО

Программирование, синтез программного обеспечения в интегрированной среде DRAKON

Организация программирования

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

В.Д. Паронджанов разделяет текстовый программный код на 3 части:

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

- Маршрутную. Содержит алгоритм выполнения процедуры.

- Командную. Содержит обработку информации, преобразование, передачу параметров в процедуры.

Есть еще в программном коде 4-я часть:

- Комментарии, Содержит описание прикладной области в терминах этой области.

Использование и.с. Drakon позволяет интегрировать разработку алгоритма и его программирование.

Дракон-схема «Примитив» или «Силуэт» содержит:

- маршрутную часть, т.е. алгоритм для процедуры программного кода;

- описание в терминах прикладной области в тексте икон, т.е. комментарии для программного кода;

В приложении (программном текстовом) Дракон-схемы может содержаться декларативная часть процедуры.

В приложениях икон Дракон-схемы может содержаться командная часть процедуры.

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

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

Программирование может быть выполнено в последовательности:

  1. Написать в среде языка программирования декларативную часть модуля и процедур. Выполнить визуальное программирование пользовательского интерфейла.
  2. Получить в и.с. Drakon шаблоны программного кода процедур и передать их в среду языка программирования.
  3. Написать в среде языка в шаблонах программного кода командную часть процедур.
  4. Отладить декларативные и командные части программного кода.
  5. Если не требуется изменить алгоритм и маршрутную часть, то программа готова. Желательно, перенести декларативные и командные части в и.с. Drakon в приложения для хранения и возможности выполнить сборку полного программного кода модуля, процедуры.
  6. Если требуется доработка алгоритма и маршрутной части, то необходимо перенести декларативные и командные части в и.с. Drakon в приложения.
  7. Выполнить доработку алгоритма,
  8. Выполнить полную сборку программного кода, будет получен частично полный программный код.
  9. Заменить код в среде языка. Доработать декларативные и командные части программного кода, соответственно внести изменения в и.с. Drakon в приложения.
  10. Выполнять п.п. 4 – 9 до завершения разработки.

Особенности программирования Дракон – схем

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

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

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

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

В иконе «Вопрос» переменной «Условие» должно присваиваться значение «1» для передачи управления по выходу «Да», и значение «0» для передачи управления по выходу «Нет». Анализ должен быть полным и обеспечивать передачу управления по обоим выходам иконы «Вопрос».

.

В иконе «Выбор» переменой «Условие» должно присваиваться значение номера иконы «Вариант» для передачи на нее управления. Анализ должен быть полным и обеспечивать передачу управления ко всем иконам «Вариант» блока «Переключатель».

Дракон-схема «Силуэт» имеет следующие особенности для программирования:

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

- может иметь несколько входов.

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

Использование автомата для программирования рассмотрено в статьях http://www.codenet.ru/, http://ru.wikipedia.org/wiki/

И.с. Drakon является примером реализации принципов автоматного программирования.

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

Структура шаблона программного кода

1. Пример Дракон-схемы «Силуэт».

2. Соответствующий ей шаблон программного кода процедуры на языке Делфи:

// и.с. DRAKON Трансляция маршрутной части. Изменение 02.11.2009 11:00:42 – Заголовок шаблона кода

...... – Программное приложение к схеме. Объявление процедуры, переменной Usl и прочих проблемных данных.

label L84,L89,L113,L120;

begin

...... – программное приложение к схеме, при наличии нескольких входов. Код для выбора ветки.

// 67. Заголовок // Вычисление поправки

if Usl=67 then goto L113;

// 135. Заголовок // Второй вход для примера

if Usl=135 then goto L89;

//

// ==================== Шампур - Начало шампура

// 67. Заголовок // Вычисление поправки - Икона без программного приложения

//-88. ПравКомментарий // Расчет поправки по формуле линейной 4-х точечной интерполяции – Икона с боковым присоединением

// 69. ИмяВетки // Первое слагаемое

// 94. Комментарий // Интерполяционная формула

L113: - Метка

// 113. Действие // numer=0

//-114. ПравКомментарий // Задали первый слой сетки (J)

...... – Программное приложение к иконе с номером 113.

L84:

// 84. Вставка // Формула

......

// 112. Действие // numer=numer+1

//-115. ПравКомментарий // Увеличим счетчик слоя

......

// 116. Вопрос // numer=2

...... – Программное приложение для иконы «Вопрос». Анализ проблемные данные и присвоение значения предопределенной переменной Usl.

if Usl=0 then goto L120; - Переход по значению переменной Usl на шампур с иконой № 120.

// 124. Действие // "J=J-1"

//125-. ЛевКомментарий // Восстановили старое значение (J)

......

// 48. Действие // Ввод NT Ввод NT(J) - x

......

// 70. Адрес // Выход

goto L89; - Переход по окончанию шампура

//

// ==================== Шампур

L120:

// 120. Действие // Ввод NT(J+1) Ввод NT - x

......

// 119. Действие // S0=XL S1=XH

//-49. ПравКомментарий // Запомним результат

......

// 62. Действие // "J=J+1"

//-92. ПравКомментарий // Задали второй слой сетки (J+1)

......

goto L84;

//

// ==================== Шампур

// 135. Заголовок // Второй вход для примера

// 75. ИмяВетки // Выход

// 64. Комментарий // Расчет поправки: NQ:={ NQ1+NQ2 } / { NT(J+1)-NT(J) } NQ1=(S0,S1) NQ2=(XL,XH)

L89:

// 89. Действие // XL=XL+S0 XH=XH+S1

......

// 90. Действие // Ввод NT(J+1) Ввод NT(J) - /

//-46. ПравКомментарий // Искомая поправка

......

// 86. Действие // OCR1A=XL

//-87. ПравКомментарий // Загрузка поправки в регистр ШИМ

......

// 76. Конец // Конец

...... – Программное приложение иконы «Конец». Для функции необходим оператор возврата значения. Необходим оператор выхода из процедуры.

end;

Построение шаблона программного кода очевидно из примера.

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

Иконы в схеме, к которым пишется текстовое программное приложение, имеют 3-й квадрат.

В шаблоне кода пустым программным приложениям соответствуют многоточия.

Нет программного приложения к иконам: «Заголовок», «Комментарии», «ИмяВетки», «Адрес», «Вариант», «Параметры», «Синхронизатор». Функции иконы «Параметры» к схеме реализуются в программном приложении к схеме. Функции иконы «Параметры» к иконе «Вставка» реализуются в программном приложении к иконе «Вставка». Функции иконы «Синхронизатор по таймеру» реализуется в программном приложении той иконы, к которой выполнено присоединение.

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

3. Программирование на языке семейства Оберон имеет особенности.

Так как в семействе нет переходов и меток, то реализация выполнена с ипользованием цикла и предопределенной переменной Avt. Здесь состояние автомата разделяется при каждой иконе «Вопрос» и иконе «Выбор».

{и.с. DRAKON Трансляция маршрутной части. Изменение 02.11.2009 11:00:42}

......

......

{ 67. Заголовок // Вычисление поправки }

IF Usl=67 THEN Avt:=113

{ 135. Заголовок // Второй вход для примера }

ELSIF Usl=135 THEN Avt:=89

END;

LOOP

CASE Avt OF

{}

{==================== Шампур}

{ 67. Заголовок // Вычисление поправки }

{ -88. ПравКомментарий // Расчет поправки по формуле линейной 4-х точечной интерполяции }

{ 69. ИмяВетки // Первое слагаемое }

{ 94. Комментарий // Интерполяционная формула }

| 113:

{ 113. Действие // numer=0 }

{ -114. ПравКомментарий // Задали первый слой сетки (J) }

......

| 84:

{ 84. Вставка // Формула }

......

{ 112. Действие // numer=numer+1 }

{ -115. ПравКомментарий // Увеличим счетчик слоя }

......

{ 116. Вопрос // numer=2 }

......

IF Usl=0 THEN Avt:=120

ELSE Avt:=124

END;

| 124:

{ 124. Действие // "J=J-1" }

{ 125-. ЛевКомментарий // Восстановили старое значение (J) }

......

{ 48. Действие // Ввод NT Ввод NT(J) - x }

......

{ 70. Адрес // Выход }

Avt:=89;

{}

{==================== Шампур}

| 120:

{ 120. Действие // Ввод NT(J+1) Ввод NT - x }

......

{ 119. Действие // S0=XL S1=XH }

{ -49. ПравКомментарий // Запомним результат }

......

{ 62. Действие // "J=J+1" }

{ -92. ПравКомментарий // Задали второй слой сетки (J+1) }

......

Avt:=84;

{}

{==================== Шампур}

{ 135. Заголовок // Второй вход для примера }

{ 75. ИмяВетки // Выход }

    {
64. Комментарий // Расчет поправки: NQ:={ NQ1+NQ2 }
/ { NT(J+1)-NT(J) } NQ1=(S0,S1) NQ2=(XL,XH) }

| 89:

{ 89. Действие // XL=XL+S0 XH=XH+S1 }

......

{ 90. Действие // Ввод NT(J+1) Ввод NT(J) - / }

{ -46. ПравКомментарий // Искомая поправка }

......

{ 86. Действие // OCR1A=XL }

{ -87. ПравКомментарий // Загрузка поправки в регистр ШИМ }

......

{ 76. Конец // Конец }

......

END {CASE}

END {LOOP}

END ;

4. Программирование на произвольном языке.

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

; и.с. DRAKON Трансляция маршрутной части. Изменение 02.11.2009 11:00:42

......

......

; 67. Заголовок // Вычисление поправки

;if Usl=67) then goto L113

; 135. Заголовок // Второй вход для примера

;if Usl=135) then goto L89

;

; ==================== Шампур

; 67. Заголовок // Вычисление поправки

;-88. ПравКомментарий // Расчет поправки по формуле линейной 4-х точечной интерполяции

; 69. ИмяВетки // Первое слагаемое

; 94. Комментарий // Интерполяционная формула

L113:

; 113. Действие // numer=0

;-114. ПравКомментарий // Задали первый слой сетки (J)

......

L84:

; 84. Вставка // Формула

......

; 112. Действие // numer=numer+1

;-115. ПравКомментарий // Увеличим счетчик слоя

......

; 116. Вопрос // numer=2

......

;if Usl=0 then goto L120

; 124. Действие // "J=J-1"

;125-. ЛевКомментарий // Восстановили старое значение (J)

......

; 48. Действие // Ввод NT Ввод NT(J) - x

......

; 70. Адрес // Выход

;goto L89

;

; ==================== Шампур

L120:

; 120. Действие // Ввод NT(J+1) Ввод NT - x

......

; 119. Действие // S0=XL S1=XH

;-49. ПравКомментарий // Запомним результат

......

; 62. Действие // "J=J+1"

;-92. ПравКомментарий // Задали второй слой сетки (J+1)

......

;goto L84

;

; ==================== Шампур

; 135. Заголовок // Второй вход для примера

; 75. ИмяВетки // Выход

; 64. Комментарий // Расчет поправки: NQ:={ NQ1+NQ2 } / { NT(J+1)-NT(J) } NQ1=(S0,S1) NQ2=(XL,XH)

L89:

; 89. Действие // XL=XL+S0 XH=XH+S1

......

; 90. Действие // Ввод NT(J+1) Ввод NT(J) - /

;-46. ПравКомментарий // Искомая поправка

......

; 86. Действие // OCR1A=XL

;-87. ПравКомментарий // Загрузка поправки в регистр ШИМ

......

; 76. Конец // Конец

......

;end

5. Произвольная сборка

Произвольная сборка производится без использования модели конечного автомата.

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

Сборка производится по правилам сборки текста.

Сборка програмного текста модуля

Сборка производится в схеме «Гном» с использованием икон «СборкаТекста», «Модуль». Декларативная часть модуля и другие части, за исключением процедур и функций, помещается в программном приложении иконы «ТекстВРамке».

Особенности программирования цикла ДЛЯ

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

В языке Оберон в цикле ДЛЯ не допускается использовать внутренний цикл Для, иконы «Вопрос» и блока «Переключатель».


8. Реализация языка ДРАКОН

Реализация языка ДРАКОН в интегрированной среде DRAKON

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

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

ГНОМ – Графический Наглядный Очень Маленький язык - декларативный язык. Подмножество языка ГРАФ.

МОЛНИЯ – Маленький Очень Легкий Наглядный И удобный Язык. Подмножество языка ГРАФ.

ГРАФ – ГРАФический язык – мощное оружие интеллекта.

Интегрированная среда DRAKON является результатом эволюционного развития программы DRT дракон - редактора, транслятора предыдущих версий до 2009 года и реализует языки Дракон и Гном. В среде DRAKON учитываются обсуждения и предложения на форуме http://forum.oberoncore.ru/ .

В интегрированной среде DRAKON имеется ряд изменений и расширений от описания языка Дракон.

1. Добавлена новая схема ГНОМ – для отображения декларативных знаний. В ней полностью реализован язык ГНОМ, т.е. есть «Запоминатель». Схема расширена иконами: «Комментарий», «Левый комментарий», «Правый комментарий», «Текст в рамке», «Текст», «Сборка текста», «Модуль» и «Вставка».

2. Введена возможность работы с комплектом Дракон-листов – Дракон-проектом. Сборка текста с различных листов обеспечивается наличием ссылок в иконе «Модуль».

3. Часто икона «Вставка» воспринимается как вызов процедуры или функции. Икона имеет смысл: выполнить предусмотренные действия, тоже - выполнить процедуру, функцию, дракон-схему. Предусмотрен переход от иконы «Вставка» к реализующей ее схеме или к иконе «Заголовок» и возврат к иконе «Вставка».

4. К иконе «Заголовок» для отличия схемы-функции от схемы-процедуры можно присоединить признак функции в виде «>».

5. К иконе «Вставка» можно присоединить икону «Параметры» и признак функции в виде «>», аналогично иконе «Заголовок».

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

7. В языке Дракон, иконы имеют только текст. В среде DRAKON у иконы, дополнительно, может присутствовать идентификатор иконы, метка (галочка), управленческое, алгоритмическое, программное приложения, список сборки текста, уникальный номер иконы.

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

9. В среде DRAKON термин «точка ввода» заменяет термин языка Дракон «валентная точка».

10. В среде DRAKON термин «шампур-блок» заменяет термин языка Дракон «фрагмент шампура». В шампур-блок входит 1-на или несколько икон на шампуре и иконы связанные с ними. Не должно быть связей выходящих за пределы блока. Шампур-блок ограничен сверху точкой ввода, снизу точкой ввода или узлом на горизонтальной линии объединения.

11. В среде DRAKON термин «блок» заменяет термины языка Дракон «макроикона», «составной атом».

12. В среде DRAKON не используются термины «атом», «матрешка».

13. В среде DRAKON нет ограничения на количество икон «Имя ветки» и «Вариант» в схеме.

14. Из языка Дракон отсутствует операции: «Вырезать вставку», «Вставить вставку», используются операции с шампур-блоком.

15. Используется термин «икона», это графическое изображение оператора графического языка.

16. В языке Дракон нет использования в алгоритмах «Параллельных действий», предусмотренных в ГОСТ 19.701-90. Для их применения добавлена икона «Узел Параллельное действие». Смотрите раздел «Параллельные действия в алгоритмах».

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


9. Вопросы и ответы

Вопросы и ответы об интегрированной среде DRAKON

Вопросы и ответы на http://forum.oberoncore.ru/

1. Для чего нужен язык ГНОМ, что он позволяет сделать?
У В.Д. Паронжанова, книга "Почему мудрец похож на обезьяну", глава "Учитесь делать графические конспекты".
Для текстовых описаний (конспектов) предложены языки Гном, Молния, Граф.
В Гноме одна конструкция - запоминатель, она состоит из икон: указатель и мнемоблок.
Запоминатель концентрирует внимание на определении, наименование определяемого предмета помещается в указатель, смысловое значение помещается в мнемоблок.
Запоминатели имеются во всех книгах В.Д.П. и воспринимаются как очевидное.

2. Главное, зачем, работать со схемой ГНОМ?
Каких именно "декларативных знаний"?
Схема Гном служит для формирования текстовых описаний, подобно страницы книги, не процедурных, не алгоритмических.

В схеме Гном есть блок запоминатель и иконы: текст в рамке, текст без рамки, комментарий, вставка, сборка текста, модуль. В схеме они размещаются сверху вниз без соединительных линий.

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

3. Замечание по программе: иногда не запускается нормально и не дает создать лист с ошибкой "недостаточно памяти". Иногда справка не открывается, несмотря на неоднократный вызов соответствующего пункта меню.
Программирование и отладка выполняются на ноутбуке, оперативная память 512Мб, Windows XP, формируется в цвете, графическое изображение 3500*2500 пикселей. В программе нет настроек на наличие ресурсов. Проблем нет, ваши проблемы, вероятно, связаны с компьютером, проверьте работу на другом компьютере, при наличии проблем сообщайте.
Справку можно просматривать и вне программы.
Кстати, работать можно с флэшки, т.е. дома и еще где-нибудь, используется только каталог программы.

4. Можно поподробнее? Что, формат drt понимается каким-то распространенным графическим редактором? Каким?

Говорилось о выводе листа в графический файл .png.
Файл с расширением png прочитайте редактором Paint.
Можете редактировать: убрать ненужное, добавить логотип фирмы, красивый заголовок, угловой штамп для подписей.
Подготовить для печати, т.е. установить параметры страницы: формат бумаги, размер полей = 0, выбрать ориентацию, раскладку картинки на N*M страницах, центрировать, подогнать или масштабировать.
Предварительно просмотреть. Напечатать. Обрезать кромки поля (подумайте часть или все), склеить скотчем или клеем.
Повесить на стену, провести презентацию.

5. Не знаю, как применить и работать в интегрированной среде.

Необходимо ознакомиться с языком Дракон по книгам Паронджанова, с содержанием «Справки». При работе в программе, следите за содержанием строки состояния. Своевременно обновляйте программу и “Справку”.

6. «Плохой язык. Нет интерпретатора под Linux. В общем должен умереть, так как не ОSS. Был бы OSS - был бы шанс.» Утверждение и ответ здесь

Ну почему же так сразу. У меня линукс и редактор Тышова прекрасно работает под wine.

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

7. Графический буфер: как теперь выбрать - вырезать(копировать)- вставить шампур-блок? С отдельной иконой получается. Раньше левой мышью выбирались начальная-конечная точки, теперь нет.

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

В справке сказано: "11. …. В блок входит 1-на или несколько икон на шампуре и иконы связанные с ними. Не должно быть связей выходящих за пределы блока. Блок завершается вертикальной линией или рядом узлов на горизонтальной линии объединения".

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

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

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

9. При переносе схем с компа на ноут или обратно (думаю дело в разрешении экрана), текст в иконах отображается либо за пределами иконы, либо в самой иконе имеется свободное место.

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

Для одновременного исправления размещения текста во всех иконах листа можно выполнить следующее: меню Правка / Лист: Установить шрифт ..., откроется диалог "Шрифт" со шрифтом, ранее выбранным для листа, не изменяя выбора нажать кнопку "Ok". При этом тексты и высота икон переформатируются без изменения ширины икон.

10. В версии от 02.02.2010 размер поля 3500 на 2500, у меня по схеме много веток и они не уместились в ширину.

Графика может находиться за границами поля 3500*2500 , не отображаться и не размещаться в графическом файле, для доступа к ней производится сдвиг всех схем.

Решение проблемы:

Установить настройку "Планшет".
Установить курсор мышки на схеме вне икон.
При этом можно сдвигать схему на листе Shift+LeftМышка+движение.

Переместите схему так, чтобы в поле был верхний левый угол схемы, выведите в графический файл, измените его имя - добавив _ВЛ.
Переместите схему так, чтобы в поле был верхний правый угол, выведите в графический файл, измените его имя - добавив _ВП.
Переместите схему так, чтобы в поле был нижний левый угол, выведите в графический файл, измените его имя - добавив _НЛ.
Переместите схему так, чтобы в поле был нижний правый угол, выведите в графический файл, измените его имя - добавив _НП.

Имя можно изменять и иначе: _1, _2, _3, _4.

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

Таким образом, в и.с. DRAKON ограничения на размер схемы нет.

В версии с сентября 2010 ограничение размеров поля определяется ресурсом компьютера.


10. История изменений

=== Выпуск от 15.09.2010…

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

2. Прокрутка листа колесиком мышки при нажатии «Ctrl» производится с большим шагом.

3. Редактирование линии сборки текста к иконе «СборкаТекста» производится без контекстного меню. Смотрите раздел «Работа с текстом / Сборка текста».

4. При загрузке программы производится удаление файлов *.TMP, хранимых более 24 часов.

5. Для отдельных пунктов контекстного меню назначены горячие клавиши Del, Ctrl+X, Ctrl+C, Ctrl+V – с традиционным действием.

6. Икона «Проект» переименована в икону «Модуль», что отображает смысл сборки модуля программного кода.

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

8. Изменены главное меню, контекстные меню и строка статуса. Выполнены другие доработки для повышения эргономичности программы. Устранены замеченные сбои в работе программы.

9. Окно текста заменено окнами текстов схемы и файла. Окно файла выполняет роль буфера текста.

10. Введено копирование изображения листа или дракон-схемы в системный буфер - ClipBoard. Назначена горячая клавиша Ctrl+P. При нажатой клавише «Alt» копирование производится с сохранением отображения выбора. Возможно, вставить изображение в Word и графические редакторы.

11. Иконы «ТекстВРамке», «Действие», «Комментарий», «Вставка», сходные по начертанию, и блок-шампур из них можно переносить между схемами «Гном» и «Примитив», «Силуэт».

12. Исключено создание цикла влево от шампура.

13. С сентября 2010 изменен формат файлов *.DRT. Ранее в строках файла применялся 2 различных разделителя данных – пробел и запятая. Сейчас, только запятая. Формат (A) файла полностью соответствует формату CSV или формату SDF (system data format).

14. Создана программа конвертирования формата файлов в обоих направлениях. Учтены все измения формата за 2009 и 2010 годы.

15. Расширено использование списка точек возврата (гиперпертекст), в главном меню пункты «<=Назад», «=>», «X». Точкой возврата можно назначить лист, схему, икону, при переходах для иконы «Вставка», при выборе и переходах для иконы «Адрес».

16. Расширен состав точек ввода. Через точки ввода вставляются ветка схемы «Силуэт», иконы «Заголовок» и «Вариант». Введены точки ввода на горизонтальной линии объединения.

17. В главное меню введено переключение вариантов применения программы. Изменены наименования вариантов, сейчас: «Технология Графит», «Средняя школа», «Просмотр алгоритмов», предусмотрена фиксация варианта применения.

//18. Уточнена логика визуализации веточных циклов. Запрещено присоединение иконы //«Заголовок» в середину веточного цикла.

19. Уточнена логика простановки точек ввода.

20. Улучшен алгоритм раскладки графа дракон-схем в части бокового присоединения икон.

21. При двойном клике на элементе с текстом открывается окно текста схемы, при двойном клике вне элемента с текстом окно текста

схемы закрывается.

22. Сделана прокрутка в окне текста файла колесиком мышки.

23. При двойном клике и нажатой клавише «Ctrl», в окне текстов выделяется слово и выполняется попытка открыть файл с именем соответствующим этому слова, в т.ч. файл *.drt .

10. Изменен. Введено копирование изображения листа или дракон-схемы в системный буфер - ClipBoard. Назначена горячая клавиша Ctrl+P. При нажатой клавише «Shift» копирование производится с сохранением отображения выбора. Возможно, вставить изображение в Word и графические редакторы.

24. Устранено появление пунктирной рамки при выборе другой схемы в режиме «Картотека».

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

26. В главном меню введен пункт «Удалить файл листа».

27. Отказался от сложного и не полного алгоритма визуализации веточного цикла. Теперь отмечается икона «Адрес» с передачей управления на икону «Ветка» расположенную выше на шампуре или левее. Проверка замыкания веточного цикла производится при выполнении пункта «Проверить» контекстного меню схемы. У икон удален реквизить CCkl.

28. Новый лист создается без схемы.

29. В режиме «Картотека» при листании схем производится их позиционирование а верхнем левом углу экрана.

30. Не выполняется рокировка «Развилки» при передаче подключении лиана сверху к правой ветви, выдается предупреждение и совет.

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

32. Устранена ошибка в логике разрешения выполнения действий по горячей клавише Ctrl+V.

33. Устранена ошибка формирования строки дата и время в заголовке схемы и файле листа.

34. Для блока "Развилка", иконы "Конец" производится выбор русского или английского написания "Да/Нет, Конец".

35. Взамен клавиши «Л», из схемы выбор листа: вверх, вниз.

35. Взамен клавиши «С» выбор схемы: в листе вверх, вниз; для иконы «Заголовок» вверх, для иконы «Конец» вниз; в схеме влево, вправо.

35. Взамен клавиши «Ш» измененить метки иконы: выбрать поле метки, Enter.

36. В главном меню/«Файл» удалены пункты работы с командными файлами. Использовать выполнение файла при выборе его в текстовом окне.

=== Выпуск от 30.07.2010

1. При удалении иконы «Выбор», удаляется весь блок «Переключатель». Необходимо чтобы ветви всех вариантов кроме 1=й были пустыми.

2. При удалении иконы «Цикл ДЛЯ. Начало» или «Цикл ДЛЯ. Конец», удаляется весь блок «Цикл ДЛЯ». Необходимо чтобы блок был пустыми.

3. Удаление иконы «Вопрос» производится без выбора варианта удаления. Производиться при не нагруженной лиане правого вывода.

4. В сообщении «Лиану нельзя отделить от иконы - … - » теперь также указывается номер иконы.

=== Выпуск от 19.07.2010

1. Ускорено обновление экрана при больном количестве икон в схеме после внесения изменений.

2. Сохраняется и восстанавливается позиция листа на экране при смене листа или версии листа.

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

=== Выпуск от 01.07.2010

1. Ускорено перемещение (т.е. выбор) по дракон-схеме клавишами со стрелками.
2. Введено взаимное преобразование схем "Примитив" и «Силуэт».
3. Начальная схема на листе всегда «Примитив».
4. Введены точки ввода для ввода пустой ветки, «Вариант», «Заголовок». Убраны соответствующие пункты контекстного меня икон.
5. Изменены тексты некоторых пунктов меню.

==== Выпуск от 07.06.2010

1. Улучшен (что не факт) алгоритм преобразования схемы (графа) при внесении изменений.

2. Ужесточен контроль возможности пересадки лиан в параллельных действиях.

3. Иконы «УзелПаралДействий», «СинхПоТаймеру», «Параметры», «ЛевКоментарий», «ПравКоментарий» можно вставлять до присоединенного комментария.

4. К иконе «УзелПаралДействий» можно присоединитять иконы «ЛевКоментарий» и «ПравКоментарий».

5. Укрупнен ввод (блоком) икон "УзелПаралДействие".

//6. Изменена логика визуализации веточных циклов при вхождении нескольких веток. Отмечаются все иконы «ИмяВетки» и «Адрес» входящие в веточный цикл.

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

8. В панели задач отображается имя выбранного файла листа.

9. Незначительно перестроено главное меню

10. Сокращены тексты в пунктах главного и контекстного меню. Унифицированы (уменьшено разнообразие) тексты меню.

11. В справке введен раздел «История изменений».

===== Выпуск от 01.06.2010

1. Перестроено главное меню.

2. Работа с текстом окна текста с использованием командной строки заменена на работу с использованием командного файла.

3. Исключено сохранение между сеансами работы с программой:

размера окна текста,

настройки "В графическом файле показывать выбор".

4. Исключено образование узлов в виде "креста". Вопрос от С. Тарасенко.

5. Ужесточен контроль возможности пересадки лиан в параллельных действиях.

6. Улучшена графика отображения параллельных действий.

7. Изменена логика редактирования параллельных действий.

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

9. Сделано отображение в окне текста без редактирования текста икон "Адрес" и "Конец".

10. При удалении текста иконы в окне текста, в иконе устанавливается наименование вида иконы.

11. Изменен вид курсора мышки при нажатой клавише "Shift" для перемещений на листе.

12. В программе отображается размещение программы, т.е. путь и имя программы.

13. Изменены идентификаторы типов некоторых икон схемы "Гном", в том числе в файле DRT_File.pas.

14. От Sumerk Bogov (еще раз спасибо) поступил и использован модуль устраняющий эффект мигания при перерисовке листа.

15. Выполнялась проработка алгоритма компактной раскладки на плоскости дракон-схемы, т.е. ортогонального, ориентированного графа.

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

Алгоритм не найден, можете предлагать свои соображения.

==== Выпуск от 02.02.2010

25.01.2010. Сделано редактирование тестовых приложений к иконам "Адрес", "Конец".

24.01.2010. Изменен символ "=" на "==", при трансляции в код Си.

10-31.01.2010. Введены независимые параллельные действия в соответствии с ГОСТ 19.701.90

07.01.2010. В последовательности боковых присоединенных икон "ЛевКомментарий" или "ПравКомментарий" возможно вставить комментарий в середину.

04.01.2009. Блок выделяется левой или правой клавишей мышки, для правой кнопки выдается контекстное меню.

01.01.2010. Подсказка в статус строке к пунктам меню.

31.12.2009. В операции "пересадка лианы" и "Выбор адреса" выбор выполняется как правой, так левой клавишей мышки.