Хелпикс

Главная

Контакты

Случайная статья





Паронджанов В. Д. 14 страница



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

Алгоритм — описание структуры деятельности.

Техноязык — язык для описания структуры деятельности.

ВЫВОДЫ

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

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

3. Технологические (императивные) знания выявляют, закрепляют в сознании и объективируют структуру деятельности.

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

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

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

7. Формализация знаний — труд, производительность которого играет важную роль (см. гл. 3). Если этот труд слишком сложен (производительность труда мала), то формализацию могут выполнять только специально подготовленные элитные специалисты; при таких условиях автоформализация практически невозможна. И наоборот, если данный труд удается облегчить, формализация становится посильной почти для каждого — только в этом случае создаются необходимые предпосылки для автоформализации.

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

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

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

Г Л А В А 14

Визуальный дракон-редактор

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

Валерий Венда

ЗАЧЕМ НУЖЕН ДРАКОН-РЕДАКТОР?

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

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

ЗАГОТОВКА-ПРИМИТИВ И ЗАГОТОВКА-СИЛУЭТ

Чтобы вырастить огромное дерево, нужно бросить в землю маленькое семечко. Любая сколько угодно сложная дракон-схема тоже вырастает из “семечка”, которое называется заготовкой. Заготовки бывают двух сортов: одна используется для построения дракон-схемы “примитив”, из другой получается силуэт (рис. 115).

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

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

ЧТО ТАКОЕ АТОМ?

Элемент меню на рис. 114 называется атомом, если он имеет два вертикальных отростка.

ДРАКОН-редактор может выполнять несколько операций, среди которых важную роль играет команда “ввод атома” (рис. 116).                                                                      Операция


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

Атомы вставляются не куда попало, а только в разрешенные места, которые называются валентными точками дракон-схемы. Перечень точек включает:

! валентные точки заготовок (отмечены на рис. 115);

! валентные точки макроикон (отмечены на рис. 2);

! входы и выходы атомов.

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

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

Рис. 116. Примеры выполнения операции “ввод атома”
116

ПРИМЕР ПОСТРОЕНИЯ ДРАКОН-СХЕМЫ
“ПРИМИТИВ”

Дракон-схема строится на экране компьютера методом “сборки из кубиков”. Чтобы посмотреть, как это делается, нарисуем схему, изображенную на рис. 117. В начале работы пользователь вызывает на экран визуальное меню (рис. 114) и размещает его в удобном для себя месте, например в правом верхнем углу экрана. Остальная часть экрана используется как рабочее поле для построения дракон-схемы.

Схема, которую мы хотим построить (рис. 117), — это примитив. Поэтому прежде всего нужно поместить в рабочее поле заготовку-при­митив. Для этого на первом шаге графического конструирования пользователь обращается к меню, подводит курсор к макроиконе “заготовка-силуэт”, преобразует ее в заготовку-примитив и копирует последнюю
в рабочее поле экрана (рис. 118, шаг 1). На втором шаге пользователь вызывает из меню икону “действие”. Но куда ее поместить? Пользователь переводит курсор в рабочее поле и указывает точку в заготовке-примитив, в которой следует разорвать соединительную линию, чтобы
в образовавшийся разрыв вставить выбранную икону. Результат операции виден на рисунке (рис. 118, шаг 2).

Два следующих шага выполняются аналогично: в дракон-схему вводятся еще одна икона “действие” и макроикона “переключатель” (рис. 118, шаги 3 и 4).

Далее следует операция “добавление варианта”, выполняемая без обращения к меню. С ее помощью модифицируется макроикона “пере­ключатель”, к которой добавляется еще одна икона “вариант” (рис. 118, шаг 5).

Последующий ход строительства ясен из рис. 118 (шаги 6—8). После того как графический узор (слепыш) дракон-схемы построен, производится заполнение его текстом. Окончательный результат работы редактора показан на рис. 117.

ОПЕРАЦИЯ “ПЕРЕСАДКА ЛИАНЫ”

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

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

Рис. 118. Конструирование дракон-схемы “примитив” с помощью ДРАКОН-редактора
Рис. 117. Технология: как определить кислотность раствора
117, 118

Выполнение этой операции не требует обращения к меню и осу­ществляется в два этапа. Сначала курсор подводится к нижнему концу лианы, который пользователь желает освободить (рис. 119, левая графа). Но куда его присоединить? Пользователь выбирает желаемую точку и отмечает ее курсором (рис. 119, средняя графа). Результат операции “пересадка лианы” показан на том же рисунке в правой графе.

Многие дракон-схемы, представленные в этой книге, построены с помощью пересадки лианы. Укажем некоторые из них: рис. 26б, 27б,
40, 41, 42, 57в, 60в, 67—74.

ОПЕРАЦИЯ “ЗАЗЕМЛЕНИЕ ЛИАНЫ”

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

