Национальные информационные ресурсы:
проблемы промышленной эксплуатации.
Г.Р.Громов. Москва, Наука, 1984

ТЕХНОЛОГИЯ АВТОФОРМАЛИЗАЦИИ ПРОФЕССИОНАЛЬНЫХ ЗНАНИЙ

Среди всех принципов, которые можно выделить в мире науки,
трудно вообразить более привлекательный, чем принцип простоты

М.Рис, Р.Руффини, Дж.Уиллер.
Черные дыры, гравитационные волны и космология


Три этапа информационной технологии: эволюция критериев

Тридцать лет назад в октябрьском номере «Proc. IRE» за 1953 г. создатель теории информации американский математик Клод Шеннон писал: «Наши вычислительные машины выглядят как ученые-схоласты. При вычислении длинной цепи арифметических операций ЦВМ очень значительно обгоняют человека. Когда же пытаются приспособить ЦВМ для выполнения неарифметических операций, они оказываются неуклюжими и неприспособленными для такой работы»[1, с. 165].

I этап: машинные ресурсы. Отмеченные Шенноном функциональные ограничения, а также устрашающая стоимость первых ЭВМ; полностью определяли основную задачу информационной технологии 50-х — начала 60-х годов — повышение эффективности обработки данных по уже формализованным или легко формализуемым алгоритмам.

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

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

II этап: программирование. С середины 60-х годов начался второй этап  развития  информационной  технологии,   который продолжался до начала 80-х годов и впервые потребовал коренного пересмотра сложившихся критериев функционирования вычислительных средств.] К этому времени относительный  вес  машинного  времени  в  общих  расходах  на обработку данных  начал неуклонно  снижаться.  Машинное время перестало быть основным фактором в оценке затрат на обработку данных. Успехи в развитии электроники   (БИС, полупроводниковая намять и т. п.)  вели к быстрому снижению удельной стоимости машинной операции и байта оперативной памяти, тогда как расходы на разработку и сопровождение программ почти не снижались, а в ряде случаев имели тенденцию к росту. От технологии эффективного исполнении программ к технологии эффективного программирования — так  можно  было  определить  общее  направление смены критериев эффективности в течение этого этапа. Решению задачи способствовало развитие интерактивных систем отладки, режим разделения времени и т.п.

Таким образом, спустя 10 лет после первых успешных попыток подчинить ресурсы ЭВМ задаче автоматизации тру­да программистов (создание трансляторов с языков высокого уровня) задача экономии человеческих, а не машинных ресурсов стала, наконец, центральной для технологии программирования. При этом одним из основных критериев эффективности информационной технологии оказался «мифический человеко-месяц» [2]. В это время считалось, что «технология разработки программ идет в своем развитии по пути от малых одиночных групп асов-программистов к будущей «земле обетованной» автоматизированных фабрик с поточными линиями, выпускающими программы. Вопрос состоит в том, на каком этапе этого пути мы сейчас находимся» [3, с. 37]. Большая часть экспертов оценивала существовавший в 70-х годах уровень как фазу «кустарного производства» с хорошими шансами на медленный, но устойчивый прогресс в течение ближайших десятилетий.

Наиболее известным результатом этого первого радикального пересмотра критериев технологии программирования стала созданная в начале 70-х годов операционная система UNIХ. «Операционную систему UNIХ, с самого начала ориентированную на повышение эффективности труда програм­мистов, разработали сотрудники „Белл лэбс" К. Томпсон и Д. Ритчи, которых совершенно не удовлетворяли имеющиеся примитивные средства проектирования программ, ориентированные на пакетный режим» [4]. На рубеже 80-х годов система UNIХ рассматривалась уже как классический образец операционной системы не только в университетских вычислительных центрах США (откуда она начала свое триумфальное шествие на мини-ЭВМ серии РВР-11 в середине 70-х годов), но и ведущими промышленными фирмами — производителями программного обеспечения. Популярность этой системы особенно возросла после появления 16-разрядных микропроцессоров 18086, 28000, М68000, для каждого из которых почти немедленно была разработана ее версия.

III этап: формализация знаний. На рис. 20 показано, как меняется соотношение численности профессиональных программистов и мировой парк ЭВМ. Если до середины 70-х годов в среднем у каждой ЭВМ работал, по крайней мере, один (или более) профессиональный программист, то уже к концу 1983 г. в подавляющем большинстве случаев (в 9 из 10) за пультом ЭВМ находится не программист, а так называемый непрограммирующий профессионал [5], т. е. специалист, профессионально владеющий «тайнами ремесла» в конкретной предметной области, где может быть полезна ЭВМ, но не имеющий профессиональной подготовки в области вычислительной техники и программирования.

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

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

Рис. 20. Динамика мирового парка универсальных ЭВМ (1) и общей численности профессиональных программистов (2) (в середине 80-х годов 1 программист приходится в среднем на 10 машин)

Оценка автора

 

                                                               

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

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

В мае 1981 г. в Лондоне под руководством Дж. Мартина был проведен тематический семинар «Разработка прикладных программ без программистов» («Application Development Without Programmers») [7], на котором впервые специально обсуждался круг вопросов, связанных с этим принципиально новым (а по мнению организаторов семинара, революционным) подходом к использованию вычислительных средств.

В начале 60-х годов был разработан ряд программных решений, технологических приемов и технических средств для организации режима персональных вычислений, однако, по-видимому, пройдет еще определенное время, прежде чем здесь будет найден аналогичный системе UNIX в 70-х годах эталон решения центральной задачи 80-х годов в области технологии программирования — инструментальная система для формализации профессиональных знаний. Как превратить ЭВМ в эффективный инструмент программирования для непрограммирующих профессионалов — актуальный вопрос технологии программирования в 80-е годы, от ответа, на который в первую очередь зависят масштабы и эффективность внедрения вычислительной техники.

Предварительные итоги: автоформализация знаний. Мы кратко рассмотрели (в основном на функциональном уровне) истоки и некоторые отличительные признаки нового этапа информационной технологии. Этот этап обычно называют эрой персональных вычислений, но, вероятно, более точно его можно определить как этап автоформализации профессиональных знаний [8]. В начале 80-х годов этот этап приходит на смену первым этапам развития вычислительной техники, основу которых составляла технология программирования формализованных знаний.

Подобно тому, как за последние 300 лет интенсивного развития промышленности в топках теплоэнергетических установок была сожжена значительная часть органического топлива, накопленного за сотни миллионов лет, так за последние 30 лет развития вычислительной техники оказалась закодированной в машинные программы уже заметная часть того задела ранее формализованных знаний, который был накоплен человечеством за последние 300 лет интенсивного развития точных наук. Готовых алгоритмов для автоматизации конторских работ, промышленного производства, экспериментальных исследований и других, по определению К. Шеннона, неарифметических приложений ЭВМ не существует.

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

Известно, что, например, в США, где производится более половины всего объема средств вычислительной техники капиталистических стран (а с ЭВМ в профессиональной деятельности сталкивается более 50% трудоспособного населения), численность профессиональных программистов составляет лишь около 0,5% трудоспособного населения. Поэтому трудно ожидать, что программисты смогли бы самостоятельно решить задачу формализации профессиональных знаний в быстро растущих разнообразных областях новых приложений ЭВМ.

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  

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


Онлайн-версия CD-ROM приложения к книге Г.Р.Громова
"От гиперкниги к гипермозгу: информационные технологии
эпохи Интернета. Эссе, диалоги, очерки
."