Хелпикс

Главная

Контакты

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





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



Бросается в глаза несомненное сходство между шампур-схемами и схемами программ. Заметив эту аналогию и повторяя — с некоторыми, почти очевидными изменениями — общую канву рассуждений, принятую в схематологии [7], можно сделать вывод, что шампур-схема В0 описывает уже не одну программу, а целый класс программ, т. е. является полипрограммой, а шампур-язык служит мультиязыком — языком полипрограммирования [8].

Класс шампур-схем является подклассом класса крупноблочных схем, по степени абстрактности занимающий промежуточное положение где-то между схемами Мартынюка и стандартными схемами. Связь между шампур-схемами и схемами программ имеет фундаментальный характер и порождает ряд интересных проблем, связанных, в частности, с тем, что “задача эффективизации транслируемых программ перерастает в задачу автоматизации конструирования качественных программ” [8].

С точки зрения теории видеопрограммирования, граф-схемы, используемые в (текстовом) теоретическом программировании, обладают недостатком — как и обычные блок-схемы прикладного программирования, они являются неформальными. Хотя в работах А. Ершова сделан определенный шаг к формализации граф-схем, однако предложенное им решение [9] нельзя признать удовлетворительным, ибо использованный Ершовым визуальный синтаксис граф-схем не позволяет получить однозначную, строго детерминированную визуальную конфигурацию (топологию) граф-схем и, следовательно, не дает единственного решения визуальной задачи.

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

ПРЕОБРАЗОВАНИЕ ШАМПУР-СХЕМЫ
В ШАМПУР-ПРОГРАММУ

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

Используя терминологию схематологии, можно сказать, что шампур-программа есть интерпретированная шампур-схема, однако понятие интерпретации в нашем случае заметно отличается от классического [7]. Детальное рассмотрение вопроса выходит за рамки книги, ограничимся лишь кратким замечанием. Чтобы задать интерпретацию шампур-схемы и превратить ее в шампур-программу, необходимо, во-первых, доопределить шампур-язык и превратить его в язык программирования, описав синтаксис S1 и семантику Q1 текстовых операторов. Во-вторых, следует указать конкретные текстовые операторы, записанные в соответствии с синтаксисом S1 и размещенные в иконах шампур-схемы В0. Тем самым будет задана текстовая часть В1 шампур-программы В. Таким образом, интерпретация шампур-схемы определяется как тройка < S1, Q1, B1 >.

Отсюда вытекает следующее очевидное замечание. Поскольку шампур-язык есть абстрактная модель любого императивного языка программирования (импер-языка), постольку импер-язык есть интерпретированный шампур-язык. При этом интерпретация шампур-языка, превращающая его в конкретный импер-язык, определяется как пара < S1, Q1 >.

ШАМПУР-МЕТОД И ДОКАЗАТЕЛЬСТВО
ПРАВИЛЬНОСТИ ПРОГРАММ

Согласно Р. Андерсону, “целью многих исследований в области доказательства правильности программ является... механизация таких доказательств” [10]. Д. Грис указывает, что “доказательство должно опережать построение программы” [11]. Объединив оба требования, получим, что автоматическое доказательство правильности должно опережать построение программы. Нетрудно убедиться, что шампур-метод обеспечивает частичное выполнение этого требования. В самом деле, в начале главы было показано, что любая правильно построенная шампур-схема является строго доказанной теоремой. В алгоритмах ДРАКОН-редактора закодировано исчисление икон, поэтому любая шампур-схема, построенная с его помощью, является истинной, т. е. правильно построенной. Это означает, что ДРАКОН-редактор осуществляет 100%-е автоматическое доказательство правильности шампур-схем, гарантируя принципиальную невозможность ошибок визуального синтаксиса. Поскольку шампур-схема является частью шампур-программы, сказанное равносильно доказательству частичной правильности шампур-программы.

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

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

ВОЗМОЖНА ЛИ ТЕОРИЯ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ?

