Ілюстрації. Література. Додаткові матеріали Катерина Логвинівна Ющенко про своє життя та творчість К.Л.Ющенко - засновник теоретичного програмування в Україні Ада Лавлейс - перший у світі програміст

Катерина Логвинівна Ющенко.
Життя та творчість

Додаткові матеріали

За матеріалами книг Б.М.Малиновського

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

Катерина Логвинівна Ющенко (у дівоцтві Рвачова) народилася 8 грудня 1919 року - через сторіччя після леді Лавлейс. Початок її творчої діяльності співпав з роками відродження і здійснення геніальної ідеї Бебіджа.

У її житті є моменти, що нагадують долю великої англічанки, але ще більше того, що властиве лише радянським людям.

У юності вона теж була позбавлена близькості батька, але не тому, що він залишив її, а через те, що його у 1937 році заарештували і засудили на 10 років позбавлення волі. Була заарештована і мати, яка намагалася довести його невинність.

Як і леді Лавлейс доля подарувала їй можливість написати перші програми для першої (цього разу на континенті Європи) ЕОМ "МЭСМ", створеної понад сто років після проекту Беббіджа в Академії наук України під керівництвом іншого генія - Сергія Олексійовича Лебедєва. Вони дуже схожі на ті, що колись склала леді Лавлейс.

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

На цьому, мабуть і закінчується деяка подібність у їхніх долях.

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

За сорок років роботи в Інституті кіберенетики ім.В.М.Глушкова Національної академії наук України нею створена широковідома в Україні і за кордоном наукова школа теоретичного програмування.

2001-го року вона пішла з життя...

Про основні етапи розвитку школи теоретичного програмування розповідає Ольга Леонідівна Перевозчикова, учениця та продовжувач справи Катерини Логвіновни, член-корреспондент НАН України:


Історія наукової школи теоретичного програмування в Україні

Початковий етап. З позицій сьогодення важко уявити атмосферу 40-літньої давнини, коли кібернетика, що вважалася буржуазною лженаукою, по суті виникала на голому місці.

Своїми коренями теоретичне програмування сходить до робіт по експлуатації першого вітчизняного комп'ютера "МЭCМ", створеного колективом лабораторії Інституту електротехніки АН УРСР під керівництвом С.О.Лебедєва. У 1954 р. з ініціативи академіка Б.В.Гнєденко (у той час він очолював Інститут математики АН УРСР) лабораторія була переведена до цього інституту і до експлуатації "МЭCМ" підключилися кандидати фізико математичних наук Ю.В.Благовіщенський, І.В.Погребиський, В.С.Королюк, О.А.Ющенко, К.Л.Ющенко-Рвачова.

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

У такий спосіб осмислювалися прийоми програмування і використання комп'ютера для вирішення практичних завдань.

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

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

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

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

- визначення областей стійкості електроенергосистем, зокрема Куйбишевської ГЕС (постановка Л.В.Цукерника, Інститут електротехніки АН УРСР, виконавці 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-ті роки ХХ століття школа теоретичного програмування сконцентрувала зусилля на дослідженні АГ-методів представлення знань про моделі організації обчислень і дружнього інтерфейсу користувача (ІК) при проектуванні і розробці баз даних і знань для систем прийняття рішень, експертних систем і методів одержання знань для них, навчаючих систем різної орієнтації, наприклад, систем професійної підготовки інвалідів з метою їхньої соціальної реабілітації.

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

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

Розроблено АГ-модель інтерфейсу користувача; введено граматики об'єктного представлення інтерфейсу й алгебра на множині цих граматик, коректних стосовно до ІBM-, MACІNTOSH-, ANSІ- і ІSO/ІEC-стандартів ІК, розроблено алгоритм асинхронного недетермінованого разпізнавача, введена АГ-модель для структурного синтезу маршрутної схеми зі скороченим числом використовуваних модулів і аналіз її на часткове і повне застосування, оптимальність і інше. В порівнянні з традиційним моделюванням програмних систем мережами Петрі, запропонованій АГ-моделі властива більша селективна сила.

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

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

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

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

- система "ТопоЗв'язок" розрахунків цифрових мереж електрозв'язку і комутування міжміської телефонної мережі; спроектовані мережі для шести областей України;

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

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

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

Хоча названі системи розрізняються застосуванням механізмів АГ-апарату, усі вони мають значні по об'єму МПрО й інтенсивно удосконалюються стосовно до потреб обробки неточної і розпливчастої інформації. Ця задача тісно пов'язана з реалізацією пояснень і рекомендацій у організації ІК, тобто з розробкою спеціальних візуальних формалізмів для фільтрації й агрегатування вхідних даних, через які встановлюється коректність (часткова або у цілому) постановки розв'язуваної задачі.

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