
- •Оглавление
- •Глава 1. На подступах к новому языку 28
- •Глава 2. Можно ли создать язык, улучшающий понимание и взаимопонимание? 35
- •Глава 3. Соображения, повлиявшие на создание языка дракон 39
- •Глава 4. Понимание и взаимопонимание — ключевые проблемы информатики 58
- •Глава 5. Проблема улучшения работы ума: новый когнитивный подход 65
- •Глава 6. Изюминки языка дракон 80
- •Глава 7. Эргономичные алгоритмы 104
- •Глава 8. Визуализация циклов 126
- •Глава 9. Визуализация логических формул 143
- •Глава 10. Что такое эргономичный текст? 154
- •Глава 11. Визуальные операторы реального времени 165
- •Глава 12. Дружелюбное программирование 177
- •Глава 13. Человеческая деятельность и формализация знаний: живописные примеры 194
- •Глава 14. Визуальный дракон-редактор 226
- •Глава 15. Описание визуального синтаксиса языка дракон 236
- •Глава 16. Визуальное структурное программирование 245
- •Глава 17. Исчисление икон и попытка предсказать будущее 267
- •Глава 18. Место языка дракон в системе человеческой культуры 282
- •Глава 19. Возможна ли эргономизация математики? 302
- •Глава 20. Можно ли стать интеллектуальным суперменом? 326
- •Маленькая увертюра
- •Легкомысленный словарик
- •Третий глаз для бизнесменов и руководителей
- •Интеллектуальный терроризм: фантазия или реальность?
- •Почему умные люди страдают и гибнут?
- •Разве такая проблема существует?
- •Информационный стресс — зловещий спутник информационного общества
- •Камикадзе умственного труда
- •Что такое интеллектуальный терроризм?
- •Гуманитарная постановка задачи
- •Компьютерная мифология: облегчают ли компьютеры умственный труд?
- •Что такое интенсификация интеллекта?
- •Критерий декарта и эргономизация науки
- •О чем эта книга?
- •Секреты мудрого дракона: объяснение на пальцах
- •Притча о том, как Господь Бог языки создавал
- •Смена терминов или изменение концепции?
- •Самая сложная вещь на свете
- •Зачем дракону две головы?
- •Справка о состоянии дел
- •На подступах к новому языку
- •Зачем нужен язык дракон?
- •В чем секрет дракона? — в когнитивном подходе
- •Почему люди не интересуются собственным мозгом?
- •Станет ли дракон чемпионом мира по критерию “понимаемость алгоритмов”?
- •На кого рассчитан язык дракон?
- •Перечень задач, решаемых с помощью языка дракон
- •Можно ли создать язык, улучшающий понимание и взаимопонимание?
- •Почему специалисты не понимают друг друга?
- •Язык дракон как “эсперанто” делового мира
- •Что такое интеллектуальное взаимопонимание?
- •В чем особенность дракона?
- •Соображения, повлиявшие на создание языка дракон
- •Что важнее: компьютеры или человеческий мозг?
- •Что такое производительность умственного труда?
- •Зависит ли производительность персонала от производительности компьютеров?
- •Можно ли увеличить скорость работы человеческого мозга?
- •Проблема формализации профессиональных знаний
- •Можно ли обойтись без когнитологов?
- •Чем отличается алгоритм от технологического процесса?
- •Что такое технологический язык?
- •Технологические и декларативные знания
- •Почему нельзя жить по-старому?
- •Социальные технологии и электронные методологии
- •Методология быстрой разработки систем rad
- •Схемы действий и язык дракон
- •Необходимость культурных изменений
- •Техноязык как элемент культуры
- •Понимание и взаимопонимание — ключевые проблемы информатики
- •Отсутствие понимания ведет к миллионным убыткам
- •Издевательство над здравым смыслом под названием “абсолютно правильная программа”
- •Спецификации программ — вот главный “гадючник”!
- •Спецификации программ и методология rad
- •Концепция когнитивного программирования
- •Проблема улучшения работы ума: новый когнитивный подход
- •Текст как зрительная сцена
- •Симультанное и сукцессивное восприятие
- •Как повысить продуктивность человеческого мозга?
- •Когнитивный недостаток текстового представления знаний
- •Каким должен быть формат диосцены?
- •Когнитивные рекомендации
- •Зачем нужны психологические эксперименты?
- •Ошибка джеймса мартина
- •Возможна ли стратегическая реформа мировой практики программирования
- •Изюминки языка дракон
- •Критика блок-схем
- •Преимущества дракон-схем
- •Иконы и макроиконы
- •Зачем нужна ветка?
- •Как работает ветка?
- •Как следует располагать ветки в поле чертежа?
- •Что такое шапка?
- •Что лучше: примитив или силуэт?
- •Как описать силуэт с помощью текстового языка?
- •Есть ли в алгоритме “царская дорога”?
- •Главный маршрут силуэта
- •Пересечения линий? — боже упаси!
- •Визуальный и текстовый синтаксис дракона
- •Семейство дракон-языков
- •Эргономичные алгоритмы
- •Визуальная проверка алгоритмов
- •Что такое эргономичный алгоритм?
- •Чем отличается икона “вопрос” от развилки?
- •Маршруты и формулы маршрутов
- •Что такое рокировка?
- •Использование рокировки для улучшения эргономичности
- •Вертикальное и горизонтальное объединение
- •Эргономичность литеральных алгоритмов
- •Что делать, если эргономические требования противоречат друг другу?
- •Икона-вставка как эргономический прием
- •Что такое подстановка?
- •Улучшение эргономичности алгоритмов с помощью цепочки эквивалентных преобразований
- •В Рис. 33. Эквивалентные преобразования алгоритмов ыводы
- •Визуализация циклов
- •Обычный цикл
- •Переключатель и переключающий цикл
- •Цикл для
- •Веточный цикл
- •Главный маршрут силуэта
- •Визуализация логических формул
- •Визуализация функции и
- •Визуализация функции или
- •Визуализация функции не
- •Визуализация сложных логических функций
- •Что такое эргономичный текст?
- •Можно ли сделать логические выражения эргономичными?
- •Пример для исследования эргономичности логических выражений
- •Логическое выражение с абстрактными идентификаторами
- •Логическое выражение с короткими смысловыми идентификаторами
- •Логическое выражение с длинными смысловыми идентификаторами
- •Важный момент, о котором часто забывают
- •Как присвоить значение логической переменной?
- •Правила записи рамочных логических выражений
- •Как построить эргономичный логический текст?
- •Визуальные операторы реального времени
- •Список операторов реального времени
- •Операторы ввода-вывода
- •Оператор “пауза”
- •Операторы “пуск таймера” и “синхронизатор”
- •Цикл ждать
- •Оператор “период”
- •Оператор “параллельный процесс”
- •Особенности операторов реального времени
- •Дружелюбное Программирование
- •Гибридный язык программирования дракон-си
- •Гибридный язык программирования дракон-модула
- •Пример эргономической оптимизации программы
- •Диалоговые программы
- •Оператор “Сообщение”
- •Оператор “Запрос”
- •Описание данных
- •Идентификаторы
- •Примеры правильных идентификаторов
- •Примеры неправильных идентификаторов
- •Пример сокращения длины сложного понятия
- •Правила записи арифметических выражений в операторах присваивания
- •Обработка массивов
- •Абстрактные дракон-схемы
- •Философия языка дракон
- •Классификация знаний
- •Человеческая деятельность и формализация знаний: живописные примеры
- •Что такое профессиональные знания?
- •Учебные экспертные системы
- •Учебная экспертная система (программа на языке бейсик)
- •Визуализация экспертных систем
- •Визуализация описания технологических процессов
- •Что такое методология?
- •Визуализация методологий
- •Система “человек—машина”
- •Визуализация биологических алгоритмов
- •Визуализация медицинских алгоритмов
- •Другие примеры визуализации
- •Описание структуры деятельности
- •Нужен ли стандарт для описания деятельности?
- •Визуальный дракон-редактор
- •Зачем нужен дракон-редактор?
- •Заготовка-примитив и заготовка-силуэт
- •Что такое атом?
- •Пример построения дракон-схемы “примитив”
- •Операция “пересадка лианы”
- •Операция “заземление лианы”
- •Пример построения дракон-программы “силуэт”
- •Формирование надписей “да” и “нет”
- •Описание визуального синтаксиса языка дракон
- •Общие понятия
- •Шампур-блок
- •Операция “ввод атома”
- •Дополнительные сведения об атомах
- •Критические и нейтральные точки
- •Правила использования операции “ввод атома” при построении дракон-схемы
- •Операции с лианой
- •Пересадка лианы
- •Заземление лианы
- •Прочие операции
- •Основные результаты
- •Визуальное структурное программирование
- •Постановка проблемы
- •Историческая справка
- •Отживающий метод?
- •Прав ли игорь вельбицкий?
- •Четыре принципа структуризации блок-схем, предложенные э. Дейкстрой
- •Почему научное сообщество не приняло видеоструктурную концепцию э. Дейкстры?
- •Парадокс структурного программирования
- •Плохие блок-схемы или плохие стандарты?
- •Блок-схемы и теоретическое программирование
- •Новые цели стандартизации блок-схем
- •Чем отличаются блок-схемы от дракон-схем?
- •В чем сходство визуального и текстового структурного программирования?
- •В чем различие визуального и текстового структурного программирования? Структурные, лианные и адресные блоки
- •Операции с лианой и оператор goto
- •Является ли текстовое структурное программирование формальным методом?
- •Почему самолет не машет крыльями?
- •Исчисление икон и попытка предсказать будущее
- •Визуальное логическое исчисление
- •Общеизвестные сведения о математической логике
- •Об одном распространенном заблуждении
- •Принцип абсолютизации текста
- •Визуализация понятий математической логики
- •Исчисление икон
- •Еще раз о шампур-методе
- •Шампур-схема как абстрактная модель программы
- •Преобразование шампур-схемы в шампур-программу
- •Шампур-метод и доказательство правильности программ
- •Возможна ли теория визуального программирования?
- •Гипотеза о будущем императивных языков программирования
- •Визуализация логики и интенсификация интеллектуальной деятельности
- •Место языка дракон в системе человеческой культуры
- •Между сциллой и харибдой
- •Принцип структуризации деятельности
- •Генеральная концептуальная схема
- •Проблема деятельности в эргономике
- •Искусственный интеллект: алгоритмизация — это ночной кошмар!
- •Специалисты по ии: долой алгоритмизацию!
- •Инженерные психологи: алгоритмизация деятельности — наше спасение!
- •Работники образования: алгоритмизация — это хорошо!
- •Кто же прав: декларативисты или императивисты?
- •Эргономический анализ проектно-конструкторской деятельности
- •Подводные камни проектно-конструкторской деятельности
- •Почему взорвался чернобыльский реактор? Традиционный подход к анализу причин чернобыльской аварии
- •Возможна ли гарантоспособная деятельность?
- •Принцип проектирования гарантоспособной деятельности
- •Гарантоспособный совокупный работник
- •Главное зло — плохо спроектированная деятельность творческого персонала
- •Сон разума рождает чудовищ
- •Интенсификация интеллекта и языки программирования
- •Улучшение работы ума — проблема номер один
- •Возможна ли эргономизация математики?
- •Почему джон фон нейман провалился на экзамене?
- •Существует ли пропасть между математикой и эргономикой?
- •Алгебра диофанта
- •Эргономический анализ алгебры диофанта
- •Эргономизация алгебры после диофанта
- •Осознание полезности эргономического поворота в математике
- •Эргономическая победа лейбница
- •Методологическая ошибка историков математики
- •Аналогия между математической диосценой и панелью отображения информации
- •Математическая и эргономическая эффективность
- •Как повысить производительность математического труда?
- •Два метода визуализации математики
- •Проект “когнитивный стиль” (cognistyle)
- •Пример математической визуализации с помощью метода cognistyle
- •Можно ли стать интеллектуальным суперменом?
- •На пороге создания теории улучшения работы ума
- •Человеческий мозг нужно грамотно проектировать
- •Разгадка тайны человеческого интеллекта
- •Развитие и интенсификация интеллекта
- •Знаковая и предметная информация
- •Знаковое и предметное обеспечение информатики
- •Знаковая и предметная программа
- •Переломная веха в истории информатики
- •Одноглазые миссионеры, или заброшенное дитя информатики
- •Когнитивная письменность — новый способ представления знаний
- •Что такое проектоника?
- •Проектоника и искусственный интеллект
- •Особенности проектоники
- •Мироинформация и мироинтеллект
- •Стратегическая интеллектуальная инициатива
- •Дорога в будущее
- •Интеллектуальные трудности как глобальная проблема
- •Вызов интеллектуального терроризма
- •Бессилие интеллекта
- •ЦЕль — значительное улучшение интеллекта
- •Список литературы интеллектуальный терроризм: фантазия или реальность?
- •Глава 1
- •Глава 3
- •Глава 5
- •Глава 6
- •Глава 13
- •Глава 16
- •Глава 17
- •Глава 18
- •Глава 19
- •Глава 20
- •Отзывы о книге в. Паронджанова “Как улучшить работу ума”
Цикл ждать
Предположим, требуется в течение трех минут ждать появления хотя бы одного из двух признаков ЛЕВЫЙ ДВИГАТЕЛЬ В НОРМЕ и ПРАВЫЙ ДВИГАТЕЛЬ В НОРМЕ. При наступлении этого события (появлении признака) необходимо включить плазменный реактор. Если же названные признаки отсутствуют, по истечении трех минут следует включить фотонный двигатель.
Для решения задачи на рис. 84 используются два оператора: пуск таймера Т, отсчитывающего три минуты, и цикл ЖДАТЬ. В состав последнего входит икона “период” и три иконы “вопрос”, в которых размещены надписи ЛЕВЫЙ ДВИГАТЕЛЬ В НОРМЕ?, ПРАВЫЙ ДВИГАТЕЛЬ В НОРМЕ? и Т > 3мин (последний оператор проверяет: значение таймера Т больше трех минут?). Если оба признака отсутствуют, а значение таймера не превышает трех минут, опрос условий периодически повторяется, причем период опроса указывается в иконе “период”. В данном примере он равен 4 секундам.
К
Рис. 85. Цикл
ЖДАТЬ в общем виде
В общем виде цикл ЖДАТЬ показан на рис. 85. Он позволяет организовать режим ожидания признаков В, С, D, ..., Е. Если первым появится признак В, выполняется действие F. Если В отсутствует и первым придет признак С, реализуется действие G. И так далее. Операторы А и L обычно не используются.
Задача ожидания нескольких признаков (когда система должна по-разному реагировать на каждый признак) является одной из наиболее типичных при разработке систем управления реального времени. Цикл ЖДАТЬ предлагает чрезвычайно простое, удобное, наглядное и эффективное средство для ее решения, удовлетворяя тем самым важную потребность практики.
Оператор “период”
Сравнивая макроиконы 4 и 7 на рис. 2 (обычный цикл и цикл ЖДАТЬ), мы видим, что они очень похожи. Поэтому во избежание путаницы нужно иметь какой-то различительный признак. Эту функцию выполняет икона “период”. Если она есть в петле цикла — перед нами цикл ЖДАТЬ. Если нет — обычный цикл.
Человек, который стоит на остановке и ждет появления трамвая или троллейбуса, воспринимает ожидание как нечто непрерывное. Однако программа реального времени организует ожидание как дискретный процесс и запускает цикл ЖДАТЬ периодически. Отсюда вытекает, что период — важная характеристика цикла ЖДАТЬ.
А теперь зададим самый интересный вопрос: как работает оператор “период”? Фокус в том, что на этот вопрос придется дать два совсем разных ответа.
С точки зрения человека, читающего программу на рис. 84, все обстоит очень просто: цикл ЖДАТЬ “крутится” по своей петле с периодичностью 4 секунды, пока не выполнится одно из трех условий, после чего произойдет выход из цикла. Таким образом, оператор “период” задает период повторения цикла ЖДАТЬ.
С точки зрения функционирования программы реального времени, дело обстоит иначе. Суть в том, что длительность периода отсчитывает не прикладная программа на рис. 84, а дракон-диспетчер, входящий в состав операционной системы реального времени. Оператор “период” означает выход из прикладной программы: управление переходит к дракон-диспетчеру (с одновременной передачей параметра 4с). Через каждые четыре секунды дракон-диспетчер передает управление в начало цикла ЖДАТЬ (точка А на рис. 84), и если все три условия дают ответ “нет”, оператор “период” всякий раз возвращает управление в дракон-диспетчер. Таким образом, функционирование цикла ЖДАТЬ обеспечивается совместными усилиями прикладной программы и дракон-диспетчера.
Нередко имеет место ситуация, когда разработчик программы реального времени использует цикл ЖДАТЬ, но считает, что для его программы конкретное значение периода не играет роли. В этом случае икону “период” следует оставить пустой; система по умолчанию присвоит периоду максимальное значение из того ассортимента, которым располагает дракон-диспетчер.