Хотя видеопрограммирование — сравнительно молодое направление, в этой области уже имеется значительное число интересных прикладных разработок. Однако теоретическое визуальное программирование только зарождается. В доступной литературе автору удалось обнаружить всего несколько строк, которые можно в какой-то степени трактовать как программу будущих исследований в области теории видеопрограммирования: “Для визуального программирования необходимо провести строгие научные обоснования, математические определения и модели — большинство разработок в этой области носит пока эмпирический
характер. Перспективным может быть применение при графическом интерфейсе техники искусственного интеллекта, которая обычно используется для описания прикладной области. Система представления знаний может включать набор визуальных примитивов, их символические описания и правила вывода заключений” [12].

Как, вероятно, заметил читатель, в настоящей работе, решая сходную проблему (проблему вывода заключений путем выполнения формальных операций над визуальными примитивами, в качестве которых использовались иконы шампур-схем), мы пошли несколько иным путем. Отличие заключается в следующем. Авторы цитированной работы говорят о “символических описаниях” визуальных примитивов, подразумевая текстовые правила вывода заключений, принятые в традиционной текстовой математической логике. Однако еще А. Ершов при построении исчисления равносильных преобразований схем Янова предпринял первую попытку отойти от “чисто текстовой” математической логики, используя в формулах правил вывода не только символические описания, но и графические изображения [9, 13]. Вместе с тем метод Ершова из-за дефектов визуального синтаксиса нельзя считать полностью формальным.

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

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

ГИПОТЕЗА О БУДУЩЕМ ИМПЕРАТИВНЫХ
ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

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

! Несмотря на резкую критику со стороны Джона Бэкуса и ряда других ученых фон-неймановские (императивные) языки по-прежнему находят широкое применение и продолжают занимать прочные, а в некоторых областях — господствующие позиции. Логично предположить, что такая или примерно такая ситуация сохранится и впредь. Сходную позицию занимают и другие авторы, по мнению которых императивные языки “в обозримом будущем сохранят доминирующее положение в практическом программировании” [14].

! В грядущем столетии вследствие дальнейшего уменьшения удельной стоимости аппаратуры у многих персональных компьютеров экраны, по-видимому, увеличатся до размеров письменного стола, что облегчит визуализацию программирования за счет возможности непосредственной работы с чертежами формата А1 или даже А0 на экране ПЭВМ по принципу WYSIWYGWhat You See Is What You Get (Что видишь, то и имеешь). Согласно развиваемой гипотезе, это позволит более полно использовать телесный угол и структуру человеческого поля зрения, покончить наконец с систематическим недоиспользованием богатейших возможностей человеческого глаза, задействовать мощные резервы симультанного восприятия и тем самым значительно увеличить скорость работы и продуктивность мозга программистов и пользователей. Учитывая эти соображения и остроту проблемы производительности труда в программировании, мы предполагаем, что ожидаемое увеличение габаритов экранов даст мощный стимул для широкомасштабной замены текстовых императивных языков на визуальные.

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

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

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

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

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

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

ВИЗУАЛИЗАЦИЯ ЛОГИКИ
И ИНТЕНСИФИКАЦИЯ ИНТЕЛЛЕКТУАЛЬНОЙ
ДЕЯТЕЛЬНОСТИ

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

! Сам факт формализации системы визуальных образов в виде логического исчисления икон можно, по-видимому, рассматривать как доказательство полной несостоятельности “принципа абсолютизации текста” (см. с. 269). Иными словами, формализация человеческих знаний отнюдь не сводится только к текстовой форме, но включает также и визуальные представления. Важно подчеркнуть, что визуальная формализация знаний не является “продуктом второго сорта”, она удовлетворяет самым строгим критериям математической логики и в этом смысле представляет собой вполне законный и полноценный интеллектуальный продукт. Наибольшая интеллектуальная эффективность достигается при использовании синтетического метода, объединяющего достоинства текстовой и визуальной формализации.

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

! Известно, что “богатые формальные языки математической логики и успешный опыт работы с ними создали одну из объективных предпосылок для создания... вычислительных машин, пользующихся в настоящее время весьма разнообразным спектром формальных языков программирования” [1]. Это утверждение до последнего времени было ограничено рамками текстовой парадигмы: и в отношении логики, и в отношении программирования. Появление визуальных исчислений позволяет расширить эти рамки и распространить их на визуальный случай.

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

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

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

