Иллюстрации. Литература. Дополнительные материалы Екатерина Логиновна Ющенко о своей жизни и творчестве Е.Л.Ющенко - основоположник теоретического программирования в Украине Ада Лавлейс - первый в мире программист

Екатерина Логвиновна Ющенко.
Жизнь и творчество

По материалам книг Б.Н.Малиновского

Екатерина Логвиновна Ющенко - основоположник теоретического программирования в Украине

Екатерина Логвиновна Ющенко (в девичестве Рвачева) родилась 8 декабря 1919 года - через столетие после леди Лавлейс.

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

В юности она тоже была лишена близости отца, но не потому, что он оставил семью, а из-за того, что его в 1937 году арестовали и осудили на 10 лет лишения свободы. Была арестована и мать, пытавшаяся доказать его невиновность.

Как и леди Лавлейс судьба подарила ей возможность написать первые программы для первой (на этот раз на континенте Европы) ЭВМ, созданной около ста лет спустя после проекта Бебиджа в НАН Украины под руководством другого гения - Сергея Алексеевича Лебедева. Они очень похожи на те, что когда-то составила леди Лавлейс.

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

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

Екатерина Логвиновна стала член-корреспондентом НАН Украины, заслуженным деятелем науки, лауреатом премии Совета министров СССР, была дважды удостоена Государственной премии Украины, премии имени В.М.Глушкова.

За сорок лет работы в институте ею создана широко известная в Украине, бывшем Советском Союзе и за рубежом научная школа теоретического программирования.

В 2001-м году ее не стало...

Об основных этапах развития школы теоретического программирования рассказывает Ольга Леонидовна Перевозчикова, ученица и продолжатель дела Екатерины Логвиновны, член-корреспондент НАН Украины:


История научной школы теоретического программирования в Украине

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

Теоретическое программирование берет начало от работ по эксплуатации первого отечественного компьютера МЭСМ, созданного коллективом лаборатории Института электротехники АН УССР под руководством С.А.Лебедева. В 1954 г. по инициативе академика Бориса Владимировича Гнеденко (в то время возглавляющего Институт математики АН УССР) лаборатория была переведена в этот институт и к эксплуатации МЭСМ подключились кандидаты физико-математических наук Ю.В.Благовещенский, И.В.Погребысский, В.С.Королюк, А.А.Ющенко, Е.Л.Ющенко-Рвачева.

Ограниченность внутренней памяти МЭСМ (100 ячеек оперативной и 64 ячейки односторонней сменно-наборной; разрядность каждой ячейки составляла 21 бит) и ее слабое быстродействие (100 операций/сек), неустойчивость работы, вызванная большим количеством электронных ламп (до 6000) вынуждали составителей программ изыскивать изощренные способы использования внутреннего языка компьютера. Составление каждой программы рассматривалось как решение индивидуальной задачи. Программисты искали экономные решения, искусно используя те или иные особенности системы команд компьютера. Возникали своеобразные соревнования по улучшению отдельных программ.

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

Первой на МЭСМ была решена задача внешней баллистики, поставленная М.В.Келдышем, в разработке методов ее решения участвовали известные московские ученые А.А.Ляпунов, М.Р.Шура-Бура, Ю.Д.Шмыглевский, а также киевский ученый Ю.А.Митропольский. В число задач, программы решения которых составили математическое обеспечение первого отечественного компьютера, вошли:

- составление таблиц для статистического приемочного контроля (постановка задачи Б.В.Гнеденко, исполнитель Е.Л.Ющенко);

- динамические задачи теории упругости (постановка А.Ю.Ишлинского, Институт математики АН УССР, исполнитель А.А.Ющенко);

- выбор оптимальных параметров шахтных канатов (постановка Г.И.Савина и А.Ю.Ишлинского, исполнитель А.А.Ющенко);

- определение областей устойчивости электроэнергосистем, в частности, Куйбышевской ГЭС (постановка Л.В.Цукерника, Институт электротехники АН УССР, исполнители B.C.Королюк, Е.Л.Ющенко);

- расчет тепловых напряжений строительных конструкций (постановка А.Д.Коваленко, Институт механики АН УССР, исполнитель Е.Л.Ющенко);

- обработка геодезических наблюдений (постановка Н.И.Якубецкой, исполнитель Е.Л.Ющенко);

- расчет задач синтеза аммиака (исполнитель Л.Н.Иваненко);

- оценка объемов земляных работ при проектировании автодорог (постановка А.К.Хавкина, Киевский автодорожный институт, исполнители Е.Л.Ющенко, Л.Н.Иваненко, А.М.Сибирко).

