|
||||||||||||||||||||||||||||||||||||||||||||||||||||
Паронджанов В. Д. 14 страницаДеятельность — последовательность физических и информационных действий, учитывающая необходимые ограничения (условия) и позволяющая получать нужный результат за конечное число шагов (действий). Алгоритм — описание структуры деятельности. Техноязык — язык для описания структуры деятельности. ВЫВОДЫ 1. Чтобы вскрыть основополагающую структуру человеческих знаний, нужно расчленить их на технологические (императивные) и декларативные. Подобное расчленение мы склонны рассматривать как генеральное деление знаний. 2. Ценность технологических (императивных) знаний состоит в том, что они теснейшим образом связаны с одним из наиболее фундаментальных понятий социально-гуманитарных наук — деятельностью. 3. Технологические (императивные) знания выявляют, закрепляют в сознании и объективируют структуру деятельности. 4. Важным свойством деятельности является существование глубинных логических инвариантов (структурных конструкций), выражаемых с помощью понятия “абстрактная дракон-схема”. 5. Традиционные способы описания деятельности не позволяют выявить глубинные инварианты; последние оказываются замаскированными, скрытыми, спрятанными от читателя. Это обстоятельство затрудняет перенос знаний и навыков, играющий важную роль в образовании и практической жизни. 6. Техноязык как особое средство, специально созданное для описания структуры деятельности, позволяет выявить и обнажить логические инварианты деятельности, сделать их явными, зримыми, доступными для всех людей. 7. Формализация знаний — труд, производительность которого играет важную роль (см. гл. 3). Если этот труд слишком сложен (производительность труда мала), то формализацию могут выполнять только специально подготовленные элитные специалисты; при таких условиях автоформализация практически невозможна. И наоборот, если данный труд удается облегчить, формализация становится посильной почти для каждого — только в этом случае создаются необходимые предпосылки для автоформализации. 8. Техноязык ДРАКОН кардинальным образом облегчает труд формализации и повышает его производительность. Следовательно, техноязык пригоден для эффективной автоформализации технологических знаний. 9. Целесообразно создать единый межотраслевой стандарт для описания структуры деятельности. Стандарт должен опираться на техноязык ДРАКОН, рассматриваемый как единое средство для описания структуры деятельности методом автоформализации технологических знаний. 10. Описание структуры деятельности и результаты формализации технологических знаний целесообразно хранить в компьютерной форме (в виде библиотек визуального гипертекста), а также в виде бумажных визуальных альбомов подходящего формата (например, формата А3). Г Л А В А 14 Визуальный дракон-редактор Овладение техникой визуализации научно-технической информации, умение представить ее в виде ясного и простого рисунка имеют большое значение. Валерий Венда ЗАЧЕМ НУЖЕН ДРАКОН-РЕДАКТОР? Разумеется, в случае крайней нужды дракон-схему можно нарисовать и вручную. Однако это не лучший способ. Гораздо удобнее воспользоваться специальной программой, которая называется “ДРАКОН-редактор”. Если же нужно создать ДРАКОН-программу, ручное рисование вообще исключается. Без ДРАКОН-редактора ввести ДРАКОН-программу в компьютер невозможно. В состав редактора входит меню графоэлементов (рис. 114). Чтобы нарисовать дракон-схему, пользователь сначала вызывает меню на экран персонального компьютера, а затем с его помощью рисует или, как говорят, конструирует дракон-схему. При этом важную роль играют так называемые заготовки. ЗАГОТОВКА-ПРИМИТИВ И ЗАГОТОВКА-СИЛУЭТ Чтобы вырастить огромное дерево, нужно бросить в землю маленькое семечко. Любая сколько угодно сложная дракон-схема тоже вырастает из “семечка”, которое называется заготовкой. Заготовки бывают двух сортов: одна используется для построения дракон-схемы “примитив”, из другой получается силуэт (рис. 115). Вообще говоря, обе заготовки следовало бы поместить в меню. Однако в целях экономии применяется следующий прием: в меню находится только одна из них — заготовка-силуэт (рис. 114, вверху слева), а заготовка-примитив получается из нее в результате простой операции, описание которой мы для краткости опускаем. Построение любой дракон-схемы выполняется за конечное число шагов путем соответствующих преобразований выбранной заготовки. ЧТО ТАКОЕ АТОМ? Элемент меню на рис. 114 называется атомом, если он имеет два вертикальных отростка. ДРАКОН-редактор может выполнять несколько операций, среди которых важную роль играет команда “ввод атома” (рис. 116). Операция
Атомы вставляются не куда попало, а только в разрешенные места, которые называются валентными точками дракон-схемы. Перечень точек включает: ! валентные точки заготовок (отмечены на рис. 115); ! валентные точки макроикон (отмечены на рис. 2); ! входы и выходы атомов. Ввод атома производится так: происходит разрыв соединительной линии в выбранной пользователем валентной точке, после чего в место разрыва вставляется атом, как показано на рис. 116. В реальных дракон-схемах валентные точки не изображаются, а подразумеваются.
ПРИМЕР ПОСТРОЕНИЯ ДРАКОН-СХЕМЫ Дракон-схема строится на экране компьютера методом “сборки из кубиков”. Чтобы посмотреть, как это делается, нарисуем схему, изображенную на рис. 117. В начале работы пользователь вызывает на экран визуальное меню (рис. 114) и размещает его в удобном для себя месте, например в правом верхнем углу экрана. Остальная часть экрана используется как рабочее поле для построения дракон-схемы. Схема, которую мы хотим построить (рис. 117), — это примитив. Поэтому прежде всего нужно поместить в рабочее поле заготовку-примитив. Для этого на первом шаге графического конструирования пользователь обращается к меню, подводит курсор к макроиконе “заготовка-силуэт”, преобразует ее в заготовку-примитив и копирует последнюю Два следующих шага выполняются аналогично: в дракон-схему вводятся еще одна икона “действие” и макроикона “переключатель” (рис. 118, шаги 3 и 4). Далее следует операция “добавление варианта”, выполняемая без обращения к меню. С ее помощью модифицируется макроикона “переключатель”, к которой добавляется еще одна икона “вариант” (рис. 118, шаг 5). Последующий ход строительства ясен из рис. 118 (шаги 6—8). После того как графический узор (слепыш) дракон-схемы построен, производится заполнение его текстом. Окончательный результат работы редактора показан на рис. 117. ОПЕРАЦИЯ “ПЕРЕСАДКА ЛИАНЫ” Обезьяна, сидевшая на дереве, поймала свисавшую сверху лиану. Однако нижняя часть лианы приросла к стволу и не поддавалась. Обезьяна перегрызла ее зубами, уцепилась за конец и мигом перелетела на соседнее дерево, где намертво привязала лиану к ветке. Нечто подобное умеет делать и ДРАКОН-редактор. Роль верхнего конца лианы играет выход иконы “вопрос” или “вариант”. Лиана — это присоединенная к нему последовательность шампур-блоков или просто соединительная линия. При некоторых условиях (подробно описанных в следующей главе) нижний конец лианы можно оторвать от своего места и присоединить в другую точку дракон-схемы. Такая операция называется пересадка лианы.
Выполнение этой операции не требует обращения к меню и осуществляется в два этапа. Сначала курсор подводится к нижнему концу лианы, который пользователь желает освободить (рис. 119, левая графа). Но куда его присоединить? Пользователь выбирает желаемую точку и отмечает ее курсором (рис. 119, средняя графа). Результат операции “пересадка лианы” показан на том же рисунке в правой графе. Многие дракон-схемы, представленные в этой книге, построены с помощью пересадки лианы. Укажем некоторые из них: рис. 26б, 27б, ОПЕРАЦИЯ “ЗАЗЕМЛЕНИЕ ЛИАНЫ” Функция “пересадка лианы” универсальна в том смысле, что она применима и к примитиву, и к силуэту. В отличие от нее операция заземление лианы относится только к силуэту. Она служит для построения веток, имеющих несколько выходов (многоадресных веток). Для этого необходимо организовать в ветке разветвление (с помощью макроикон “развилка” или “переключатель”), затем оторвать присоединенную к ним лиану от прежнего места и присоединить ее через икону “адрес” к нижней горизонтальной линии силуэта, “заземлить” ее. Операция “заземление лианы” проводится в два этапа без обращения к меню. Первый этап (отрыв нижнего конца лианы от своего места) осуществляется точно так же, как при пересадке лианы (рис. 120, левая графа). На втором этапе пользователь подводит курсор к нижней линии силуэта, указывая точку, куда лиана может дотянуться, не пересекая других линий (рис. 120, средняя графа). Это действие порождает автоматическое появление в нужном месте иконы “адрес”, через которую лиана и присоединяется к нижней линии (рис. 120, правая графа). Заземление лианы использовалось при построении силуэтов с многоадресными ветками, например, на рис. 4, 6а, 51–54, 84, 88, 89. ПРИМЕР ПОСТРОЕНИЯ Построим визуальную программу, изображенную на рис. 96. На первом шаге конструирования пользователь обращается к меню и вызывает в рабочее поле заготовку-силуэт (рис. 121, шаг 1). На следующем шаге с помощью операции “добавление ветки” (которая выполняется без обращения к меню) он модифицирует заготовку, вставляя в силуэт еще одну ветку (рис. 121, шаг 2). Дальнейший ход строительства ясен из рисунка: в шагах 3—8, 10—13 реализуется операция “ввод атома”, в шаге 9 — “заземление лианы”. Графическое конструирование заканчивается в момент получения желаемого слепыша (рис. 121, шаг 13).
Затем в иконах записываются текстовые операторы, после чего визуальная программа приобретает окончательный вид, показанный на рис. 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, где нейтральные точки обозначены светлыми кружками, критические — жирными точками.
Тезис 18. Если в фигуре (заготовке или атоме) одна критическая точка, ввод атома обязательно производится именно в нее; при этом критическая точка уничтожается. Если фигура имеет две критические точки, обязательный ввод атома делается только в одну из них; при этом критическая точка, в которую произведен ввод, уничтожается, а другая критическая точка нейтрализуется, т. е. становится нейтральной. Тезис 19. Полная совокупность критических точек охватывает: ! критические точки в пустых атомах; ! одну критическую точку в заготовке-примитив; ! одну критическую точку в заготовке-силуэт. Тезис 20. Полная совокупность нейтральных точек охватывает: ! входные и выходные точки атомов; ! две внутренние точки в атоме “цикл ЖДАТЬ”; ! одну точку в заготовке-силуэт; ! точки, полученные в результате нейтрализации критических точек. Правила использования операции “ввод атома” Тезис 21. Операция “ввод атома” применяется для ввода только простых и пустых атомов, а также цикла ЖДАТЬ. Ввод непустого атома осуществляется в два этапа; сначала вводится пустой атом, затем в его критическую точку вводится функциональный атом. П о я с н е н и е. Ввод пустого атома — очень удобный строительный прием. Он позволяет обеспечить богатство и разнообразие создаваемых дракон-схем и используемых в них конфигураций. Среди последних особую роль играет так называемая “матрешка”. Тезис 22. Матрешка — фигура, полученная путем ввода пустого атома в критическую точку пустого атома, а также путем многократного вложения пустых и непустых атомов друг в друга (рис. 123). Тезис 23. Матрешка бывает пустой (если все содержащиеся в ней атомы пустые), частично пустой (если в ней есть как пустые, так и непустые атомы) и непустой (если все ее атомы непустые). См. рис. 124—126. П о я с н е н и е. После того как пользователь эффективно использовал пустые атомы для придания дракон-схеме желаемой конфигурации, он должен убрать их из схемы. Тезис 24. Чтобы устранить пустые атомы из дракон-схемы, есть два способа: ! превратить пустой атом в непустой; ! преобразовать пустой атом в пустую матрешку, затем превратить ее в непустую. Тезис 25. Устранение из дракон-схемы пустых атомов автоматически приводит к уничтожению всех критических точек.
ОПЕРАЦИИ С ЛИАНОЙ Тезис 26. Лиана — часть дракон-схемы, имеющая один вход и один выход, именуемые “началом лианы” и “концом лианы” соответственно. Началом лианы может быть любой выход икон “вопрос” и “вариант”, если он (выход) не является петлей цикла. Концом лианы считается точка слияния, в которой нижняя часть лианы соединяется с другой линией (концом лианы не может быть неразветвленный вход иконы). Тезис 27. Лиана может быть нагруженной (если она содержит иконы) и ненагруженной (если это просто линия). Пересадка лианы Тезис 28. Пересадка лианы — преобразование дракон-схемы, выполняемое за четыре шага. Шаг 1. Производится отрыв конца лианы от точки присоединения (рис. 119). Шаг 2. Конец лианы с помощью вертикальных и горизонтальных линий присоединяется к любой валентной точке, куда лиана может дотянуться без пересечения с другими линиями (рис. 119). При этом запрещается: ! формировать второй вход в ветку (ошибка “сиамские близнецы” — см. рис. 127); ! образовывать новый цикл; ! создавать второй вход в цикл. Однако разрешается строить новый путь из середины обычного цикла к единственному входу в этот цикл, создавая визуальный эквивалент оператора continue языка СИ (см. рис. 90, пример 7, а также рис. 41). Шаг 3. Производится эквивалентное преобразование топологии дракон-схемы, чтобы лиане не пришлось загибаться наверх (рис. 128) Шаг 4. Устраняются неоправданные изломы линий (рис. 130). Заземление лианы Тезис 29. Заземление лианы — преобразование дракон-схемы, выполняемое за четыре шага. Шаг 1. Производится отрыв конца лианы от точки присоединения (рис. 120). Шаг 2. Конец лианы с помощью вертикальной линии присоединяется к любой точке нижней горизонтальной линии силуэта, куда он может дотянуться, не пересекая другие линии. Шаг 3. Производится разрыв линии в нижней части лианы и в место разрыва вставляется икона “адрес” (рис. 120). Шаг 4. Устраняются неоправданные изломы линий.
ПРОЧИЕ ОПЕРАЦИИ Тезис 30. Боковое присоединение — преобразование дракон-схемы, с помощью которого в схему добавляются иконы “синхронизатор” или “формальные параметры”. Икона “синхронизатор” размещается слева от другой иконы и соединяется с ней горизонтальным отростком. Перечень икон, к которым осуществляется боковое присоединение синхронизатора, показан на рис. 2 (п. 8—20). Икона “формальные параметры” размещается справа от иконы “заголовок” и соединяется с ней горизонтальным отростком, как показано на рис. 2 (п. 1). Тезис 31. Добавление варианта — преобразование дракон-схемы, с помощью которого в атом “переключатель” добавляется еще одна икона “вариант”. Число добавлений не более 14, так что максимальное число вариантов в переключателе равно 16. Тезис 32. Добавление ветки — преобразование силуэта, в который добавляется еще одна ветка. Число добавлений не более 14, так что максимальное число веток в силуэте равно 16. Тезис 33. Удаление последней ветки — преобразование силуэта, при котором удаляется крайняя правая ветка. Этот прием используется при описании бесконечного параллельного процесса, как показано в примерах на рис. 88 и 89. Тезис 34. Удаление конца примитива — преобразование примитива, при котором удаляется икона “конец”. Это необходимо для описания бесконечного параллельного процесса. Тезис 35. Дополнительный вход — преобразование силуэта, с помощью которого добавляется еще одна икона “заголовок”, которая размещается над любой иконой “имя ветки” (кроме левой) и соединяется с ней вертикальным отростком. При этом на верхней горизонтальной линии силуэта рисуют направленную вправо стрелку, как показано в примере на рис. 84 справа. О г р а н и ч е н и е. При наличии веточного цикла запрещается присоединять дополнительный заголовок к середине веточного цикла. ОСНОВНЫЕ РЕЗУЛЬТАТЫ Тезис 36. Любая правильно построенная дракон-схема “примитив” является результатом преобразования заготовки-примитив с помощью конечного числа операций: ввод атома, пересадка лианы, добавление варианта, боковое присоединение, удаление конца примитива. Тезис 37. Любая правильно построенная дракон-схема “силуэт” является результатом преобразования заготовки-силуэт с помощью конечного числа операций: ввод атома, добавление ветки, пересадка лианы, заземление лианы, добавление варианта, боковое присоединение, удаление последней ветки, дополнительный вход. П о я с н е н и е. Тезисы 36 и 37 могут рассматриваться как окончательные определения понятий “примитив” и “силуэт”.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|