Операция “заземление лианы” проводится в два этапа без обращения к меню. Первый этап (отрыв нижнего конца лианы от своего места) осуществляется точно так же, как при пересадке лианы (рис. 120, левая графа). На втором этапе пользователь подводит курсор к нижней линии силуэта, указывая точку, куда лиана может дотянуться, не пересекая других линий (рис. 120, средняя графа). Это действие по­рождает автоматическое появление в нужном месте иконы “адрес”, через которую лиана и присоединяется к нижней линии (рис. 120, правая графа).

Заземление лианы использовалось при построении силуэтов с многоадресными ветками, например, на рис. 4, 6а, 51–54, 84, 88, 89.

ПРИМЕР ПОСТРОЕНИЯ
ДРАКОН-ПРОГРАММЫ “СИЛУЭТ”

Построим визуальную программу, изображенную на рис. 96. На первом шаге конструирования пользователь обращается к меню и вызывает в рабочее поле заготовку-силуэт (рис. 121, шаг 1). На следующем шаге с помощью операции “добавление ветки” (которая выполняется без обращения к меню) он модифицирует заготовку, вставляя в силуэт еще одну ветку (рис. 121, шаг 2). Дальнейший ход строительства ясен из рисунка: в шагах 3—8, 10—13 реализуется операция “ввод атома”, в шаге 9 — “заземление лианы”. Графическое конструирование заканчивается в момент получения желаемого слепыша (рис. 121, шаг 13).

Рис. 119. Примеры выполнения операции “пересадка лианы”
119

Рис. 120. Примеры выполнения операции “заземление лианы”
120

Рис. 121. Конструирование дракон-схемы “силуэт” с помощью ДРАКОН-редактора
121

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

ФОРМИРОВАНИЕ НАДПИСЕЙ “ДА” И “НЕТ”

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

ВЫВОДЫ

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

2. Визуальное меню существенно облегчает работу пользователя — оно дает возможность конструировать дракон-схему методом “сборки из кубиков”. Для этого служит операция “ввод атома”, позволяющая доста­вать “кубики” из меню и укладывать их в проектируемую дракон-схему.

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

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

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

Г Л А В А 15

Описание визуального синтаксиса
языка ДРАКОН

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

Галилео Галилей

ОБЩИЕ ПОНЯТИЯ

Тезис 1. Иконы — визуальные буквы, образующие визуальный алфавит языка ДРАКОН, представленные на рис. 1.

Тезис 2. Заготовка-примитив и заготовка-силуэт — фигуры, показанные на рис. 115.

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

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

Тезис 5. Дракон-схема — общее понятие для обозначения примитива и силуэта.

ШАМПУР-БЛОК

Тезис 6. Шампур-блок — часть дракон-схемы, имеющая один вход сверху и один выход снизу, содержащая одну или несколько икон, причем:

! вход и выход лежат на одной вертикали, через которую проходит путь от входа к выходу;

! через каждую икону, входящую в состав шампур-блока, проходит хотя бы один путь от входа к выходу;

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

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

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

ОПЕРАЦИЯ “ВВОД АТОМА”

Тезис 8. Атомы — фигуры, изображенные на рис. 122. Эти фигуры используются в операции “ввод атома”. Любой атом является шампур-блоком.

Тезис 9. Валентная точка — точка, принадлежащая заготовке или дракон-схеме, в которой разрешается произвести разрыв соединительной линии, чтобы в место разрыв вставить атом с помощью операции “ввод атома”.

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

Дополнительные сведения об атомах

Тезис 11. Атомы делятся на простые и составные. Простой атом состоит из одной иконы, составной содержит не менее двух (рис. 122).

Тезис 12. Функциональный атом — простой атом, не являющийся пустым оператором. Таковы все простые атомы, кроме комментария.

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

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

Критические и нейтральные точки

Тезис 15. Валентные точки делятся на нейтральные и критические.

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

Тезис 17. Валентные точки находятся в заготовках и атомах. Они показаны на рис. 115 и 122, где нейтральные точки обозначены светлыми кружками, критические — жирными точками.

Рис. 122. Атомы и валентные точки
122

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

Тезис 19. Полная совокупность критических точек охватывает:

! критические точки в пустых атомах;

! одну критическую точку в заготовке-примитив;

! одну критическую точку в заготовке-силуэт.

Тезис 20. Полная совокупность нейтральных точек охватывает:

! входные и выходные точки атомов;

! две внутренние точки в атоме “цикл ЖДАТЬ”;

! одну точку в заготовке-силуэт;

! точки, полученные в результате нейтрализации критических точек.

Правила использования операции “ввод атома”
при построении дракон-схемы

Тезис 21. Операция “ввод атома” применяется для ввода только простых и пустых атомов, а также цикла ЖДАТЬ. Ввод непустого атома осуществляется в два этапа; сначала вводится пустой атом, затем в его критическую точку вводится функциональный атом.

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

Тезис 22. Матрешка — фигура, полученная путем ввода пустого атома в критическую точку пустого атома, а также путем многократного вложения пустых и непустых атомов друг в друга (рис. 123).