Для более сложных задач выяснилось, насколько затруднительно решать их путем написания просто машинных программ. Так возникла проблема создания языка программирования "высокого уровня" и соответствующего транслятора для лучшего общения человека с компьютером. Существенное влияние на понимание этой проблемы, как и на применение компьютера для решения задач неарифметического характера (аналитические преобразования выражений, дифференцирование и интегрирование выражений, распознавание графических образов, обработка текстов и, впоследствии, проверка синтаксической правильности программ) оказал профессор Киевского университета Л.И.Калужнин, читавший в 50-70-е годы ХХ века курс математической логики и предложивший формальный аппарат граф-схем программ.

На начальном этапе выкристаллизовывались основные приемы программирования и проблемы теоретического программирования применительно к автоматизации программирования. На постановку проблемы теоретического программирования существенно повлияли работы чл.корр. АН СССР А.А.Ляпунова, предложившего операторный метод программирования. Главным результатом этих работ явилось создание в 1955 г. B.C.Королюком и Е.Л.Ющенко адресного программирования, на языковой основе воплотившего два общих принципа работы компьютера - адресности и программного управления. Создавая удобную систему понятий для описания архитектуры компьютера и его системы команд, авторы ввели в Адресный язык средства манипулирования адресами второго ранга.

Именно создание Адресного языка - первое фундаментальное достижение научной школы теоретического программирования. Опередив создание первых языков программирования Фортран (1958), Кобол (1959) и Алгол (1960), адресный язык предвосхитил появление не только языков программирования с аппаратом косвенной адресации, но и ассемблеров. Учебники по адресному языку изданы в пяти странах на русском, словацком, венгерском, немецком и французском языках. Адресный язык реализован на всех отечественных компьютерах первого поколения ДНЕПР, КИЕВ, М20, УРАЛ, МИНСК. Кроме того, механизм косвенной адресации был аппаратно реализован в компьютере КИЕВ и это - один из первых примеров влияния теоретического программирования на проектирование архитектуры и элементной базы компьютеров.

Так сформировался предмет исследования теоретического программирования - методы и средства разработки программ. В те годы эти средства отождествлялись с процедурными языками, которые в свою очередь воспринимались как знаковые системы общения с компьютером. Отметим, что первоначально языки называли "алгоритмическими" по аналогии с алгоритмическими системами (например, Алгол-60 задуман как язык записи алгоритмов и не имеет средств ввода-вывода) и только уяснив всю неформализованность операционной среды для разработки и функционирования программ, перешли к названию "языки программирования".

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

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

За 40 лет существования научной школы подготовлено более 100 специалистов высшей квалификации не только для Украины, но и для стран СНГ (Содружество независимых государств) и дальнего зарубежья. С начала 70-х годов ХХ века тематика теоретического программирования существенно расширилась и были основаны самостоятельные школы, которые возглавили академик НАН Украины И.В.Сергиенко, чл.кор. Российской академии наук и НАН Украины А.А.Стогний, чл.кор. НАН Украины В.Н.Редько, проф. И.В.Вельбицкий.


Этап становления. Нельзя обойти вниманием огромный интерес к программированию в те годы. Профессия программиста была окружена ореолом престижности и стала символом того времени.

В те годы число версий языков программирования приближалось к 1000 и для каждого нового компьютера разрабатывался свой язык. Для решения проблемы мобильности программ с 70-х годов ХХ века одновременно с международным сообществом в Киеве начались работы по стандартизации языков программирования. В 1979 г. создан Государственный стандарт языка Кобол, обновленный в 1990 г. Специалисты школы принимали участие в разработке стандартов СССР по языкам Фортран-2, Алгамс, Алгол-68 и Ада, а также СНГ-стандартов Фортрана-77, Паскаля, ПЛ/1, Си.

В 70-80-е годы ХХ века окончательно сложился предмет исследования теоретического программирования. К тому времени развилась теория алгоритмических алгебр Глушкова; широко использовался аппарат теории автоматов и формальных языков; началась формализация методов представления знаний. Основным достижением школы в это время явилось создание алгебро-грамматического (АГ) аппарата синтеза программного продукта. Посвященная ему монография "Алгебра. Языки. Программирование" три раза издавалась в СССР и один раз в Германии. Практическим воплощением этого аппарата стала реализация нескольких версий синтезатора МУЛЬТИПРОЦЕССИСТ Фортран-, Си- или Паскаль-программ для разных компьютерных платформ.