! Логическая формализация знаний, восходящая к силлогистике Аристотеля, который впервые использовал буквы для обозначения понятий, явилась замечательным достижением человеческого гения. За две тысячи лет своего существования логическая наука добилась выдающихся успехов. Но вот парадокс: называя себя наукой о законах и формах человеческого мышления [5], логика вместе с тем полностью абстрагировалась от конкретных характеристик человеческого мышления и мозга, изучаемых в психологии, нейробиологии и эргономике. На предыдущих этапах развития человечества, когда интеллектуальные задачи были относительно простыми, а число интеллектуальных работников невелико, подобное игнорирование не приносило заметного вреда. Однако сегодня положение изменилось.

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

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

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

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

Это громадная, поистине необъятная по сложности задача, выходящая далеко за рамки данной книги. Для ее решения необходим перелом в сознании: надо уяснить, что человеческий мозг обладает колоссальными интеллектуальными резервами, которые сегодня не используются, но которые можно и нужно задействовать с помощью когнитивно-эргономических методов. Снова оговоримся: существующие когнитивные методы для этого недостаточны, нужны новые подходы. Откуда их взять? По мнению автора, материалы данной книги, хотя и относятся к частному случаю, тем не менее обладают достаточной общностью и могут послужить основой для разработки — с необходимыми уточнениями — нового поколения формализованных когнитивно-эргономи­ческих методов.

ВЫВОДЫ

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

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

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

4. Стихийный процесс визуализации логики, который начинает разворачиваться в последнее время (см., например [15]), должен опираться на прочную эргономическую основу.

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

6. Сторонники идеи тотальной эргономизации науки и образования должны вести борьбу на два фронта:

! против приверженцев принципа абсолютизации текста;

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

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

Г Л А В А 18

Место языка ДРАКОН
в системе
человеческой культуры

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

Джон Стюарт Милль

МЕЖДУ СЦИЛЛОЙ И ХАРИБДОЙ

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

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

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

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

Гораздо труднее избавиться от Харибды языковой специализации (когда язык создается “только для своих”) и придумать универсальный язык, способный удовлетворить интересы самых различных групп специалистов. Задача состоит в том, чтобы найти спасительную идею, которая позволила бы резко расширить социальный плацдарм языка и сделать его полезным для миллионов. Надо превратить язык, понятный только членам какой-то одной узкой касты (например, программистов), в язык взаимопонимания для широкого круга интеллектуальных работников и учащихся.

ПРИНЦИП СТРУКТУРИЗАЦИИ
ДЕЯТЕЛЬНОСТИ

Чтобы прояснить суть вопроса, вернемся еще раз к структурному программированию. Из теоремы Бома и Джакопини вытекает, что логическая структура программы может быть выражена комбинацией ограниченного числа базовых структур. Это означает, что идея структурных конструкций дает читателю программы столь необходимый компас. Пробираясь сквозь джунгли программного текста, он как бы обретает “третий глаз”: разбиение сложной программы на структурные конструкции облегчает понимание и упрощает работу. Говоря языком эргономики, это достигается за счет укрупнения оперативных единиц восприятия[25].

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

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

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

ГЕНЕРАЛЬНАЯ КОНЦЕПТУАЛЬНАЯ СХЕМА

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

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

1. Первым источником является принятое в искусственном интеллекте деление знаний на декларативные и процедурные.

2. Для наших целей эта схема подвергается некоторым изменениям (рис. 138, блок 2):

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

! не совсем удачный термин “процедурные” заменяется на более знакомое и широко распространенное слово “технологические” (см. гл. 3);

! технологические знания делятся на командные и управляющие (см. гл. 12).

3. Третьим источником является структурное программирование (рис. 138, блок 3).

4. Дальнейшее развитие структурной идеи приводит к переходу от текстового структурного программирования к визуальному (рис. 138, блок 4), так как последнее обладает многочисленными достоинст­вами, подробно рассмотренными в гл. 16.

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

6. Следующий шаг рассуждений приводит к отказу от блок-схем и замене их на дракон-схемы (рис. 138, блок 6), которые обладают неоспоримыми преимуществами (см. гл. 6—16).

7. В качестве седьмого источника используется исчисление икон (рис. 138, блок 7).

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

138

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



  

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