Тезис 23. Матрешка бывает пустой (если все содержащиеся в ней атомы пустые), частично пустой (если в ней есть как пустые, так и непустые атомы) и непустой (если все ее атомы непустые). См. рис. 124—126.

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

Тезис 24. Чтобы устранить пустые атомы из дракон-схемы, есть два способа:

! превратить пустой атом в непустой;

! преобразовать пустой атом в пустую матрешку, затем превратить ее в непустую.

Тезис 25. Устранение из дракон-схемы пустых атомов автоматически приводит к уничтожению всех критических точек.

Рис. 127. Ошибка “сиамские близнецы” — это запрещенная связь между ветками
Рис. 126. Непустая матрешка
Рис. 125. Частично пустая матрешка
Рис. 124. Пустая матрешка
Рис. 123. Построение графоэлемента “матрешка”
123—127

ОПЕРАЦИИ С ЛИАНОЙ

Тезис 26. Лиана — часть дракон-схемы, имеющая один вход и один выход, именуемые “началом лианы” и “концом лианы” соответственно. Началом лианы может быть любой выход икон “вопрос” и “вариант”, если он (выход) не является петлей цикла. Концом лианы считается точка слияния, в которой нижняя часть лианы соединяется с другой линией (концом лианы не может быть неразветвленный вход иконы).

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

Пересадка лианы

Тезис 28. Пересадка лианы — преобразование дракон-схемы, выполняемое за четыре шага.

Шаг 1. Производится отрыв конца лианы от точки присоединения (рис. 119).

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

! формировать второй вход в ветку (ошибка “сиамские близнецы” — см. рис. 127);

! образовывать новый цикл;

! создавать второй вход в цикл.

Однако разрешается строить новый путь из середины обычного цикла к единственному входу в этот цикл, создавая визуальный эквивалент оператора continue языка СИ (см. рис. 90, пример 7, а также рис. 41).

Шаг 3. Производится эквивалентное преобразование топологии дракон-схемы, чтобы лиане не пришлось загибаться наверх (рис. 128)
и соблюдались правила построения шампур-блока (рис. 129).

Шаг 4. Устраняются неоправданные изломы линий (рис. 130).

Заземление лианы

Тезис 29. Заземление лианы — преобразование дракон-схемы, выполняемое за четыре шага.

Шаг 1. Производится отрыв конца лианы от точки присоединения (рис. 120).

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

Шаг 3. Производится разрыв линии в нижней части лианы и в место разрыва вставляется икона “адрес” (рис. 120).

Шаг 4. Устраняются неоправданные изломы линий.

Рис. 129. Ошибка при пересадке лианы. Нарушено правило “вход и выход шампур-блока лежат на одной вертикали, через которую проходит путь от входа к выходу”
Рис. 130. Ошибка при пересадке лианы. В точках А и В имеются неоправданные изломы линий, которые можно устранить
Рис. 128. Ошибка при пересадке лианы. Вертикаль АВ ориентирована снизу вверх, что запрещено
128 — 130 117, 118

ПРОЧИЕ ОПЕРАЦИИ

Тезис 30. Боковое присоединение — преобразование дракон-схемы, с помощью которого в схему добавляются иконы “синхронизатор” или “формальные параметры”.

Икона “синхронизатор” размещается слева от другой иконы и соединяется с ней горизонтальным отростком. Перечень икон, к которым осуществляется боковое присоединение синхронизатора, показан на рис. 2 (п. 8—20).

Икона “формальные параметры” размещается справа от иконы “заголовок” и соединяется с ней горизонтальным отростком, как показано на рис. 2 (п. 1).

Тезис 31. Добавление варианта — преобразование дракон-схемы, с помощью которого в атом “переключатель” добавляется еще одна икона “вариант”. Число добавлений не более 14, так что максимальное число вариантов в переключателе равно 16.

Тезис 32. Добавление ветки — преобразование силуэта, в который добавляется еще одна ветка. Число добавлений не более 14, так что максимальное число веток в силуэте равно 16.

Тезис 33. Удаление последней ветки — преобразование силуэта, при котором удаляется крайняя правая ветка. Этот прием используется при описании бесконечного параллельного процесса, как показано в примерах на рис. 88 и 89.

Тезис 34. Удаление конца примитива — преобразование примитива, при котором удаляется икона “конец”. Это необходимо для описания бесконечного параллельного процесса.

Тезис 35. Дополнительный вход — преобразование силуэта, с помощью которого добавляется еще одна икона “заголовок”, которая размещается над любой иконой “имя ветки” (кроме левой) и соединяется с ней вертикальным отростком. При этом на верхней горизонтальной линии силуэта рисуют направленную вправо стрелку, как показано в примере на рис. 84 справа.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ

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

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

П о я с н е н и е. Тезисы 36 и 37 могут рассматриваться как окончательные определения понятий “примитив” и “силуэт”.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.