В направлении разработки АГ-методов представления знаний для конструирования профессиональных программных систем, построен асинхронный недерминированный распознаватель для синтеза класса продукционных систем с динамическим планированием пошаговых диалоговых вычислений. Разработан метод обоснования корректности при синтезе программных систем с использованием набора компонентов многоразового использования (КМИ). Сформирован набор КМИ для прототипирования профессиональных систем по представлению модели предметной области (МПрО), в который включены три группы компонентов: (1) решатель, функционирующий по МПрО; (2) подсистема объяснений при организации вычислений; (3) функциональные блоки (модули и пакеты, реализующие конкретные алгоритмы расчетов). Третьей группой обеспечивается до 50% объема прототипирования; а первые две - добавляют еще 20-30%.

На основе набора КМИ реализованы и внедрены в производство инструментальные комплексы ДИСУППП и ГРАФ-ПРОЦЕСС, в среде которых обеспечивается до 70% использования накопленных КМИ. Посредством этого инструментария сгенерировано более 10 профессиональных систем разного назначения: от моделирования стратегической стабильности в Европе и принятия решений в ходе боя бортовым вычислителем роботизированной зенитно-ракетной батареи до проектирования технологических схем оборудования газоконденсатных месторождений и диагностирования степени развития интеллекта у чернобыльских детей с задержкой психического развития.

Невозможно не отметить ученых, внесших существенный вклад в копилку школы ТП на этапе ее становления: д-р физ.-мат. наук Э.М.Куссуль, проф. А.И.Халилов, проф. Г.Е.Цейтлин, проф. О.Л.Перевозчикова.


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

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

Получили существенное развитие АГ-методы агрегирования знаний о предметной области и инструментарий для итеративного построения профессиональных систем методом прототипирования по спецификации МПрО согласно спиральной модели жизненного цикла.

Разработана АГ-модель интерфейса пользователя, введены грамматики объектного представления интерфейса и алгебра на множестве этих грамматик; корректных применительно к IBM-, MACINTOSH-, ANSI- и ISO/IEC- стандартам ИП, разработан алгоритм асинхронного недетерминированного распознавателя, введена АГ-модель для структурного синтеза маршрутной схемы с сокращенным числом используемых модулей и анализа ее на частичное и полное применение, оптимальность и др. По сравнению с традиционным моделированием программных систем сетями Петри, предложенной АГ-модели присуща большая селективная сила.

АГ-аппарат представления знаний реализован как инструментарий реляционно-сетевой СУБД "Микропоиск", предназначенной для построения систем обработки знаний и поддержки принятия решений.

Эффективность АГ-инструментария "Микропоиска" проверена и подтверждена построением ряда приложений, среди которых наиболее значимыми являются следующие:

- система-оболочка "Фактор" для экспертного анализа и прогноза при обосновании управленческих решений, интегрирующая методы прогнозного графа В.Глушкова и анализа иерархий Т.Саати; используется как обучающее пособие по курсам "Административный менеджмент" и "Менеджмент в производственной сфере" на экономическом факультете Киевского университета им. Т.Г.Шевченко;

- комплекс "ГеоПоиск" информационного обеспечения для оперативной интерпретации результатов геолого-геофизических исследований нефтегазовых скважин, использовался полевыми экспедициями Донецко-Днепровской впадины и Ямало-Ненецкой группы месторождений Западной Сибири;

- система "ТопоСвязь" расчетов цифровых сетей электросвязи и коммутируемой междугородней телефонной сети; спроектированы сети для шести областей Украины;

- диагностический комплекс АСММО массовых медицинских обследований населения, использующий базу знаний по заболеваниям сердечно-сосудистой системы человека;

- система-оболочка РТС-ШЕЛЬФ для комплексного проектирования технологических схем обустройства нефтегазовых месторождений на Азово-Черноморском шельфе;

- система-оболочка РТС-МЕТАН для проектирования экологобезопасных схем утилизации угольного метана; использована для опытного проектирования на известной донецкой шахте им. А.Засядько, Томашевских куполных структур Лисичанска, Каховских куполов и шахты Западно-Донбасская в Днепропетровской области.

Хотя названные системы различаются применением механизмов АГ-аппарата, все они имеют значительные по объему МПрО и интенсивно совершенствуются применительно к потребностям обработки неточной и расплывчатой информации. Эта задача тесно связана с реализацией пояснений и рекомендаций в организации ИП, т.е. с разработкой специальных визуальных формализмов для фильтрации и агрегирования входных данных, через которые устанавливается корректность (частичная или в целом) поставки решаемой задачи.

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