Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем

Інструментально-технологічний комплекс (ІТК) призначений для розроблення й навчання технології виробництва програмних систем (ПС) із готових ресурсів і компонентів повторного використання (КПВ). У ньому реалізовані нові теоретичні засади технології програмування, які подано сукупністю теоретичних ме...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2012
Автор: Лавріщева, К.М.
Формат: Стаття
Мова:Ukrainian
Опубліковано: Видавничий дім "Академперіодика" НАН України 2012
Назва видання:Вісник НАН України
Теми:
Онлайн доступ:http://dspace.nbuv.gov.ua/handle/123456789/36155
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем / К.М. Лавріщева // Вісн. НАН України. — 2012. — № 3. — С. 67-79. — Бібліогр.: 47 назв. — укр.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id irk-123456789-36155
record_format dspace
spelling irk-123456789-361552012-07-12T12:07:50Z Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем Лавріщева, К.М. Статті та огляди Інструментально-технологічний комплекс (ІТК) призначений для розроблення й навчання технології виробництва програмних систем (ПС) із готових ресурсів і компонентів повторного використання (КПВ). У ньому реалізовані нові теоретичні засади технології програмування, які подано сукупністю теоретичних методів, засобів і інструментів. Ці засади оснащують технологію програмування новими засобами складання КПВ з урахуванням особливостей сучасних середовищ (MS.Net, Java, Corba, Eclipse та ін.), зберігання специфікованих КПВ у репозиторії для їх застосування в нових розробках ПС і досягнення їх якості. ІТК подано сукупністю простих ліній, які реалізують різні дії з опису доменів мовою DSL, її трансформації до мови програмування (МП) окремих компонентів, складання, тестування й оцінювання якості створеної з КПВ системи. Запропоновано і реалізовано нову концепцію взаємодії розроблених програм між собою в одному середовищі та в різних розподілених системах (Corba, Java, Microsoft.Net, Eclipse, Protégé). ІТК пропонує технологію навчання з лінії розроблення програм мовою C# Visual Studio (VS).Net, Java та вивчення електронного курсу «Програмна інженерія» за авторським підручником на сайті фабрики програм Київського національного університету імені Тараса Шевченка (http:// programsfactory.univ.kiev.ua). Инструментально-технологический комплекс (ИТК) предназначен для разработки и обучения технологии производства программных систем (ПС) из готовых ресурсов и компонентов повторного использования (КПИ). В нем реализованы новые теоретические основы технологии программирования, которые представлены совокупностью теоретических методов, средств и инструментов. Эти принципы оснащают технологию программирования новыми средствами составления КПИ с учетом особенностей современных сред (MS.Net, Java, Corba, Eclipse и др.), хранения специфицированных КПИ в репозитории для их применения в новых разработках ПС и достижения их качества. ИТК представлен совокупностью простых линий, которые реализуют различные действия по описанию доменов на языке DSL, его трансформации в языках программирования (ЯП) отдельных компонентов, сборки, тестирования и оценки качества созданной из КПИ системы. Предложена и реализована новая концепция взаимодействия разработанных программ между собой в одной среде и в различных распределенных системах (Corba, Java, Microsoft.Net, Eclipse, Protégé). ИТК предлагает технологию обучения по линии разработки программ на языке C # Visual Studio (VS). Net, Java и изучение электронного курса «Программная инженерия» по авторскому учебнику на сайте фабрики программ Киевского национального университета имени Тараса Шевченко (http://programsfactory.univ.kiev.ua). Instrumental and technological complex — ITC is intended for development and learning technology aircraft with ready Reuses. It reflected new theoretical framework developed technology programming, submitted a set of theoretical methods, tools and instruments. These principles giving programming technology means new collection Reuses considering the specifics of modern environments (MS.Net, Java, Corba, Eclipse, etc.), storage Reuses specified in the repository for their use in new aircraft development and achievement of quality reuses. Technology ITC filed a set of simple lines that implement various actions to realize the domains of language DSL, transforming it to the PL of individual components, assembly, testing and quality evaluation system was created with Reuses. Proposed in ITC technology training for a new line of programming language C# VS.Net, Java and e-learning course «Software Engineering» for the copyright of electronic books online KNU (http://programsfactory.univ.kiev.ua). 2012 Article Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем / К.М. Лавріщева // Вісн. НАН України. — 2012. — № 3. — С. 67-79. — Бібліогр.: 47 назв. — укр. 0372-6436 http://dspace.nbuv.gov.ua/handle/123456789/36155 04.004 uk Вісник НАН України Видавничий дім "Академперіодика" НАН України
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
language Ukrainian
topic Статті та огляди
Статті та огляди
spellingShingle Статті та огляди
Статті та огляди
Лавріщева, К.М.
Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем
Вісник НАН України
description Інструментально-технологічний комплекс (ІТК) призначений для розроблення й навчання технології виробництва програмних систем (ПС) із готових ресурсів і компонентів повторного використання (КПВ). У ньому реалізовані нові теоретичні засади технології програмування, які подано сукупністю теоретичних методів, засобів і інструментів. Ці засади оснащують технологію програмування новими засобами складання КПВ з урахуванням особливостей сучасних середовищ (MS.Net, Java, Corba, Eclipse та ін.), зберігання специфікованих КПВ у репозиторії для їх застосування в нових розробках ПС і досягнення їх якості. ІТК подано сукупністю простих ліній, які реалізують різні дії з опису доменів мовою DSL, її трансформації до мови програмування (МП) окремих компонентів, складання, тестування й оцінювання якості створеної з КПВ системи. Запропоновано і реалізовано нову концепцію взаємодії розроблених програм між собою в одному середовищі та в різних розподілених системах (Corba, Java, Microsoft.Net, Eclipse, Protégé). ІТК пропонує технологію навчання з лінії розроблення програм мовою C# Visual Studio (VS).Net, Java та вивчення електронного курсу «Програмна інженерія» за авторським підручником на сайті фабрики програм Київського національного університету імені Тараса Шевченка (http:// programsfactory.univ.kiev.ua).
format Article
author Лавріщева, К.М.
author_facet Лавріщева, К.М.
author_sort Лавріщева, К.М.
title Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем
title_short Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем
title_full Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем
title_fullStr Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем
title_full_unstemmed Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем
title_sort інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем
publisher Видавничий дім "Академперіодика" НАН України
publishDate 2012
topic_facet Статті та огляди
url http://dspace.nbuv.gov.ua/handle/123456789/36155
citation_txt Інструментально-технологічний комплекс для розробки й навчання прийомам виробництва програмних систем / К.М. Лавріщева // Вісн. НАН України. — 2012. — № 3. — С. 67-79. — Бібліогр.: 47 назв. — укр.
series Вісник НАН України
work_keys_str_mv AT lavríŝevakm ínstrumentalʹnotehnologíčnijkompleksdlârozrobkijnavčannâprijomamvirobnictvaprogramnihsistem
first_indexed 2025-07-03T17:39:49Z
last_indexed 2025-07-03T17:39:49Z
_version_ 1836648381853728768
fulltext 67ISSN 0372-6436. Вісн. НАН України, 2012, № 3 © К.М. Лавріщева, 2012 УДК 04.004 К.М. ЛАВРІЩЕВА Інститут програмних систем НАН України просп. Академіка Глушкова, 40, Київ, 03187, Україна ІНСТРУМЕНТАЛЬНО-ТЕХНОЛОГІЧНИЙ КОМПЛЕКС ДЛЯ РОЗРОБЛЕННЯ Й НАВЧАННЯ ПРИЙОМАМ ВИРОБНИЦТВА ПРОГРАМНИХ СИСТЕМ Інструментально-технологічний комплекс (ІТК) призначений для розроблення й навчання технології вироб- ництва програмних систем (ПС) із готових ресурсів і компонентів повторного використання (КПВ). У ньому реалізовані нові теоретичні засади технології програмування, які подано сукупністю теоретичних методів, за- собів і інструментів. Ці засади оснащують технологію програмування новими засобами складання КПВ з ураху- ванням особливостей сучасних середовищ (MS.Net, Java, Corba, Eclipse та ін.), зберігання специфікованих КПВ у репозиторії для їх застосування в нових розробках ПС і досягнення їх якості. ІТК подано сукупністю простих ліній, які реалізують різні дії з опису доменів мовою DSL, її трансформації до мови програмування (МП) окремих компонентів, складання, тестування й оцінювання якості створеної з КПВ системи. Запропоновано і реалізовано нову концепцію взаємодії розроблених програм між собою в одному середовищі та в різних розподілених системах (Corba, Java, Microsoft.Net, Eclipse, Protégé). ІТК пропонує технологію навчання з лінії розроблення програм мовою C# Visual Studio (VS).Net, Java та вивчення електронного курсу «Програмна інженерія» за авторським підручни- ком на сайті фабрики програм Київського національного університету імені Тараса Шевченка (http:// programsfactory.univ.kiev.ua). Ключові слова: програмні системи, компоненти повторного використання, генерувальне програмування, фа- брика програм, технологія програмування, складальна технологія, взаємодія середовищ, інтерфейс, лінія продук- тів, репозиторій, дистанційне навчання, електронний підручник. В Інституті програмних систем НАН України (ІПС) впродовж багатьох років у межах фундаментальних проектів НАН «Розробка теоретичного фундаменту гене- рувального програмування (ГП) та інстру- ментальних засобів його підтримки» (2007–2011) і попереднього проекту «Роз- робка теоретичних основ та методологіч- них засад компонентного програмування» (2001–2006) було взято курс на розвиток і вдосконалення різних аспектів технології виробництва програм з готових компонен- тів повторного використання (КПВ), спря- мованої на індустріальний шлях розвитку майбутніх фабрик програм з конвеєрним складанням, ідею якого сформулював ака- демік В.М. Глушков ще в 1975 р. Базовою основою для виконання цих про- ектів були: особисті й вітчизняні напрацю- вання в галузі індустрії програм, започатко- ваній у СРСР ще в 70-х роках постановою Ради Міністрів СРСР «Программные сред- ства как продукция прозводстенно-тех ни- чес кого назначения» (1974) для ініціювання розвитку відповідних теорій і систем авто- матизації програм, пакетів прикладних про- грам у науково-дослідних інститутах СРСР та обговорення різних аспектів індустрії на багатьох наукових конференціях (1979– 1992). На першому етапі індустрії Інститут кібернетики зробив великий внесок у ство- рення науки і технології індустрії програмної 68 ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ продукції (ПП) для великих ЕОМ. Було розроблено методи, технології й інстру- ментальні засоби, а саме: Р-технологія, складальна технологія з КПВ та інтефей- су, технологія пакетів прикладних програм (Диспро, Планер, Вектор, СигмаДельта та ін.), системи автоматизації програм (Апроп, Мультипроцесист, Маяк та ін.) [1–5]. Це відповідало бурхливому розквіту технології програмування (ТП) в 90-х роках і викорис- танню її в багатьох побудованих АСУ, СОД та системах автоматизації морського флоту СРСР тощо. Сформувалася загальна концепція скла- дання (об’єднання, комплексування, інте- грації, композиції), об’єктами якої були модулі за різними МП, інтерфейс їхніх зв’язків та операції складання з них різних структур програм. За цим програмуванням було захищено докторську дисертацію ав- тора (1989), дві кандидатські дисертації (1990) й опубліковано монографію «Сбо- рочное програм мирование» (1991) з тео рією і практикою складального програмування та вирішення проблем несумісності типів даних, що передаються між об’єд наними різ- номовними модулями [6, 7]. Наступним кроком методу інтеграції були складання ПС з компонентів [8], монографія з ГП К. Чарнецькі та У. Айзенекера [9] з лейтмо- тивом «от ручного труда к конвейерной сборке», технологія І. Бея з частково авто- матизованої взаємодії різномовних програм [10], фабрика розроблення програм Дж. Грін- філда [11] з потоковим складанням і багато інших фабрик, про ана лі зованих і обґрунто- ваних у [5] як автоматизовані лінії виробни- цтва різних програм масового використан- ня, в тому числі комерційні Software Product Lines Ін сти туту програмної інженерії (Soft- ware Engineering Institute — SEI) США [12] і сучасні фабрики програм потужних інду- стріальних фірм з виробництва ПП (IBM, Microsystems, Sun Mic ro systems, Oberon, Unix, Intel та ін.). Під час виконання наукових проектів в ІПС стратегічну ідею В.М. Глушкова з кон- веєрної індустрії програмних продуктів реа- лізовано за допомогою нових теоретичних методів, засобів та інструментів [13–18], які оснащують сучасну ТП життєвим циклом (ЖЦ), новими засобами з досягнення якості КПВ і ПС та збагачують методи складання КПВ новими інструментами й особливостя- ми операційних середовищ (MS.Net, Java, Corba, Eclipse та ін.), які підвищують рівень індустрії ПП, зокрема системного призна- чення, протягом багатьох років. НОВІ НАУКОВІ І ПРИКЛАДНІ ЗАСАДИ З ВИРОБНИЦТВА ПРОГРАМ У межах проекту розроблено теоретичні засади технології виробництва ПС, які до- кладно подано в електронній монографії [14], що містить сукупність теоретичних ме- тодів, засобів і інструментів, орієнтованих на технологію виробництва програм, засто- сувань, доменів і ПС із готових різномовних і різнорідних КПВ, а також на навчання спрощених ліній технології. Навчання всіх технологічних прийомів розроблення різномовних програм та їх складання в різних поширених в інформа- ційному світі середовищах (VS.Net, IBM, Corba, Java, Sun Microsystems та ін.) сприяє підготовці у ВНЗ фахівців для індустрії ПП. Нові теоретичні засади технології вироб- ництва ПС з простих програм, КПВ і науко- вих артефактів охоплюють [8–31]: 1. Теоретичний апарат — методи, моделі й операції компонентної алгебри, засоби мар- шалінгу даних для їх перетворення при реа- лізації зв’язків компонентів між собою в МП, моделі проектування архітектур ПС (MDD, MDA, GDM, PIM, PSM тощо), ме- тоди збирання, трансформації і конфігу- рування, мови опису специфіки й понять предметної області — DSL (domain specific language), засоби автоматизованого ви роб- ництва ПС з можливістю адаптувати їх до інших умов виконання, керувати варіантами (варіабельністю) сімейств систем, оцінюва- ти правильність, якість, витрати та вартість виготовлення ПП [8, 14, 24]. 69ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ 2. Теорію взаємодії програм і систем для реалізації зв’язків операційних розподі- лених систем між собою MS.Net↔Eclipse, Corba↔Eclipse, Java↔MS.Net через апроба- цію програм С#↔Java, Basic↔C++, Ja va↔ ↔C#, що працюють у розподілених систе- мах мережі й отримують дані з СУБД або су- часних віртуальних сховищ даних он-лайн, які потребують їх перетворення до форматів архітектур на перетині середовищ виконан- ня [21–24, 29, 30]. 3. Нові, оригінальні моделі варіабельнос- ті й життєздатності, які в сукупності призна- чені для забезпечення адаптивності різних властивостей розроблених ПС (змінюванос- ті, інтероперабельності та від мовостійкості) для поліпшення їх супроводу в сучасних роз- поділених середовищах [14, 23–25]. 4. Онтологічні засади для відображення знань про прикладні домени (математика, медицина, біологія тощо) в інфраструктурі репозиторію шляхом подання опису специ- фікації КПВ та їхніх паспортів, уніфікова- них за стандартом WSDL, для їх накопичен- ня, організації пошуку, відбору й застосу- вання в нових розробках ПС [14, 26]. 5. Методологію проектування ПС з вико- ристанням ЖЦ, моделювання архітектури ПС за відомими моделями (MDA, MDD, GDM та ін.), генерацію і складання ПС з го- тових ресурсів (reuses, assets, servises, arte- facts, КПВ) [14–16]. 6. Методи й засоби інженерії тестування й оцінювання деяких показників компонен- тів ПС (зокрема, якості й витрат на розро- блення проектів ПС) [14, 27, 28]. 7. Спектр технологій для виробництва різних КПВ, програм і ПС, реалізований в ІТК з простих ліній, а саме: накопичення готових КПВ у репозиторії ГП; розроблен- ня і специфікація КПВ та їхніх паспортів; складання різномовних програм і компо- нентів у ПС за даними FDT і GDT (стан- дарту ISO/IEC 11404–2007) та теорії кон- вертування даних до форматів платформ обраних розподілених систем середовища ГП ІТК; розроблення ПС засобами DSL; конфігурування КПВ; інженерія якості і витрат; реалізація моделі взаємодії програм, систем у середовищах VS.Net, Corba, Java, Eclipse з можливістю їх міграції з однієї роз- поділеної системи середовища в іншу тощо [29–35]. 8. Технологію навчання студентів прийо- мів розроблення програм за ЖЦ у середови- щах MS.Net, Java та проведення електрон- ного вивчення курсу «Програмна інжене- рія» [14–19] на сайті (http://sestudy.edu-ua. net), сайтах фабрики програм КНУ імені Та- раса Шевченка (http://programsfactory.univ. kiev.ua) [21, 22, 31] і Національного відкри- того університету «ИНТУИТ» (http://www. intuit.ru/) [18]. Основу ІТК становить побудований ре- позиторій готових КПВ та інших артефак- тів, які можна накопичувати й застосову- вати під час складання з них нових систем чи проектів різного призначення. До середо- вища ГП входить Eclipse [44], який за- безпечує зв’язок усіх інструментів ГП, під- ключення до нього механізмом плагінів необхідних загальних, прикладних інстру- ментів (наприклад, VSTool DSL) та інших засобів для підтримання технології вироб- ництва ПС з КПВ із навколишніх розподі- лених систем. У процесі реалізації ліній виробництва в ІТК застосовано сучасні інструментальні розподілені системи: — загальносистемні засоби (Corba, Java, VS.Net, IBM, Protégé, MCF і Tools DSL MS. Net, Eclipse–DSL та ін.); — засоби спеціального призначення (Ec- lipse, Protégé) для створення моделей пред- метних областей і використання їх під час опису ПС у DSL і додавання КПВ до репо- зиторію [37, 38]; — системи програмування з МП Visual Basic, C++, Java і мови, що належать до за- гальносистемних середовищ, наприклад VS. Net (C#, F#, C++, Visual Basic), мови систе- ми Corba (C++, C, Lisp, Smalltalk, Java, Pascal, PL/1, Python), Java/RMI для опису різних програм, доменів або ПС [38–43]; — нові засоби з підтримання мови DSL (Tools DSL VS.Net і Work Flow, Eclipse–DSL) 70 ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ для подання описів прикладних доменів [45–47]; — засоби тестування й оцінювання про- грам і КПВ [14, 40]. Базову платформу інтегрованого середо- вища ІТК — Eclipse використовують як ядро і механізм розширення за плагінами середо- вища новими потрібними для ГП системни- ми засобами і компонентами (наприклад, AppFabric VS.Net і IBM, Apache Ant, Azure та ін.) для підтримання окремих ліній ви- робництва ПС. Фактично всі залучені до інтегрованого середовища ГП інструмен- тальні засоби, такі як VS.Net, Corba, Protégé [37], є незалежними і їх використання зу- мовлене не лише потребами виробництва ПС в ІТК, а й особливостями реалізації роз- роблених у цьому проекті теоретичних за- сад [14] і ПП. Отже, інтеграція деяких інструментів у се- редовище ГП має стандартний шлях, у якому розроблено принципово нові способи зв’язку систем і середовищ (VS.Net, Corba, Java, Ec- lipse) між собою, що створює розширене гете- рогенне середовище з різнорідними ПП, по- трібними різним користувачам Інтернету. ОПИС ФУНКЦІЙ ІТК ІТК містить мовні й інструментальні за- соби для підтримання технологічних засад і функцій, орієнтованих на реалізацію ліній розроблення програм і ПС з повторних КПВ, накопичених у репозиторії ГП. Він по- будований як сайт у корпоративній мережі ІПС НАН України. Розділ «Головна сторінка». На ній на- ведено (рис. 1) перелік функцій ІТК, осно- вні схеми наукових і проектних рішень щодо методології виробництва програм у середо- вищі ГП і методику реалізації ліній скла- дального виробництва в ІТК, взаємодії про- грам, систем і технології подання деяких до- менів засобами інструментальних систем середовища ГП і КПВ репозиторію. У реалізації окремих ліній технології ви- робництва програм в ІТК брали участь студенти КНУ імені Тараса Шевченка і МФТІ, особливо в галузі створення експе- риментальної фабрики програм [17, 21, 22, 31], програмних засобів підтримання мо- делей взаємодії програм і систем [14, 24, 29, 30] та варіабельності ПС [14, 23–25]. Залучений до ІТК інструментарій Protégé [37] підтримує технологію онтологічного створення моделей деяких доменів і за- вдань програми інформатизації НАН Укра- їни [38]. На цій сторінці можливо задати огляд роз- міщених текстових документів проекту — заключний звіт у двох книгах, електронну монографію (2007–2011), перелік підручни- ків і наукових публікацій співробітників відділу. Вони інформують всіх користувачів про сутність наукових робіт, підготовлених у рамках фундаментальних проектів, що ви- конувалися у відділі «Програмна інжене- рія» впродовж останніх років [14, 40]. Розділ «Технології». В ньому подано роз- роблену інтегровану технологію виробни- Рис. 1. Структура ІТК 71ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ цтва ПС і СПС із КПВ за наступними спро- щеними лініями: — фабрика програм, яка містить специфі- кації КПВ, їхні паспорти, курси навчання програмуванню C# VS.Net і програмної ін- женерії; — обслуговування репозиторію КПВ; — складання різномовних компонентів у ПС з конвертуванням несумісних типів да- них; — конфігурування КПВ у складну струк- туру ПС за точками варіантності; — опис доменів мовою DSL; — оцінювання якості й витрат на роз- роблення ПС; — онтологія предметної області; — генерація загальних типів даних до фундаментальних; — проектування прикладних ПС із сер- вісних ресурсів Інтернету. Ці прості технології реалізуються відповід- ними лініями, зміст яких наведено нижче. Фабрика програм. Лінії розроблення програм в ІТК будуються після об’єктного аналізу відповідної ПрО і компонентного методу реалізації об’єктів з завданням інтер- фейсів, необхідних під час складання ком- понентів і КПВ у складні ПС. Нині відпо- відно до [5, 10, 11], діє багато різних фабрик програм (рис. 2), що ґрунтуються на різних методах програмування і підходах до опису інтерфейсів складання КПВ. Ідея і концепція створення студентської фабрики програм виникли в автора у про- цесі викладання курсу «Технологія програ- мування ІС» на факультеті кібернетики КНУ імені Тараса Шевченка. Відповідно до неї студенти розробляти- муть наукові артефакти під час виконання лабораторних і дипломних робіт за лініями продуктів, подібними до Software Product Lines SEI [5, 12], стандарту WSDL для їх опису і подання в студентську фабрику про- грам. У ній реалізовано спочатку три лінії побудови окремих КПВ [5, 21, 31]. Перша лінія — це загальна схема процесів ЖЦ для побудови деякого виду артефакту, КПВ, за якою розроблено лінію створення програм у VS.Net. Реалізація процесів лінії закінчується визначенням артефактів у кла- сі задач ПрО, специфікацією паспортних да- них і розміщенням їх описів у репозиторії для подальшого застосування в середовищі Visual Studio.Net. Друга лінія — це добір готових програм, артефактів із репозиторію за їхніми функ- ціями з метою визначення можливості їх за- стосування для розроблення нового про- грамного артефакту або ПС. Третя лінія — складальна, що забезпечує складання ПС з готових ресурсів із застосу- ванням знов розроблених і дібраних про- грам і артефактів у репозиторії. Студентські артефакти є науковими, їх- нім продуктом можуть бути деякі методи або наукові алгоритми й КПВ у МП з мате- матики, фізики, біології тощо. Технологія обслуговування ре по зи то - рію КПВ. Репозиторій розроблений у се- редовищі VS.Net на основі MS SQL Server 2005 з такими функціями в ІТК: — запис компонента і його паспорта в репозиторій; Рис. 2. Загальна структура фабрики програм 72 ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ — вибір КПВ для аналізу його засто- сування в новій ПС як готового; — обчислення КПВ за поданням зна- чень параметрів; — виведення результату виконання КПВ; — внесення змін у КПВ; — документування КПВ (друк опису про- грами КПВ і паспорта); — контроль версій КПВ. Паспортизація КПВ виконується відпо- відно до стандартного шаблону WSDL, ви- користаного у системі Etics проекту Grid, узята нами як еталон і слугує засобом по- дання КПВ і відповідних паспортів у ката- лозі репозиторію ГП (рис. 3). У загальному випадку репозиторій — це система засобів для зберігання, поповнення напрацьованих КПВ. Він містить у собі інф- раструктуру розробки ПС з компонентів, ор- ганізацію доступу до КПВ, які розташовані в ньому для подальшого їхнього застосування в нових проектах. Наприклад, репозіторії Ін- тернету типу бібліотек GreenStone і Matlab надають величезну кількість готових про- грам наукового, зокрема математичного, типу. Вони орієнтовані на математиків, фізиків і інших фахівців предметних областей. Складання різномовних компонентів. На сьогодні є багато різних підходів зі складання (інтеграції) різномовних і різноплатформе- них компонентів [6, 8, 40–44]. Насамперед складання КПВ здійснюють викликами типу RPC, RMI, IContract для за без пе чення зв’яз- ків між компонентами ПС через: — інтерфейний посередник як перехідний міст (stub, skeleton) між КПВ у різних МП у загальних системах (IBM, VS.Net, Corba, СОМ тощо); — інтерфейси мовами IDL, API, IContract та ін. для програм у сучасних МП; — науковий інтерфейс (SIDL) для взає- модії програм e-science (C++, C, Fortran 77, Java тощо); — примітивні функції спеціальних бібліо- тек системи VS.Net (CLR — common language runtime, CTS — common type system і CLS — common language specification). Різні варіанти складання з використан- ням теорії перебудови несумісних типів да- них, що передаються між КПВ [6–8], реалі- зовано в ІТК на спрощених лініях: — складання одно- та різномовних програм у середовищі VS.Net (C# і Java, Basic і C++) з використанням бібліотек СRL, CTS і CLS; — складання різномовних програм з КПВ у середовищах Corba–Eclipse та Apache Ant за інтерфейсним посередником типу ORB, IDL, SIDL тощо (рис. 4). Таким чином, в ІТК реалізовано кілька варіантів складання різнорідних програм для сучасних розподілених систем Visual Рис. 4. У центрі схеми — інтерфейсний посередник двох різномовних компонентів А, В Рис. 3. Схема роботи репозиторію на фабриці 73ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ Studio, Corba, Eclipse через інтерфейсний посередник за параметрами і типами даних, що передаються між цими програ мами. Реалізація зв’язків між середовищами Vi sual Studio↔Eclipse і Corba↔Eclipse в ІТК продемонстрована відповідними приклада- ми в розділі сайту «Взаємодія». Конфігурування КПВ з точками варіа- бельності ПС. Конфігурування є механіз- мом об’єднання КПВ у варіабельну струк- туру з точками змінювання деяких КПВ за вимогами замовника [23, 34, 46]. КПВ, позначені точками в моделі варіа- бельності, можуть бути обов’язковими — наяв- ними в усіх ПС сімейства; не обо в’яз ко ви ми — що наявні лише в деяких ПС або в кількох точках можливих варіантів; індивідуальни- ми — які створюють на замовлення для замі- ни або додавання в ПС. Точки варіантності виділяють позиції в описі КПВ або ПС, в яких можна виконати зміни деяких функцій ПС. Варіант — це від- окремлена функціональність, якій відпові- дає точка варіантності, що задається іденти- фікатором як можлива альтернатива. В ІТК наведено програму розв’язування квадратного рівняння з трьома точками ва- ріабельності з використанням Work Flow MS.Net. За цим прикладом будується відпо- відний конфігураційний файл, який забез- печує виконання цієї програми, і в майбут- ньому буде реалізовано операції змінювання програм за точками варіантності. Лінія опису і генерації доменів DSL. ГП об’єднало всі парадигми програмування (об’єктне — ООП, компонентне — КОП, сер- вісне — СОП тощо). Воно орієнтоване на створення (генерацію, складання, компози- цію) ПС (applications), доменів (domains), сімейств програмних систем — СПС (soft- ware product families) тощо. Новим у ГП по- рівняно з ООП, КП, СОП є метамова опису домену за термінологією, яка визначає сут- ність простору понять і завдань домену засо- бами DSL [40, 49], зокрема модель ПрО, модель характеристик зі змінними пара- метрами і функціями, що залежать від умов функ ціонування системи, платформ і засо- бів трансформації типів даних залежно від місця їх розташування в середовищі. Як при- клад в ІТК реалізовано домен ЖЦ стандарту ISO/IEC 12207–2007, який подано графічно і текстове в XML за допомогою нового ін- струменту Eclipse–DSL [47]. Оцінювання якості і витрат продукту виконують програмним модулем Softest, призначеним для прогнозування оцінок трудовитрат і вартості розроблення ПС за відомою моделлю COCOMO II [14, 28]. Остання модель містить: попередню модель (application composition model) з оцінювання трудовитрат ПС на ранніх стадіях розроб- лення; передпроектну модель (early design model) з оцінкою трудовитрат, починаючи з перших стадій ЖЦ з розподілом витрат на процеси ЖЦ; детальну модель (post ar chi- tecture model), яка уточнює попередні оцін- ки трудовитрат при супроводі ПС. Кожна з моделей має аналітичний вигляд, реалізова- ний у модулі Softest за вхідними параметра- ми, що задаються на сайті для отримання результату, і розраховує номінальну (серед- ню) тривалість розроблення за формулою Дном = 3,67 · Тном (0,38 + 0,2·(B – 1,01)) . У майбутньому до модулю буде підключе- но оцінювання якості КПВ і ПС за стандарт- ною методикою. Таким чином, реалізація ліній поступового виробництва ПС з простих ліній за допомо- гою сучасних засобів і інструментів дає мож- ливість зробити висновок про наближення ТП до потреб сучасних фабрик програм. Розділ «Взаємодія». Спектр технологій за наведеними лініями доповнено засобами взаємодії програм, систем і середовищ від- повідно до розробленої в межах проекту те- орії взаємодії [21, 24]. Сутність її полягає в реалізації інтерфей- сів інтероперабельності шляхом удоскона- лення і загальних методів, і засобів доступу до середовищ Corba, VS.Net, Java й Eclipse у напрямі забезпечення перенесення програм через перетин середовищ в інше середовище для взаємодії програм цих середовищ між собою з розміщенням цих програм у репози- торію ІТК [5, 13, 14]. 74 ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ Ці операційні системи середовища ГП під- тримують процеси ЖЦ розроблення різно- рідних програм і методи їх об’єднання в різні структури ПП через спеціальні механізми зв’язку, реалізовані в кожній із них. Створені в середовищах різнорідні про- грами не можуть взаємодіяти між собою з багатьох причин, пов’язаних з різними під- ходами до реалізації їхніх інтерфейсів і фор- матів архітектур комп’ютерів тощо. Для ви- рішення цієї проблеми в ІТК запропоновано додаткові оригінальні засоби взаємозв’язку за допомогою моделі взаємодії з параметра- ми інтероперабельності, перенесення й адап- тивності програм і середовищ. Головне, що практично зроблено в цьому ІТК, — це реалі- зація нової моделі взаємодії, що розширює «водорозділ» між середовищами для повіль- ного «плавання» програм і систем з метою виконання чи змінювання деяких пов’язаних між собою КПВ [23, 28, 29]. Реалізовані нові засоби взаємодії поки не мають прототипу. Практично вони перевіре- ні програмно на сайті за наступними варіан- тами взаємодії. Взаємодія програм у різних МП встанов- люється зв’язками з іншими програмами че- рез інтерфейсні мови (IDL, API, SIDL) і від- повідними механізмами виклику: RPC сис- теми Sun Microsystems, RMI системи Java, ORB системи Corba, MSIL системи VS.Net, IContract системи MCF тощо. Виклики RPC, RMІ містять параметри, що передаються між програмами або компо- нентами для виконання обчислень з повер- ненням результату програмі, що викликає. В ІТК реалізовані конкретні інтерфейси взаємодії на прикладі програм мовами Visual Basic і C++, що виконуються в середовищі VS.Net в ІТК. Як приклад для ІТК взято про- грами з монографії І. Бея [10] з опису псевдо- випадкової послідовності та розрахунку мак- симального, мінімального й середнього зна- чень цієї послідовності із взаємодією програм через інтерфейсний посередник — проміж- ний ланцюг між прог рамами, що обмінюють- ся даними між собою і перетворюють несу- місні типи даних. Взаємодія забезпечується за допомогою розроблення програм типу DLL в середови- щах Visual С++ - Visual Basic і реалізації цих програм з використанням файлів *.cpp, *.h, DEF і LIB. Зазначені програми обчислюють максимальне, мінімальне та середнє значен- ня цієї послідовності і видають результат на дисплей сайту ІТК. Взаємодія розподілених систем Corba↔ ↔Eclipse, Java, занурених у середовище ІТК, реалізована на прикладі програми авториза- ції ключів мовою Java [4, 20]. Цією програ- мою продемонстровано реалізацію моделі взаємодії двох середовищ з використанням механізму RMI передавання повідомлень у системі Corba [43]. Під час реалізації вико- ристовується проміжний шар для об’єднання програмного коду об’єктів, інтерфейс досту- пу до яких описується мовою IDL. Типи да- них об’єктів у МП відображуються в типи IDL і зворотно за допомогою брокера ORB щодо компіляції IDL-описів компонентів, створення клієнтських і серверних stub- і ske leton-посередників. Реалізований механізм відсутній на плат- формі .Net, і тому для взаємодії тут вико- ристовують сторонні пакети (наприклад, IIOPNet з відкритим вихідним кодом). За допомогою утиліти з цього пакета IDL-опис об’єкта перетворюється в функції CLS-су- місної бібліотеки, а потім залучається до за- стосування. Зв’язок з брокером ORB здійснюється че- рез канал зв’язку, який відіграє роль клієнт- ського стабу, виконуючи маршалінг і демар- шалінг переданих через нього даних. Таким чином, в ІТК продемонстровано реалізацію завдання взаємодії прикладних компонентів у середовищах Microsoft.Net (клієнтська частина застосування) і Java (серверна частина) засобами системи Corba з використанням MS.Net і Java. Взаємодія систем і середовищ. Взаємо- дія Eclipse і VS.Net реалізована в системі ГП на прикладі деякої програми мовою C# VS. Net, що передається через плагін у репози- торій Eclipse. Засобами цих середовищ роз- роблено програму складання з компонентів, 75ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ специфікованих мовами C# і Java. Зв’язок між ними реалізовано за допомогою бібліо- тек типів CTS i класів CLR системи Visual Studio і розміщення програм мовою C# у ре- позиторії Eclipse. Для взаємодії Eclipse із платформою .Net мовою C# використовують плагін Emonic і програму NAnt. Створений проект програми імпортується в Eclipse і конфігураційний exe-файл складання, побу- дований за допомогою External Configura- tion Tools. Отже, в ІТК, на відміну від розглянутих систем і середовищ, створено можливість відкритого доступу до нових механізмів вза- ємодії у середовищах Corba, VS.Net, Java, що розширює функції розробленого ІТК ГП із взаємодії програм, систем, середовищ. Розділ «Інструменти». До інструмен- тальних засобів ІТК належать Protégé й Eclipse. Система Protégé призначена для створен- ня моделей різних предметних областей за онтологією і знаннями про поняття і зв’язки між ними. Цей засіб підключений до Eclipse, проходить процес апробування на прикладі деякої ПрО і моделювання знань у базі знань цього інструменту [26]. Систему Protégé в ІТК використовують для розроблення онто- логій предметних областей за допомогою слотів і фасет. Слоти слугують для опису властивостей класів та їхніх екземплярів (і атрибутів). Згід- но з фреймовою моделлю, слот — це фрейм. Слоти визначаються незалежно від класу, і один і той самий слот може належати до різ- них класів. Фасети дають змогу вводити об- меження на типи і діапазони значень екземп- лярів (атрибутів) мовою XML. Для слоту за- дається кількість значень, обмеження на значення (ціле, рядкове тощо) і граничні зна- чення (мінімальне і максимальне). За допомо- гою слотів і фасет будують моделі ПрО за тех- нологією проектування, реалізованою в ІТК. Eclipse містить різні IDE для розроблення ПC у різних МП з використанням стандарт- ного відкритого інтерфейсу API для доступу до нього. Середовище розроблення має набір розширень RPC: редактори, панелі, перспек- тиви, модуль CVS, модулі Java De velopment Tools (JDT) і Java IDE, спрямовані на гру- пове розроблення. Це середовище інтегро- ване із системами керування версіями CVS для інших систем (наприклад, Sub version, MS SourceSafe), C/C++ Deve lopment Tools (CDT) і засобами мов Fortran, PHP тощо. Множина розширень доповнює середо- вище Eclipse менеджерами для роботи з ба- зами даних, серверами застосувань тощо. Eclipse написаний мовою Java, використовує стандартні Java-бібліотеки Swing і підклю- чає через плагіни не лише мовою Java, а й ін- шими мовами — C/C++, Perl, Ruby, Python, PHP, Erlang, Pascal тощо. Eclipse розширено засобом Eclipse–DSL для побудови моделей доменів мовою DSL і розподіленими систе- мами VS.Net, Corba та Java для об’єднання різномовних програм і перенесення їх у ре- позиторій ГП. Розділ «Презентації». Презентація «При- кладна система» на сайті ІТК демонструє розроблену в межах програми інформатиза- ції НАН України інформаційну систему для підтримання повсякденної діяльності відді- лу міжнародних зв’язків Президії НАН Ук- раїни. Для доступу до неї розроблено авто- матизований веб-комплекс, який забезпечує формування довідок про відряджених за кордон працівників Президії НАН України, звітів про відрядження. Усі дані зберігають- ся в єдиній базі даних цього комплексу. Його опис, інструкція щодо роботи з ним користу- вачів, а також слайди про нього містяться в ІТК. Ними можна користуватися, оскільки цей веб-комплекс готовий для застосування в підрозділах інститутів і Президії НАН України та інших організаціях. Сайт переда- но до Державного департаменту інтелекту- альної власності при МОН [38]. Крім того, розміщено дві презентації-до- повіді автора з програмної інженерії і фаб- рики програм та індустрії програм на міжна- родному науковому конгресі при Кабміні України (18 листопада 2011 р.). Розділ «Навчання». Враховуючи міжна- родну практику навчання студентів, а саме, навчання за електронними посібниками, в 76 ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ ІТК використано підручники (українською й російською мовами) з таких навчальних дисциплін: — «Програмна інженерія» [14, 17, 18], що доступний на сайті фабрики програм КНУ (http://programsfactory.univ.kiev.ua) і На ціо наль ного відкритого університету «ИНТУИТ» (www.intuit.ru); — технологія розроблення програм мовою Java («Самовчитель Java» І.Ш. Хабі бул лі на); — технологія розроблення програм засоба- ми C# VS.Net (опис цієї технології див. далі). Електронне навчання охоплює курси за програмою Міносвіти «Програмна інжене- рія та Java» для навчання студентів, аспіран- тів, деяких співробітників ІПС НАН Украї- ни й користувачів фабрики програм, корпо- ративного сайту ІПС (http://192.168.220.87/ проект-2011/index.html), що реалізує спектр технологій за лініями поступового виготов- лення СПС із готових КПВ і складання їх у готовий ПП у середовищах VS.Net, Corba, Java, Eclipse тощо, а також курси навчання. Технологія розроблення програм на плат формі VS.Net. В розробленні цієї тех- нології приймала участь с.н.с. ІПС і доцент МНТУ ім. Юрія Бугая Т.М. Коротун, яка ви- кладала курс програмування в системі MS. Net з мови C# на прикладі завдань лабора- торних і дипломних робіт. Платформа VS.Net забезпечує підтримання проектування і реалізації ПС з використанням різних МП, що входять до її складу. Вона міс- тить загальномовне середовище часу виконання CLR, ідентичне Java Runtime Environment. Будь-яка програма, написана для цієї плат- форми, є керованим кодом (managed code) і компілюється в бінарний вигляд, зрозумілий для .Net runtime. У середовищі Visual Studio MS.Net реалізовано модель програмування за шаблоном з генерацією заготовок коду для програм різних типів: консольних, бібліотек, Windows-, Web-форм, Web-сервісів тощо. В ІТК розроблено лінії створення консоль- них програм мовою C#, локальних Win dows- застосувань та обслуговування біб ліотек компонентів DLL. Ці лінії навчання вдоско- налюватимуться у напряму розширення тех- нології складання готових програм у цьому середовищі, а також додавання нових МП. ВИСНОВКИ Статтю подано в період, коли Кабінет Мі- ністрів України звернув увагу на проблеми розвитку вітчизняної індустрії програмних продуктів для отримання доходів від неї, оскільки частка національного доходу в між- народному обсязі ПП становить 1,3%. Було проведено міжнародний науковий конгрес (17–18 листопада 2011 р.) з проблем індустрії ПП і слухання на засіданні Верховної Ради (14 грудня 2011 р.) щодо економічних, комер- ційних і навчальних питань індустрії ПП в Україні. Це означає початок другого етапу в історії програмної індустрії, оскільки такі пи- тання в незалежній Україні досі не розгляда- лися. Після розпаду СРСР курс було взято на аутсорсинг і придбання готових закордонних ПП різного призначення для впровадження їх у державні організації і підготовку студен- тів для роботи в закордонних фірмах, яких у країні налічується близько 2000. Разом з тим в ІПС НАН України впродовж багатьох років виконували наукові проекти в напрямі послідовного опрацювання теоре- тичних і прикладних питань розвитку техно- логії виробництва різних програмних про- дуктів. У результаті розроблено новітні тео- рії і технології виготовлення ПП у сучасних операційних середовищах (на прикладі дію- чих фабрик програм), оригінальні автомати- зовані лінії розроблення окремих КПВ і ПС зі спектру комплексних технологій та механіз- ми накопичення готових КПВ і наукових ар- тефактів у репозиторіях і е-бібліотеках, як необхідних комплектуючих «деталей» для розвитку індустрії ПП і навчання її методів студентів ВНЗ. Отже, в ІПС НАН України в напрямі індустрії ПП розроблено: — комплексну технологію виробництва СПС за найпростішими лініями: розроблен- ня ок ремих КПВ; їх сервісного обслугову- вання в репозиторії; складання і конфігуру- вання КПВ у СПС; взаємодії програм, систем і середовищ між собою; тестування КПВ; оці- нювання якісних показників СПС і витрат на 77ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ розроблення. Ця технологія є сучасною і ак- туальною з позицій індустрії програмної про- дукції, надає всі необхідні теоретичні й при- кладні засади для ре гла ментованого її вико- ристання в ко лек ти вах-розробниках України; — інструментально-технологічний комп- лекс як сучасний веб-сайт корпоративної сис- теми НАН України (http://192.168.220.87/ проект-2011/index.html), що введений в Ін- тернет на сервері Академії педагогічних наук (http://sestudy.edu-ua.net), що реалізує наве- дений у роботі спектр комплексних техноло- гій виробництва СПС у середовищі систем VS.Net, Corba, Java, Eclipse тощо; сайт експе- риментальної фабрики програм на факульте- ті кібернетики КНУ імені Тараса Шевченка (http://programsfactory.univ.kiev.ua) з навчан- ня технологій програмування C#, Java і кур- су програмної інженерії (за жовтень-листопад 2011 р. було зареєстровано понад 3000 звер- нень викладачів та студентів); — методику виробництва, висвітлену в електронній монографії «Нові теоретичні засади технології виробництва сімейств програмних систем у контексті генеру- вального програмування» (К.М. Лавріщева, Г.І. Коваль, Л.П. Бабенко, О.О. Сла бо спи ць- ка, П.П. Ігнатенко), здану у ДРНТІ України за № 67, жовтень 2011 р. Електронна монографія, яка буде подана у розділі «Презентації» веб-сайту (http:// se study.edu-ua.net), є початком впроваджен- ня індустріального напряму виготовлення програмної продукції в НАН Україні. СПИСОК ЛІТЕРАТУРИ 1. Сергиенко И.В. Некоторые вопросы разработ- ки общесистемного программного обеспечения ЭВМ и систем. — К.: ИК им. В.М. Глушкова, 1987. — 29 с. 2. Сергиенко И.В. Вопросы разработки прикладного математического обеспечения ЭВМ и систем. — К.: ИК им. В.М. Глушкова, 1987. — 36 с. 3. Лаврищева Е.М. Основы технологической подго- товки разработки прикладных программ СОД. — К., 1987. — 30 с. 4. Лаврищева Е.М. Становление и развитие модульно- компонентной инженерии программирования в Украине. — К.: ИК им. В.М. Глушкова, 2008. — 33 с. 5. Андон П.І., Лавріщева К.М. Розвиток фабрик про- грам в інформаційному світі // Вісник НАН Украї ни. — 2010. — № 10. — C. 15–41. 6. Лаврищева Е.М., Грищенко В.Н. Сборочное про- граммирование. — К.: Наук. думка, 1991. — 213 с. 7. Лаврищева Е.М., Грищенко В.Н. Сборочное про- грам мирование. Основы индустрии программных продуктов. — К.: Наук. думка, 2009. — 371 с. 8. Грищенко В.М. Метод об’єктно-компонентного про ектування програмних систем // Проблеми програмування. — 2007. — № 2. — С. 113–125. 9. Чарнецки К., Айзенекер У. Порождающее програм- мирование. Методы, инструменты, применение. — СПб: Питер, 2005. — 730 с. 10. Бей И. Взаимодействие разноязыковых про- грамм. — М.: Вильямс, 2005. — 868 с. 11. Гринфилд Дж., Шорт К., Кук С. и др. Фабрики раз- работки программ. Потоковая сборка типовых приложений, моделирование, структуры и инст- рументы. — М.: Вильямс, 2007. — 591 с. 12. Framework for Software Product Line Practice // http://www.sei.cmu.edu/productlines/frame_re- port/index.html. 13. Андон Ф.И., Лаврищева Е.М. Методы инженерии распределенных компьютерных приложений. — К.: Наук. думка, 1997. — 228 с. 14. Лавріщева К.М., Коваль Г.І., Бабенко Л.П. та ін. Но ві теоретичні засади технології виробництва сімейств програмних систем у контексті генеру- вального програмування. — К., 2011. — 377 с. 15. Бабенко Л.П., Лавріщева К.М. Основи програмної інженерії. — К.: Знання, 2001. — 269 с. 16. Лаврищева Е.М. Методы программирования. Теория, инженерия, практика. — К.: Наук. думка, 2006. — 451 с. 17. Основы инженерии качества программных систем / Ф.И. Андон, Г.И. Коваль, Т.М. Коротун и др. — К.: Академпериодика, 2007. — 672 с. 18. Лаврищева Е.М., Петрухин В.А. Методы и сред- ства инженерии программного обеспечения. — М.: МОН Российской Федерации, 2007. — 415 с. 19. Лавріщева К.М. Програмна інженерія. — К.: Ака- демперіодика, 2008. — 319 с. 20. Коваль Г.І., Колесник А.Л., Лавріщева К.М., Слабо- спицька О.О. Удосконалення процесу розроблення сімейств програмних систем елементами гнучких методологій // Проблеми програмування. — 2010. — № 2–3. — C. 261–270. 21. Лавріщева К.М. Концепція індустрії наукового софтвера і підхід до обчислення наукових задач // Проб леми програмування. — 2011. — № 1. — С. 3–17. 22. Анісімов А.В., Лавріщева К.М., Шевченко В.П. Про індустрію наукового софтвера // Theoretical and Ap- plied Aspects of Cybernetics. Proc. Int. Sci. Conf. Students and Young Scientists (21–25 Feb. 2011, Kyiv, Ukraine). K.: Bukrek, 2011. — P. 65–67. 78 ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ 23. Лавріщева К.М., Слабоспицька О.О., Коваль Г.І., Колесник А.Л. Теоретичні аспекти керування ва- ріабельністю в сімействах програмних систем // Вісник КНУ, сер. фіз.-мат.наук. — 2011. — № 1. — С. 151–158. 24. Лаврішева К.М. Взаємодія програм, систем й опе- раційних середовищ // Проблеми програмуван- ня. — 2011. — № 3. — С. 13–24. 25. Ігнатенко П.П. Життєздатні програмні системи. Концептуалізація підходу до автоматизації сис- тем організаційного керування // Проблеми про- грамування. — 2006. — № 3. — С. 33–44. 26. Бабенко Л.П. Онтологический подход к специфи- кации свойств программных систем и их компо- нентов // Кибернетика и системный анализ. — 2009. — № 1. — С. 180–187. 27. Коротун Т.М. Моделі і методи тестування про- грамних систем // Проблеми програмування. — 2007. — № 2. — С. 76–84. 28. Андон П.І., Суслов В.Ю., Коротун Т.М. та ін. Ви- значення витрат на створення ПЗ АС // Пробле- ми програмування. — 1998. — № 3. — С. 23–34. 29. Островский А.И. Подход к обеспечению взаимодей- ствия программных сред JAVA и MS.Net // Проб- леми програмування. — 2011. — № 2. — С. 37–44. 30. Радецький І.О. Один з підходів до забезпечення взаємодії середовищ MS.Net і Eclipse // Проблеми програмування. — 2011. — № 2. — С. 45–52. 31. Аронов А.О., Дзюбенко А.І. Підхід до створення студентської фабрики програм // Проблеми про- грамування. — 2011. — № 3. — С. 42–49. 32. Коваль Г.І. Підхід до моделювання якості сі- мейств програмних систем // Проблеми програ- мування. — 2009. — № 4. — C. 49–58. 33. Слабоспицька О.О. Технологічна модель проце- су автоматизованого виробництва сімейств про- грамних систем // Проблеми програмування. — 2011 — № 1. — С. 39–48. 34. Колесник А.Л. Підхід до конфігурування компо- нентів повторного використання // Проблеми програмування. — 2011. — № 4. — С. 57–66. 35. Стеняшин А.Ю. Про формальний опис типів і структур даних в різнорідних програмах // Проб- леми програмування. — 2011. — № 2. — С. 50–61. 36. Нейгел К., Ивьен Б., Глинн Дж. и др. С# 2008 и платформа .NET 3.5 для профессионалов / пер. с англ. — М.: Вильямс, 2009. — 1392 с. 37. Зінькович В.М. Онтологічне моделювання пред- метної області з проблематикою e-science // Проб- леми програмування. — 2011 — № 3. — С. 91–99. 38. Грищенко В.М., Куцаченко Л.І. Автоматизована ін- формаційна система підтримки міжнародної діяль- ності НАНУ // Державний департамент інтелекту- альної власності. Свідоцтво № 2304 від 23.12.2009. 39. Нэш Т. C# 2010. Ускоренный курс для профессио- налов / пер. с англ. — М.: Вильямс, 2010. — 592 с. 40. Лавріщева К.М. Генерувальне програмування про- грамних систем і сімейств // Проблеми програму- вання. — 2009. — № 1. — С. 3–16. 41. http://nant.sourceforge.net. 42. Эммерих В. Конструирование распределенных объек- тов. Методы и средства программирования интеропе- рабельных объектов в архитектурах OMG/CORBA, Microsoft/COM и Java/RMI / пер. с англ. — М.: Мир, 2002. — 510 с. 43. Naughton P., Schildt H. Java 2: The Complete Refe rence. — Berkeley: Osborne McGraw-Hill, 1999. — 1108 p. 44. Гамма Э., Бек К. Расширения Eclipse: принципы, шаблоны и подключаемые модули / пер. с англ. — М.: КУДИЦ-ОБРАЗ, 2005. — 384 с. 45. Protégé-Frames User’s Guide // http://protegewiki. stanford.edu/wiki/PrF_UG_all. 46. Колесник А.Л. Механізми забезпечення варіабель- ності в сімействах програмних систем // Проблеми програмування. — 2010. — № 1. — C. 35–44. 47. Walkthrough. Domain-Specific Language (DSL) Tools, 2005. Е.М. Лаврищева Институт программных систем Национальной академии наук Украины пр. Академика Глушкова, 40, Киев, 03187, Украина ИНСТРУМЕНТАЛЬНО-ТЕХНОЛОГИЧЕСКИЕ КОМПЛЕКСЫ ДЛЯ РАЗРАБОТКИ И ОБУЧЕНИЕ ПРИЕМАМ ПРОИЗВОДСТВА ПРОГРАММНЫХ СИСТЕМ Инструментально-технологический комплекс (ИТК) предназначен для разработки и обучения технологии про- изводства программных систем (ПС) из готовых ресурсов и компонентов повторного использования (КПИ). В нем реализованы новые теоретические основы технологии программирования, которые представлены совокупно- стью теоретических методов, средств и инструментов. Эти принципы оснащают технологию программирования но- выми средствами составления КПИ с учетом особенно- стей современных сред (MS.Net, Java, Corba, Eclipse и др.), хранения специфицированных КПИ в репозитории для их применения в новых разработках ПС и достижения их качества. ИТК представлен совокупностью простых ли- ний, которые реализуют различные действия по описанию доменов на языке DSL, его трансформации в языках про- граммирования (ЯП) отдельных компонентов, сборки, тестирования и оценки качества созданной из КПИ систе- мы. Предложена и реализована новая концепция взаимо- действия разработанных программ между собой в одной среде и в различных распределенных системах (Corba, Java, Microsoft.Net, Eclipse, Protégé). ИТК предлагает тех- нологию обучения по линии разработки программ на язы- ке C # Visual Studio (VS). Net, Java и изучение электронно- го курса «Программная инженерия» по авторскому 79ISSN 0372-6436. Вісн. НАН України, 2012, № 3 СТАТТІ ТА ОГЛЯДИ учебнику на сайте фабрики программ Киевского нацио- нального университета имени Тараса Шевченко (http:// programsfactory.univ.kiev.ua). Ключевые слова: программные системы, ком поненты повторного использования, генерирующее программи- рование, фабрика программ. технология программиро- вания, сборочная технология, взаимодействие сред, ин- терфейс, линия продуктов, репозиторий, дистанционное обучение, электронный учебник. K.М. Lavrischeva Institute of Software Systems of National Academy of Sciences of Ukraine 40 Glushkov Ave., Kyiv, 03187, Ukraine INSTRUMENTAL AND TECHNOLOGICAL COMPLEX FOR DEVELOPMENT AND TRAINING METHODS OF MANUFACTURING SYSTEMS SOFTWARE Instrumental and technological complex — ITC is in- tended for development and learning technology aircraft with ready Reuses. It reflected new theoretical frame- work developed technology programming, submitted a set of theoretical methods, tools and instruments. These principles giving programming technology means new collection Reuses considering the specifics of modern en- vironments (MS.Net, Java, Corba, Eclipse, etc.), storage Reuses specified in the repository for their use in new air- craft development and achievement of quality reuses. Technology ITC filed a set of simple lines that implement various actions to realize the domains of language DSL, transforming it to the PL of individual components, as- sembly, testing and quality evaluation system was created with Reuses. Proposed in ITC technology training for a new line of programming language C# VS.Net, Java and e-learning course «Software Engineering» for the copy- right of electronic books online KNU (http://programs- factory.univ.kiev.ua). Keywords: programs system, reuses, generative pro- gramming, assembling or compositional programming, programs factory, interconnection or interoperability, in- terface, pro duct line, repository, distance learning, elect- ronic textbooks. Стаття надійшла 17.10.2011 р.