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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

- визначення областей стiйкостi електроенергосистем, зокрема Куйбишевської ГЕС (постановка Л.В.Цукерника, Iнститут електротехнiки АН УРСР, виконавцi B.C.Королюк, К.Л.Ющенко);

- розрахунок теплових напруг будiвельних конструкцiй (постановка А.Д.Коваленко, Iнститут механiки АН УРСР, виконавець К.Л.Ющенко);

- обробка геодезичних спостережень (постановка Н.I.Якубецької, виконавець К.Л.Ющенко);

- розрахунок задач синтезу амiаку (виконавець Л.Н.Iваненко);

- оцiнка об'ємiв земляних робiт при проектуваннi автодорiг (постановка А.К.Хавкина, Київський автодорожнiй iнститут, виконавцi К.Л.Ющенко, Л.Н.Iваненко, А.М.Сибiрко).

Для бiльш складних задач з'ясувалося, наскiльки важко вирiшувати їх шляхом написання просто машинних програм; так виникла проблема створення мови програмування "високого рiвня" i вiдповiдного транслятора для кращого спiлкування людини з комп'ютером. Iстотний вплив на розумiння цiєї проблеми, як i на застосування комп'ютера для вирiшення задач не арифметичного характеру (аналiтичнi перетворення виразiв, диференцiювання й iнтегрування виразiв, розпiзнавання графiчних образiв, обробка текстiв i, згодом, перевiрка синтаксичної правильностi програм) зробив професор Київського унiверситету Л.I.Калужний, що читав у 50-70-тi роки ХХ столiття курс математичної логiки, який запропонував формальний апарат граф-схем програм.

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

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

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

На початковому етапi дослiджень теоретичне програмування концентрувалося на двох напрямках виявлення природи мов, як засобу спiлкування з комп'ютером. З одного боку, iнтенсивно розроблялися власне мови програмування i методи їх реалiзацiї, у першу чергу математико-алгоритмiчний апарат формалiзацiї синтаксису i семантики мов i методи розробки мовних процесорiв. Досягнення школи у цьому напрямку пов'язанi з дослiдженням класу параметричних граматик рекурсивного та iнверсивно-рекурсивного типу (В.Н.Редько) i CМ-граматик (I.В.Вельбицький), що забезпечують безперебiйний аналiз програм i реалiзацiєю ряду компiляторiв на вiтчизняних комп'ютерах.

З iншого боку, дослiджувався й оформлявся у наборах мовних конструктивiв категорiйний базис спiлкування з комп'ютером. З'явилися першi непроцедурнi мови для опису механiзмiв обробки даних, заснованi не тiльки на файловiй системi (прообраз iнформацiйних систем), що складалася тодi. Цi мови використовувались для рiзноманiтних iнженерно-наукових додаткiв на основi використовуваного у них математичного апарату. Саме символьно-графiчнi конструктиви, напрацьованi у цих мовах, послужили основою органiзацiї дiалогу з комп'ютером. Нагадаємо, що першi, дуже недосконалi пристрої дiалогового спiлкування з'явилися тiльки на початку 70-х рокiв ХХ столiття.

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


Етап становлення. Не можна залишити без уваги величезний iнтерес до програмування у тi роки. Професiя програмiста була оточена ореолом престижностi i стала символом того часу.

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

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

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

На основi набору КБВ реалiзованi i впровадженi у виробництво iнструментальнi комплекси "ДИСУППП" i "ГРАФ-ПРОЦЕСС", у середовищi яких забезпечується до 70% використання накопичених КБВ. За допомогою цього iнструментарiю згенеровано понад 10 професiйних систем рiзного призначення: вiд моделювання стратегiчної стабiльностi у Європi i прийняття рiшень у ходi бою бортовим обчислювачем роботизованної зенiтно-ракетної батареї до проектування технологiчних схем устаткування газоконденсатних родовищ i дiагностування ступеня розвитку iнтелекту у чорнобильських дiтей iз затримкою психiчного розвитку.

Неможливо не вiдзначити вчених, що зробили iстотний внесок у скарбничку школи теоретичного програмування на етапi її становлення: д-р фiз.-мат. наук Е.М.Куссуль, проф. А.I.Халилов, проф. Г.Є.Цейтлiн, проф. О.Л.Перевозчикова.


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

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

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

Розроблено АГ-модель iнтерфейсу користувача; введено граматики об'єктного представлення iнтерфейсу й алгебра на множинi цих граматик, коректних стосовно до IBM-, MACINTOSH-, ANSI- i ISO/IEC-стандартiв IК, розроблено алгоритм асинхронного недетермiнованого разпiзнавача, введена АГ-модель для структурного синтезу маршрутної схеми зi скороченим числом використовуваних модулiв i аналiз її на часткове i повне застосування, оптимальнiсть i iнше. В порiвняннi з традицiйним моделюванням програмних систем мережами Петрi, запропонованiй АГ-моделi властива бiльша селективна сила.

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

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

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

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

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

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

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

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

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

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