Object-component development of changeable software systems

Complementary limitations of both Software Product Lines industrial technologies and Lavrischeva – Grishenrko object-component method concerning changeable software development are elicited such as the lack of formalisms for program assets building and ill predictability of this build features.To co...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2018
Hauptverfasser: Lavrischeva, E.M., Slabospitskaya, O.A., Stenyashin, A.Yu., Kolesnyk, A.L.
Format: Artikel
Sprache:rus
Veröffentlicht: Інститут програмних систем НАН України 2018
Schlagworte:
Online Zugang:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/164
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Institution

Problems in programming
id pp_isofts_kiev_ua-article-164
record_format ojs
resource_txt_mv ppisoftskievua/cf/d4293a9ee173af3e5a0d2c50b42de5cf.pdf
spelling pp_isofts_kiev_ua-article-1642021-01-25T15:44:28Z Object-component development of changeable software systems Объектно-компонентная разработка изменяемых программных систем Об’єктно-компонентна розробка змінюваних програмних систем Lavrischeva, E.M. Slabospitskaya, O.A. Stenyashin, A.Yu. Kolesnyk, A.L. object; component; object- component method; variability model; artifact; variability point; asset; variability model; configuration build UDC 004.4 объект; компонент; объектно-компонентный метод; модель вариабельности; артефакт; вариантная точка; готовый ресурс; управление моделями; конфигурационная сборка УДК 004.4 об'єкт; компонент; об'єктно-компонентний метод; модель варіабельності; артефакт; точка варіантності; готовий ресурс; управління моделями; конфігураційна збірка УДК 004.4 Complementary limitations of both Software Product Lines industrial technologies and Lavrischeva – Grishenrko object-component method concerning changeable software development are elicited such as the lack of formalisms for program assets building and ill predictability of this build features.To cope with the limitations universal Model of Software Family Variant Features is proposed expanding its tradi-tional feature model for basic development artifacts. For assets being considered as reusable Components final Changeable Software Object-Component Model is elaborated including the universal model above being adjusted as Software Variability Object-Component Model. The Algebra is depicted for the operations of both the Components configuring and data types transforming over their interaction within changeable software system.These operations are proposed to incorporate into the target process for Changeable Software Family proactive and informed Variability management being represented with its technological chart. The process proposed composes the functions for variability Planning, Implementing and Control as well as Family model/consist Evolving up to the Control results. The functions listed are performed within common information environment structured accordingly to Variant Features Model or its object-component adjustment.Trial software tool for configuring Components in the above process is probed. The usage is depicted of both the framework proposed and this tool over technological lines being implemented in Software Systems Institute of NAS of Ukraine Instrumental-technological complex for changeable software configuring from the components.Problems in programming 2016; 1: 03-16 Объектно-компонентный метод (ОКМ) моделирования программных систем Лаврищевой – Грищенко развит согласованными моделями вариабельности систем и их вариантной конфигурационной сборки из компонентов, а также алгеброй операций изоморфного преобразования нерелевантных типов данных для этих компонентов. Введение в модель системы точек вариантности с их вариантами обеспечивает изменяемость систем и устойчивое взаимодействие их компонентов. Описана реализа-ция формального аппарата в автоматизированном конфигураторе систем и его апробация в инстру-ментально-технологическом комплексе ИПС НАНУ и экспериментальной фабрике программ КНУ им. Т. Шевченко.Problems in programming 2016; 1: 03-16 Об'єктно-компонентний метод моделювання програмних систем Лавріщевої – Грищенка розвинуто узгодженими моделями варіабельності систем та їх варіантної конфігураційної збірки з компонентів, а також алгеброю операцій ізоморфного перетворення нерелевантних типів даних для цих компонентів. Запровадження до моделі системи точок варіантності з їх варіантами забезпечує змінюваність систем та стійку взаємодію їх компонентів. Описано реалізацію формального апарата в автоматизо-ваному конфігураторі систем та його апробацію в інструментально-технологічному комплексі ІПС НАНУ і експериментальній фабриці програм КНУ ім. Т. Шевченка.Problems in programming 2016; 1: 03-16 Інститут програмних систем НАН України 2018-11-21 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/164 10.15407/pp2016.01.003 PROBLEMS IN PROGRAMMING; No 1 (2016); 3-16 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2016); 3-16 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2016); 3-16 1727-4907 10.15407/pp2016.01 rus https://pp.isofts.kiev.ua/index.php/ojs1/article/view/164/158 Copyright (c) 2017 ПРОБЛЕМИ ПРОГРАМУВАННЯ
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2021-01-25T15:44:28Z
collection OJS
language rus
topic object
component
object- component method
variability model
artifact
variability point
asset
variability model
configuration build
UDC 004.4
spellingShingle object
component
object- component method
variability model
artifact
variability point
asset
variability model
configuration build
UDC 004.4
Lavrischeva, E.M.
Slabospitskaya, O.A.
Stenyashin, A.Yu.
Kolesnyk, A.L.
Object-component development of changeable software systems
topic_facet object
component
object- component method
variability model
artifact
variability point
asset
variability model
configuration build
UDC 004.4
объект
компонент
объектно-компонентный метод
модель вариабельности
артефакт
вариантная точка
готовый ресурс
управление моделями
конфигурационная сборка
УДК 004.4
об'єкт
компонент
об'єктно-компонентний метод
модель варіабельності
артефакт
точка варіантності
готовий ресурс
управління моделями
конфігураційна збірка
УДК 004.4
format Article
author Lavrischeva, E.M.
Slabospitskaya, O.A.
Stenyashin, A.Yu.
Kolesnyk, A.L.
author_facet Lavrischeva, E.M.
Slabospitskaya, O.A.
Stenyashin, A.Yu.
Kolesnyk, A.L.
author_sort Lavrischeva, E.M.
title Object-component development of changeable software systems
title_short Object-component development of changeable software systems
title_full Object-component development of changeable software systems
title_fullStr Object-component development of changeable software systems
title_full_unstemmed Object-component development of changeable software systems
title_sort object-component development of changeable software systems
title_alt Объектно-компонентная разработка изменяемых программных систем
Об’єктно-компонентна розробка змінюваних програмних систем
description Complementary limitations of both Software Product Lines industrial technologies and Lavrischeva – Grishenrko object-component method concerning changeable software development are elicited such as the lack of formalisms for program assets building and ill predictability of this build features.To cope with the limitations universal Model of Software Family Variant Features is proposed expanding its tradi-tional feature model for basic development artifacts. For assets being considered as reusable Components final Changeable Software Object-Component Model is elaborated including the universal model above being adjusted as Software Variability Object-Component Model. The Algebra is depicted for the operations of both the Components configuring and data types transforming over their interaction within changeable software system.These operations are proposed to incorporate into the target process for Changeable Software Family proactive and informed Variability management being represented with its technological chart. The process proposed composes the functions for variability Planning, Implementing and Control as well as Family model/consist Evolving up to the Control results. The functions listed are performed within common information environment structured accordingly to Variant Features Model or its object-component adjustment.Trial software tool for configuring Components in the above process is probed. The usage is depicted of both the framework proposed and this tool over technological lines being implemented in Software Systems Institute of NAS of Ukraine Instrumental-technological complex for changeable software configuring from the components.Problems in programming 2016; 1: 03-16
publisher Інститут програмних систем НАН України
publishDate 2018
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/164
work_keys_str_mv AT lavrischevaem objectcomponentdevelopmentofchangeablesoftwaresystems
AT slabospitskayaoa objectcomponentdevelopmentofchangeablesoftwaresystems
AT stenyashinayu objectcomponentdevelopmentofchangeablesoftwaresystems
AT kolesnykal objectcomponentdevelopmentofchangeablesoftwaresystems
AT lavrischevaem obʺektnokomponentnaârazrabotkaizmenâemyhprogrammnyhsistem
AT slabospitskayaoa obʺektnokomponentnaârazrabotkaizmenâemyhprogrammnyhsistem
AT stenyashinayu obʺektnokomponentnaârazrabotkaizmenâemyhprogrammnyhsistem
AT kolesnykal obʺektnokomponentnaârazrabotkaizmenâemyhprogrammnyhsistem
AT lavrischevaem obêktnokomponentnarozrobkazmínûvanihprogramnihsistem
AT slabospitskayaoa obêktnokomponentnarozrobkazmínûvanihprogramnihsistem
AT stenyashinayu obêktnokomponentnarozrobkazmínûvanihprogramnihsistem
AT kolesnykal obêktnokomponentnarozrobkazmínûvanihprogramnihsistem
first_indexed 2025-07-17T09:33:10Z
last_indexed 2025-07-17T09:33:10Z
_version_ 1838499536094363648
fulltext Теоретичні та методологічні основи програмування © Е.М. Лаврищева, О.А. Слабоспицкая, А.Ю. Стеняшин, А.Л. Колесник, 2016 ISSN 1727-4907. Проблеми програмування. 2016. № 1 3 УДК 004.4 Е.М. Лаврищева, О.А. Слабоспицкая, А.Ю. Стеняшин, А.Л. Колесник ОБЪЕКТНО-КОМПОНЕНТНАЯ РАЗРАБОТКА ИЗМЕНЯЕМЫХ ПРОГРАММНЫХ СИСТЕМ Объектно-компонентный метод (ОКМ) моделирования программных систем Лаврищевой – Грище- нко развит согласованными моделями вариабельности систем и их вариантной конфигурационной сборки из компонентов, а также алгеброй операций изоморфного преобразования нерелевантных ти- пов данных для этих компонентов. Введение в модель системы точек вариантности с их вариантами обеспечивает изменяемость систем и устойчивое взаимодействие их компонентов. Описана реализа- ция формального аппарата в автоматизированном конфигураторе систем и его апробация в инстру- ментально-технологическом комплексе ИПС НАНУ и экспериментальной фабрике программ КНУ им. Т. Шевченко. Ключевые слова: объект, компонент, объектно-компонентный метод, модель вариабельности, артефакт, вариантная точка, готовый ресурс, управление моделями, конфигурационная сборка. Введение Большинство современных подхо- дов к изменению сложной программной системы (ПС) все еще предполагают непо- средственную корректировку ее кода. Она усложняет ПС, снижает ее качество и тре- бует дополнительных затрат времени и ре- сурсов на устранение вносимых дефектов. Эти негативные последствия все более критичны в актуальных сегодня динамич- ных слабо формализованных предметных областях. Однако именно в них изменяе- мые ПС особенно востребованы из-за рас- тущей нестабильности ожиданий потреби- телей и условий выполнения. Поэтому технологии разработки ПС, многократно изменяемых без доступа к коду, становят- ся актуальным вызовом программной ин- женерии. Целый ряд подходов, предложен- ных в ответ на этот вызов, объединяет ис- пользование формализма Семейства ПС [1]. Это множество ПС с общим набором постоянных понятий и характеристик, а также поднаборами изменяемых характе- ристик отдельных ПС, названных вариант- ными. Изменения ПС, допустимые в их семействе, описываются моделью его ва- риабельности – пригодности ПС или арте- факта к эффективному развитию, измене- нию, настройке или конфигурированию для использования в определенном кон- тексте [1–3]. Стандартом де-факто служит модель характеристик (Feature Model). Ха- рактеристика – функция или показатель качества ПС, востребованный группой за- интересованных лиц, их требование либо ожидание. Модель характеристик поддержива- ет проектирование изменяемых ПС как членов семейства. Однако их автоматизи- рованную сборку из готовых ресурсов за- трудняет отсутствие формализмов связы- вания ресурсов с характеристиками и ком- позирования для их набора. Альтернативный базис обеспечения изменяемости ПС предоставляет сбороч- ное программирование [4, 5]. Заявленное в 1982 г. методом сборки больших систем из готовых модулей [6], сегодня оно интен- сивно развивается в разнообразных фор- мах: от сборочного конвейера (М. Фаулер, корпорация EPAM System) до фабрик ин- дустриального производства программ (Дж. Гринфильд, И. Бей, Г. Ленц, техноло- гия AppFab) [7]. В Украине оно представ- лено, прежде всего, ОКМ моделирования ПС Лаврищевой – Грищенко [5, 8–12]. Преимущество ОКМ – это алгебры опера- ций реинжиниринга компонентов повтор- ного использования (КПИ) и сборки ПС из КПИ. Но ОКМ-разработке изменяемых ПС препятствует слабая предсказуемость ха- рактеристик такой сборки и ее реактив- ность (“with reuse”, а не “for reuse” [1]). Цель работы – непротиворечивая интеграция технологий разработки се- мейств ПС, поддерживающих предсказу- емые изменения наиболее эффективно, Теоретичні та методологічні основи програмування 4 и ОКМ для преодоления их ограничений. Статья обобщает результаты авторов в проекте ДР 0107U002205 ИПС НАН Украины под руководством доктора физико-математических наук, профессора Е.М. Лаврищевой. Подходы к изменению систем Конструирование линеек про- граммных продуктов. На основании ма- териалов [1] для развития ОКМ выбраны две технологии: – конструирование линеек про- граммных продуктов К. Пола (К. Pohl) [2]; – генерирующее программирова- ние К. Чернецки (К. Czarnecki) [3]. Определяющая особенность первой технологии – представление процесса разработки семейства ПС взаимодейству- ющими подпроцессами инженерии доме- на и приложений, которые координиру- ются подпроцессами организационного и технического управления. Инженерия до- мена предназначена для определения обя- зательных и опциональных характеристик ПС в семействе (в виде модели характе- ристик) и создания готовых ресурсов их реализации (требований, архитектур, фрагментов кода и тестов, структур дан- ных) вместе с правилами композирования ресурсов в ПС. Модель характеристик формируется в подпроцессе задания границ семейства. Это иерархия опциональных и общих ха- рактеристик ПС с отношениями [2]:  вариантного подчинения (подчи- няющая характеристика реализуется в ПС только при реализации строгого подмно- жества подчиненных характеристик);  импликации (реализация предпо- сылки влечет реализацию следствия);  эквивалентности (характеристи- ки реализуются в ПС одновременно);  исключения (одновременная ре- ализация характеристик недопустима). Ресурсы создаются в подпроцессах анализа требований, реализации, проекти- рования и тестирования, образуя четырех- уровневую платформу семейства. В процессе инженерии приложений ресурсы платформы автоматизировано композируются, по заданным правилам, для реализации заданного набора обяза- тельных и/или опциональных характери- стик – подграфа модели характеристик. В подпроцессах организационного и технического управления координиру- ются операции инженерии домена и при- ложений, а также планируется и отслежи- вается создание и использование в ПС ре- сурсов платформы. Генерирующее программирова- ние изменяемых ПС. Вторая технология, интегрируемая с ОКМ, реализует парадиг- му разработки ПС и их семейств под деви- зом "от ручного труда к конвейерной сборке" с помощью специального форма- лизма – генерирующей модели домена. В отличие от технологии К. Пола, для ее по- строения вводятся пространства проблем и решений, а также база конфигурации се- мейства ПС. Пространство проблем содержит обязательные и опциональные понятия и характеристики ПС семейства. Для его представления широко используется мо- дель характеристик. В свою очередь, пространство ре- шений объединяет объекты конвейерной сборки. Это готовые ресурсы реализации характеристик (каркасы, шаблоны, моду- ли, КПИ, сервисы, артефакты разработки), представленные в современных языках программирования, предметно-ориентиро- ванных языках и языках описания интер- фейсов. Наконец, элементами базы конфи- гурации являются механизмы описания, генерации и композирования ресурсов для реализации набора характеристик. Генерирующая модель – отображе- ние пространства проблемы в простран- ство решений, сопоставляющее допусти- мому набору обязательных и опциональ- ных характеристик ПС конфигурацион- ный файл. Он задает набор программных ресурсов для первичной реализации ли- бо изменения характеристик ПС. Эти ре- сурсы автоматически порождаются (в случае трансформационной модели) либо выбираются (соответственно, при конфи- http://gsd.uwaterloo.ca/kczarnec Теоретичні та методологічні основи програмування 5 гурационной модели) в пространстве ре- шений. Вместе с ресурсами конфигураци- онный файл описывает также и меха- низм(ы) их композирования из базы кон- фигурации. При этом формальное описа- ние набора характеристик преобразуется в спецификацию программных ресурсов в языках программирования, задаваемых ар- хитекторами семейства. При необходимо- сти, для промежуточных преобразований могут использоваться релевантные пред- метно-ориентированные языки. Технология сборки изменяемых программных систем Формальный аппарат обеспече- ния изменяемости ПС. Сопоставитель- ный анализ технологий конструирования линеек программных продуктов и генери- рующего программирования, приведенный в предыдущем разделе, показывает крити- ческую роль формализма связывания ха- рактеристик ПС с ресурсами их реализа- ции для обеспечения изменяемости ПС. Именно его отсутствие требует ручного задания правил композирования ресурсов в ПС (в линейках продуктов) либо опреде- ления генерирующей модели (в генериру- ющем программировании). Предлагается введение такого фор- мализма за счет:  определения модели вариантных характеристик семейства ПС, распростра- няющей модель характеристик на базовые артефакты процесса разработки (требова- ния, архитектуру, программные ресурсы, тесты, структуры данных [13, 14]);  выбора КПИ как ресурсов и кон- структивного уточнения полученной мо- дели с помощью ОКМ [14–16];  введения интенсиональной объ- ектно-компонентной модели семейства ПС, явно включающей полученное уточ- нение [15, 17]. Зафиксируем содержательные определения основных проявлений вариа- бельности [1–3], используемые далее. Точка вариантности – представле- ние артефакта процесса разработки ПС элемента поддерживаемого делового про- цесса, который может реализоваться не- сколькими способами. Вариант для точки вариантности – способ реализации элемента делового про- цесса, который она описывает. Зависимость (dependance) – отно- шение на множестве точек вариантности и вариантов, ограничивающее выбор вари- антов для одних точек вариантности в за- висимости от их выбора для других точек. Ограничение (constraint) – зависи- мость, определенная только для точек ва- риантности. Типичные ограничения – отношения импликации/исключения. Формализацию приведенных со- держательных определений задает Определение 1. Модель вариантных характеристик семейства ПС – это пара );( AVSV =M var ; (1) ;;;5,...,2,;;1 DepCont=RTGGSV= tt (2) mt=trgg =idAV ttm ,...,2;,;)( 1 ; (3) ,;;5,...,1;, dpcnt=mtrp tt  где SV – подмодель вариабельности в структуре семейства ПС; AV – подмодель вариабельности в артефактах ПС; ),( ttt LF =G в SV (2) – граф, вер- шины которого – идентификаторы арте- фактов типа t (требований, 1t ; элемен- тов архитектуры, 2t ; программных ре- сурсов, 3t ; тестов, 4t ; структур дан- ных, 5t ), а дуги – бинарные отношения на tF , обусловленные моделью характе- ристик; tTR – двусторонние связи между артефактами типов 1t и t ; Con и Dep – предикаты на t=1,…,5 tF , задающие ограничения и зависимости для артефактов; tg и tp – подграфы tG , описываю- щие артефакты, реализуемые артефактом типа m с идентификатором mid при разра- Теоретичні та методологічні основи програмування 6 ботке ПС; остальные элементы )( midAV (3) – сужения соответствующих элементов SV. Подмодель SV (2) включает вари- антные точки артефактов всех типов для внесения и отслеживания изменений в них самих и в структуре создаваемых ПС се- мейства, определяя спектр согласованных изменений характеристик ПС в соответ- ствии с требованиями и реализующих их артефактов в вариантных точках. В свою очередь, модель AV (3) за- дает унифицированное представление артефакта разработки ПС и ее самой как “сквозного” вертикального фрагмента SV . Дальнейшее уточнение varM (1) с помощью ОКМ преобразует ее в объектно- компонентную модель семейства ПС. Метод ОКМ основан на обобщении понятия объекта с помощью теории Фреге [5, 8–11] и использовании в компонентном методе создания ПС результатов объект- ного анализа предметной области. Метод предполагает логико-математическое мо- делирование задач предметной области с помощью четырех специальных графов ее объектов. Для их формирования и исполь- зования он включает алгебру объектного анализа, внешнюю и внутреннюю компо- нентную алгебры и алгебраическую си- стему операций преобразования неэквива- лентных типов данных, передаваемых между разнородными объектами в струк- туре ПС [5, 9, 11]. Модель вариантных характеристик varM последовательно уточняется и встраивается в объектную подмодель ва- риабельности семейства ПС на четырех уровнях проектирования метода ОКМ, выделенных в ОКМ. Ее вид устанавливает Определение 2. Объектная подмо- дель вариабельности – четверка графов, детализирующих друг друга: ;),(; 221 TRGGOM  ),();,( 4433 TRGTRG , (4) где 1G – граф объектов предметной об- ласти на обобщающем уровне проектиро- вания; 2G – представление модели харак- теристик на характеристическом уровне; 3G – архитектурно-компонентная модель семейства структурного уровня; 4G – интерфейсная модель взаимо- действия КПИ на поведенческом уровне. Связи трассируемости tTR в OM (4) сопоставляют объектам функций моде- лируемых ПС (т. е. вершинам графа 1G ) методы и данные (отображаемые верши- нами графов 2G и 3G ), необходимые для взаимодействия этих объектов в составе ПС. В поддержку сборки ПС, модели- руемых с помощью OM (4), предложено дальнейшее преобразование OM в ком- понентную подмодель вариабельности семейства. Его суть – реализация методов объектов, представленных в OM , за счет КПИ с входными и выходными интер- фейсами специального вида, описанными в [15, 16]. При этом терминальным объектам в 3G и их интерфейсам в 4G соответствует один и только один терми- нальный КПИ. Определение 3. Компонентная под- модель вариабельности – пятерка DFimImCInRССM ;;;; , (5) где RС – терминальные КПИ для терми- нальных объектов OM (4); In – интерфейсы КПИ, параметры которых содержат точки вариантности; ImC – реализации терминальных КПИ в заданной среде; Fim () – функции преобразования входных параметров терминальных КПИ; D – структуры данных в сигнату- рах интерфейсов терминальных КПИ. Наконец, искомая модель фикси- рует Определение 4 [15–17]. Модель се- мейства изменяемых ПС – кортеж Теоретичні та методологічні основи програмування 7 SFM MKMPCPRKPM FMvar ;;);,(; , (6) где FMM – модель характеристик семей- ства ПС; KP – готовые ресурсы семейства; PR – предикат принадлежности KP; PC – сборочный предикат, опреде- ляющий операции сборки ресурсов; MK – модель их конфигурации. Замена в кортеже SFM (6) модели varM ее объектно-компонентным уточне- нием (OM ,СM ) (4), (5) преобразует (6) в объектно-компонентную модель семей- ства изменяемых ПС, где характеристики отображаются объектами, а готовыми ре- сурсами служат КПИ. Разработка изменяемых ПС в их семействе (6) осуществляется за счет кон- фигурирования ресурсов, прежде всего КПИ, согласно универсальной модели varM (1)–(3) либо объектно-компонентной модели ),( CMOM . При этом выполняется ряд опера- ций управления вариантами ПС в их се- мействе:  выделение общих и вариантных характеристик ПС для заданной предмет- ной области;  построение модели характери- стик FMM ;  преобразование FMM в объект- но-компонентную модель вариабельности семейства;  формирование артефактов и ре- сурсов ПС с подбором готовых ресурсов из базы конфигурации (при ее наличии);  планирование многократного ис- пользования ресурсов, частности КПИ, для (пере)сборки ПС с заданными характери- стиками, представленными подграфом 1G в модели OM (4);  рефакторинг КПИ и ПС с ис- пользованием функционально эквивалент- ных КПИ для адаптации ПС к новым усло- виям выполнения и/или требованиям по- требителей;  вариантная сборка КПИ по моде- ли СM (5). Метод сборки и преобразования данных интерфейса. Метод сборки, ин- терфейс и готовые модули – базис сбороч- ного программирования [4, 5, 11]. Метод сборки – это способ соеди- нения разноязычных объектов в языках программирования, который базируется на теории спецификации и отображения типов и структур данных этих языков с помощью алгебраических систем, вклю- чающих типы данных и функции их экви- валентного преобразования. Интерфейс (межмодульный и межъязыковый) выступает в качестве главной доминанты взаимодействующих компонентов и объектов в современных глобальных и сетевых средах. Межмодульный интерфейс – мо- дуль-посредник между двумя взаимодей- ствующими объектами, который выполня- ет функции передачи и приема данных между ними. Межъязыковый интерфейс – сово- купность средств и методов взаимно од- нозначного преобразования структур и типов данных между языками программи- рования с помощью алгебраических си- стем, а также функций (и макроопределе- ний) библиотеки интерфейса для обмена данными между разноязычными модуля- ми. Библиотека интерфейсов для языков программирования операционной систе- мы ЕС, разработанная В.Н. Грищенко, включала 64 интерфейсные функции и бы- ла передана в 52 организации СССР. Развитие интерфейса для новых ти- пов неструктурированных данных выпол- нено аспирантом ИПС НАНУ А.Ю. Сте- няшиным [12]. Концепция интерфейса, как сред- ства связи разных типов объектов в языках программирования, получила развитие в 90-х годах в языках Application Program Interface (API) и Interface Definition Language (IDL). При практическом использовании интерфейс включает описание формаль- ных параметров и оператор вызова (CALL, RPC, RMI и т. п.) со списком параметров и Теоретичні та методологічні основи програмування 8 их значениями. Значения параметров про- веряются на соответствие базовым типам данных с помощью специальных аксиом и операций преобразования типов данных в классе языков программирования. Резуль- тат отображения – сгенерированные функ- ции эквивалентного преобразования типов, которые записываются в интерфейсном модуле-посреднике связываемых объектов. Как отметил в 1975 г. академик В.М. Глушков [6, 18], метод сборки из КПИ аналогичен конвейеру фабрики (например, фабрики Р. Форда) сборки ав- томобилей из готовых комплектующих и стыковочных деталей. В нем роль ком- плектующих выполняют терминальные КПИ и ресурсы различной степени слож- ности, а роль стыковки – их интерфейсы. Алгебра сборки КПИ имеет вид:  },,{  CEC , (7) где C и CE – множества КПИ и компо- нентных сред [5];  = {incon, redev, link, makeaw, add, insert, redo} – операции сборки КПИ и преобразования обмениваемых между ним данных. Обработка этих данных произво- дится с помощью примитивных функций генерации общих типов данных (general data types стандарта ISO/IEC 11404:2007) для фундаментальных типов данных язы- ков программирования (и наоборот). Выделены следующие операции сборки: ),,,( BA IntIntBAincon – организа- ция взаимодействия КПИ BA, с интер- фейсами ,AInt BInt ; redev( BA, ) – трансформация типов данных КПИ BA, ; linkPS – сборка одноязычных КПИ с параметрами интерфейса в языке IDL; linkSF – сборка разноязычных КПИ с интерфейсами в IDL или API; makeaw( AS , A ) – удаление компо- нента A из системы AS ; add(AS, A) – добавление компонента A к системе AS; insert( A , AS) – вставка компонента A в систему AS ; redo( BDyх , ) – передача данных х , y в БД с соответствующим форматом. Теория преобразования данных. В сборочном программирования разрабо- тана теория преобразования простых и структурных фундаментальных типов данных различных языков программиро- вания [4, 6]. Она включает алгебраические системы для функций преобразования структурных типов к простым типам в множестве фундаментальных типов дан- ных. При нерелевантности передаваемых данных, представленных в различных языках программирования, используются примитивные функции преобразования (например, типа integer к типу character и наоборот). Эта теория развита для общих ти- пов данных (general data types стандарта ISO/IEC 11404:2007), которые отобража- ются в типы данных современных языков программирования путем генерации для них соответствующих фундаментальных типов [12]. Генерация использует набор функций (процедур) в языке XML:  преобразование типов данных для последовательности языков;  формальное описание фундамен- тальных типов данных;  представление данных общего типа в формате соответствующего фунда- ментального типа для обработки и вери- фикации его схемы данных;  отображение между общими и фундаментальными типами данных. Для реализации процедур разрабо- таны:  библиотека функций преобразо- вания общих типов данных (примитивных, агрегатных и генерированных) к фунда- ментальным типам данных (простым, структурным и сложным), необходимым в гетерогенной среде взаимодействия разно- язычных КПИ и ПС;  спецификация внешних типов данных компонентов, подсистем и систем в различных языках программирования; Теоретичні та методологічні основи програмування 9  форматы данных новых модулей- посредников с операциями обращения к соответствующим процедурам из числа перечисленных для передачи данных, имеющих нерелевантный или перестроен- ный тип, между взаимодействующими компонентами. Отдельные операции программно реализованы аспирантом ИПС НАНУ А.Ю Стеняшиным в разделе «Трансфор- мация ТД» Инструментально-технологи- ческого комплекса ИПС НАНУ (http://sestudy.edu-ua.net). Предложенная теория преобразова- ния типов данных может использоваться для организации взаимодействия КПИ в облачных вычислениях. Конфигурационная сборка изме- няемых ПС из КПИ. Задачи конфигура- ционной сборки КПИ в ПС включают [14, 17, 19]: 1) трассировку требований к вари- антам КПИ на уровнях архитектуры ПС; 2) порождение вариантов КПИ и ПС в точках вариантности varM (1)–(3) или ),( CMOM (4), (5) в поддержку новых требований к ПС с учетом ограничений на качество и ресурсы; 3) управление конфигурировани- ем ПС за счет выбора КПИ для них; 4) управление вариабельностью семейства ПС путем контроля полноты и непротиворечивости его состава для удо- влетворения потребностей разработчиков и потребителей ПС за счет адекватной и своевременной актуализации вариантов КПИ и ПС. Управление конфигурацией КПИ предполагает следующие операции для решения задач 1)–4):  сборку КПИ по varM или CM, т. е. реализацию операций linkPS и linkSF из (7);  аудит уровня удовлетворитель- ности вариабельности семейства ПС для их потребителей и разработчиков;  аудит целостности конфигурации ПС на этапах их сопровождения и эксплу- атации;  планирование корректирующих действий по восстановлению удовлетвори- тельного уровня вариабельности и/или це- лостности конфигурации ПС. Для поддержки эффективного вы- полнения выделенных операций предлага- ется интегрировать процесс управления конфигурацией КПИ в процесс проактив- ного обоснованного управления вариа- бельностью семейства ПС [16, 20], пока- занный на рис. 1. Он представлен компо- зицией четырех функций, выделенных как обобщения действий в известном цикле управления Э. Деминга (Plan, Do, Check, Act) в проанализированных индустриаль- ных технологиях разработки семейств ПС [1–3]. Согласно рис. 1, эта композиция выполняется в единой информационной среде, структурированной на основании модели вариантных характеристик varM или ее объектно-компонентного уточнения ),( CMOM . Предлагаются следующие целевые функции F управления вариабельностью:  планирование состава ПС и КПИ с их вариантами для целевой предметной области ( 1F );  непосредственная разработка терминальных КПИ и их автоматизиро- ванная сборка в целевые ПС по моделям varM и/или ( CMOM; ) ( 2F );  анализ соответствия состава ПС и КПИ потребностям потребителей с диа- гностикой неадекватности и выработкой корректирующих действий ( 3F );  актуализация моделей varM и/или ( CMOM; ) либо текущего состава ПС и КПИ для устранения неадекватности ( 4F ). Функции 1F – 4F дополнены сер- висной функцией инициализации их ин- формационной среды, в частности varM и/или ( CMOM; ), и комплексной органи- зационно-технологической подготовки. Согласно рис. 1 стандартизирован- ные представления КПИ (например, в язы- ке WSDL) накапливаются в репозитории Теоретичні та методологічні основи програмування 10 Метрики вариабельности M=a/b Постановки задач Требования к функциям F0-F4 Информационная среда Функции управления вариабельностью Операции управления вариабельностью Участники процесса Методы для задачПредполо- жения о процессе разработки семейства Исполни тели Входы Кон- текст Методы Поста- новки Средств а Выходы Локали- зация Цель операции O1 O2 O3 ? O4 O5 Вход Выход Программное, Информационное и математическое обеспечение Метод, метрики Роли исполнителей Технологичес кий маршрут Оi – Операция технологичесного модуля для решения задач управлення вариабельностью Технологический модуль для операций Унифированное представление операции КОНФИГУРАТОР Функция F0 Функция F2 Функция F3Функция F4 Функция F1 Репозито- рий ГОР/КПИ Модель вариабельности: MVar и/или (OM; CM ) Интегрованная модель уровня вариабельности Профили вариа- бельно- сти Рис. 1. Схема процесса управления вариабельностью семейства ПС семейства изменяемых ПС. В подпроцес- сах реализации функции 2F – их отбора, настройки и сборки в ПС – ключевую роль должно выполнять специализированное инструментальное средство – конфигура- тор ПС. Именно конфигуратор должен обеспечивать объединение КПИ и их интерфейсов с вариантами артефактов ПС из репозитория в соответствии с моде- лями их вариабельности (AV) (3) либо ее объектно-компонентными уточнениями ),( CMOM (4), (5). Реализация конфигуратора ПС Макет конфигуратора и технологи- ческая схема сборки КПИ с его помощью реализованы аспирантом ИПС НАНУ А.Л. Колесником в среде MS VS.Net и описаны в [14, 19]. Конфигуратор предоставляет заин- тересованным лицам интерфейс для авто- матизированного создания изменяемой ПС с заданными характеристиками из заранее разработанных КПИ. Его функциональные аналоги предлагаются в Интернет- магазинах автомобилей, ноутбуков и т. п., где покупатели могут заказать продукт с необходимыми им функциями. Создаваемая ПС описывается в ин- терфейсе конфигуратора диаграммой ха- рактеристик – визуальным представлением графа 1G из модели varM , в котором пере- численные выше отношения между харак- теристиками обозначаются специальными пиктограммами, показанными на рис. 2. В среде конфигуратора элементы этой диа- граммы реализуются средствами Windows Workflow Foundation в VS.Net и описыва- ются предметно-ориентированным язы- ком. Его словарь включает инструкции технологии, термины предметной области и артефакты процесса создания ПС. Основной этап сборки КПИ конфи- гуратор – компиляция их исходного кода, преобразующая его в промежуточный код, или код выполнения в среде VS.Net. Спе- циальная программа-посредник заменяет относительные адреса функций внешних библиотек их реальными адресами, ис- пользуемыми при выполнении. На рис. 3 показана схема работы конфигуратора. В качестве демонстраци- Теоретичні та методологічні основи програмування 11 Рис. 2. Фрагмент диаграммы характеристик для семейства браузеров в конфигураторе онного примера рассмотрена разработка семейства ПС для решения квадратного уравнения при различных значениях дис- криминанта. Как показано на рис. 3, вна- чале разработчик получает задание на до- работку/cоздание КПИ в среде VS.Net и помещает созданные КПИ в репозиторий семейства (стрелка 1 на рис. 3). В общем случае КПИ представлен парой файлов: ***.cs, фиксирующих реализуемую бизнес- логику, и ***.xoml, описывающих атомар- ные или составные объекты предметной области и задающих алгоритм выполнения бизнес-логики из ***.cs файлов. AppFabric *.exe*.dll Eclipce / TFS Web Interface *.cs/*.xoml *.jre *.dll/*.exe/*.jre*.doc/ *.xls Configurator Розробник ПС B A 2 1 3 4 5 6 Рис. 3. Схема сборки КПИ в AppFab Интерфейс конфигуратора обеспе- чивает связь с репозиторием и отображе- ние в соответствующей экранной форме списка доступных КПИ (стрелка 2). Каж- дый элемент в окне дизайнера конфигура- тора является атомарным КПИ, заранее разработанным и размещенным в репози- тории. Под списком КПИ расположены детальные сведения о них из файлов ***.cs (имя, родительский класс, описание, ста- тус, привязка к конкретному методу). Пользуясь графическим дизайне- ром, заинтересованные в ПС лица могут модифицировать или задать новую конфи- гурацию характеристик и построить соот- ветствующую ПС из доступных КПИ. Конфигурацию характеристик мож- но разместить на сервере или в репозито- рии семейства для последующего исполь- зования (стрелка 4 на рис. 3). Класс КПИ представляет собой набор методов, выполняемых последова- тельно или параллельно согласно файлу ***.xoml. Это позволяет манипулировать в среде конфигуратора теми КПИ, язык(и) реализации которых не поддерживаются в VS.Net, а также КПИ в форме сервисов. В последнем случае для запуска программы AppFabric (блок А на рис. 3) следует задать команды: Пуск Програм- мы Internet Information Server (IIS). Вы- бирается нужный сервис для получения необходимой информации (адрес, связи, контракт) и занесения данных в код одного из методов файла ***.cs. Теоретичні та методологічні основи програмування 12 Результатом является код: 1: private void codeActivi- ty1_ExecuteCode_1 (object sender, EventArgs e) 2: { 3: Uri address = new Uri("http://localhost:63632/ /CountDiscriminant. svc");//адреса 4: WSHttpBinding binding = = new WSHttpBinding(); //прив’язка 5: EndpointAddress endpoint = new EndpointAddress(address); 6: ChannelFactory <ICountDiscriminant> factory = new ChannelFactory <ICountDiscriminant>(binding, endpoint); //контракт 7: ICountDiscriminant channel = = factory.CreateChannel(); 8: D = channel.GetDiscriminant (a, b, c); //D = b2 − 4ac: 9: } Строки 3–7 обеспечивают создание специального объекта channel для отда- ленного вызова, а строка 8 реализует его (стрелка 6 на рис. 3). В среде конфигуратора можно за- пускать на выполнение алгоритм, загру- женный в его редактор. Для этого нужно задать команды: Workflow  CompileWorkflow. Конфигуратор проана- лизирует и скомпилирует файлы ***.cs и ***.xoml, сформирует библиотеку (*.dll) и выведет сообщение о выполнении компи- ляции. Полученный файл загружается и извлекается из созданной библиотеки КПИ в оперативную память и запускает требуе- мый КПИ на выполнение. Технологический комплекс сборки готовых ресурсов Предложенная технология объект- но-компонентной разработки изменяемых ПС с помощью CASE-инструментов (трансляторы для языков программирова- ния, каркасы тестирования, генераторы и т. п.), а также интегрированных инстру- ментальных средств (Eclipse, Protege, VS.Net, Corba, Java и т. п) реализована в Инструментально-технологическом ком- плексе (ИТК) ИПС НАНУ (http://sestudy. edu-ua.net) [21, 22]. В нем готовыми ресурсами являют- ся КПИ. Они отображают функции и дан- ные предметной области, представленные в модели varM в виде функциональных объектов и объектов данных. Каждый КПИ специфицируется согласно соответствую- щим стандартам в языке WSDL, а его ин- терфейс – в языках IDL, API, SDIL и др. Это дает возможность собирать КПИ на единой основе, общей для всех видов раз- нородных ресурсов. Технология разработки изменяемых ПС из готовых ресурсов в ИТК включает:  проектирование ПС с использо- ванием стандартного жизненного цикла;  онтологическое проектирование доменов с заданием модели характеристик и архитектуры ПС из готовых компонен- тов;  спецификацию разнородных про- граммных ресурсов, прежде всего КПИ, в языках программирования, их реализацию и верификацию;  отбор функционально готовых КПИ в репозитории;  сборку разнородных КПИ и пре- образование передаваемых между ними данных, нерелевантных по типу, формату, размеру и т. д.;  изменение ранее созданных КПИ и ПС для адаптации под конкретные цели;  описание специфики предметной области в предметно-ориентированных языках с использованием DSL TooLs VS.Net для получения исполняемого кода;  тестирование КПИ и ПС, сбор данных для оценки качества ПС;  сохранение результатов проекти- рования в репозитории КПИ;  документирование КПИ. В ИТК реализованы элементы ос- новных современных парадигм програм- мирования, необходимые для проектиро- Теоретичні та методологічні основи програмування 13 вания ПС из КПИ в различных предмет- ных областях. В нем нашли отражение фундаментальные положения этих пара- дигм программирования, включая теорию взаимодействия и вариантности ПС, а так- же теорию моделирования и адаптации ПС, спроектированных за пределами ИТК. В среде ИТК представлены:  технология изготовления ПС из КПИ на ряде технологических линиях;  средства поддержки процессов жизненного цикла ПС по стандарту ISO/IEC 12207:2008 и оценки качества ПС согласно его рамочной модели в ISO/IEC 9126:2001;  онтология вычислительной гео- метрии;  линия обучения современным языкам программирования C # , Java и CASE-инструментам (Protégé, Eclipse, VS.Net, Java). К технологическим линиям можно обращаться на Web-сайте ИТК. Для обуче- ния дисциплине «Программная инжене- рия» можно воспользоваться электронным учебником: на сайте www.intuit.ru на рус- ском языке; на сайте экспериментальной фабрики программ КНУ им. Т. Шевченко (programsfactory.univ.kiev.ua) украинском языке. Выводы Выявлены взаимодополнительные ограничения индустриальных технологий разработки семейств ПС и объектно- компонентного метода Лаврищевой – Грищенко для разработки изменяемых ПС: отсутствие формализма сборки про- граммных ресурсов для характеристик ПС и, соответственно, слабая предсказуе- мость характеристик этой сборки. Предложено преодоление ограни- чений за счет модели вариантных харак- теристик семейства ПС, распространяю- щей модель их характеристик на базовые артефакты процесса разработки. Для слу- чая, когда ресурсами служат компоненты повторного использования, разработана объектно-компонентная модель вариа- бельности ПС, уточняющая модель вари- антных характеристик, и модель семей- ства изменяемых ПС. Описана алгебра операций конфигурационной сборки ком- понентов по модели вариабельности и преобразования типов данных, обменива- емых между ними. Предложена интеграция этих опе- раций в процесс проактивного обоснован- ного управления вариабельностью семей- ства изменяемых ПС и технологическая схема последнего. Он представлен компо- зицией функций планирования, реализа- ции, контроля вариабельности и актуали- зации модели/состава семейства по его ре- зультатам. Функции реализуются в единой информационной среде, структурирован- ной на основании модели вариантных ха- рактеристик или ее объектно-компо- нентного уточнения. Проведена экспериментальная реа- лизация конфигуратора компонентов в предложенном процессе. Описана апроба- ция формального аппарата и конфигурато- ра в технологических линиях разработки изменяемых систем из компонентов, реа- лизованных в ИТК ИПС НАН Украины. 1. Product Line Engineering [Электронный ресурс]. – Режим доступа: http://www.productlineengineering.com/. – Название с экрана. 2. Pohl K., Bockle G., Linden F.J. Software Product Line Engineering: Foundations, Principles and Techniques. – New York: Springer–Verlag, 2005. – 437 p. 3. Чернецки К., Айзенекер У. Порождающее программирование. Методы, инструменты, применение. – М.: ИД «Питер», 2005. – 730 с. 4. Лаврищева Е.М. Парадигмы программи- рования сборочного типа в программной инженерии. – Сб. трудов межд. конф. УкрПРОГ-2014. – С. 76–92. 5. Лаврищева Е.М., Грищенко В.Н. Сбороч- ное программирование. Основы индустрии программных продуктов. – К.: Наук. дум- ка, 2009. – 372 с. 6. Лаврищева Е.М., Грищенко В.Н. Связь раз- ноязыковых модулей в ОС ЕС. – М.: Фи- нансы и статистика, 1982. – 127 с. 7. Lavrischeva K.M. Theory and practice of software factories // In: Cybernetics and Sys- http://www.springerlink.com/content/?Author=K.+M.+Lavrischeva Теоретичні та методологічні основи програмування 14 tems Analysis. – 2011. – Vol. 47, N 6. – P. 961–972. 8. Лаврищева Е.М., Грищенко В.Н. Методы и средства компонентного программиро- вания // Кибернетика и системный анализ. – 2003. – № 1. – С. 39–55. 9. Грищенко В.Н. Теоретические и приклад- ные аспекты компонентного программиро- вания: автореф. дис. … док. физ.-мат. наук; Институт кибернетики им. В.М. Глушкова. – К., 2007. – 34 с. 10. Лаврищева Е.М., Колесник А.Л., Стеня- шин А.Ю. Объектно-компонентное проек- тирование программных систем. Теорети- ческие и прикладные вопросы // Вiсник КНУ, серiя фiз-мат. науки. – 2013. – № 4. – С. 150–162. 11. Lavrischeva K., Stenyashin A., Kolesnyk A. Object-Component Development of Appli- cation and Systems. Theory and Practice [Electronic resourse] // Journal of Software Engineering and Applications. – 2014. Mode of access: http://www.scirp.org/journal/jseaUSA. 12. Лаврiщева К.М., Стеняшин А.Ю. Пiдхiд щодо трансформацiї загальних типiв даних стандарту ISO/IEC 11404 для використання в гетерогенних середовищах // 2nd International Conference on High Performance Computing-2012. – К.: КПI, 2014. – С. 227–234. 13. Лаврiщева К.М., Слабоспицька О.О., Ко- лесник А.Л., Коваль Г.I. Теоретичнi аспек- ти керування варiабельнiстю в сiмействах програмних систем / // Вiсник КНУ, серiя фiз-мат. науки. – 2011. – № 1. – С. 151–158. 14. Колесник А.Л. Модели и методы разра- ботки семейства вариантных программ- ных систем: автореф. дис. … канд. физ.- мат. наук: КНУ им. Т.Г. Шевченко, 2013. – 22 с. 15. Лаврiщева К.М., Слабоспицька О.О. Підхiд до побудови об’єктно-компонентної моделi сiмейства програмних продуктiв / // Про- блеми програмування. – 2013. – № 3. – С. 14–24. 16. Slabospickaya O. Feature Model of Software Product Line Enhancing to Enable Product Adaptability [in Ukrainian] // In: Bulletin of University of Kiev. Series: Physics & Mathematics, special issue, Kiev. – 2014. – P. 151–158. 17. Лаврiщева К.М., Колесник А.Л. Концепту- альнi моделi розподiлених компонентних систем // Проблеми програмування. – 2013. – № 1. – С. 21–33. 18. Lavrischeva K., Aronov A., Dzubenko A. Programs Factory – A conсeption of Knowledge Reprezentation of Scientifical Artifacts From Standpoint of Software Engineering / // Comp. and Inf. Sci., Canadian Center of Sci. and Edu. – 2013. – P. 21–28. 19. Колесник А.Л. Підходи до конфігурування компонентів повторного використання // Проблеми програмування. – 2011. – № 4. – С. 57–66. 20. Kolesnyk A., Slabospitskaya O. Tested Approach for Variability Management Enhancing in Software Product Line // In: Ermolayev V., Mayr H.C., Nikitchenko M. et al. (eds.): Proc. 8-th Int. Conf. ICTERI 2012, Kherson, Ukraine, June 6–10, 2012. – Vol. 848. – P. 125–133. [Электронный ресурс]. – Режим доступа: ceur-ws.org/Vol-848/ ICTERI-2012-CEUR-WS-paper-31-p–155– 162.pdf. – Название с экрана. 21. Лаврищева Е.М. Software Engineering ком- пьютерных систем. Парадигмы, Техноло- гии, CASE-средства программирования. – Киев: Наук. думка, 2014. – 284 с. 22. Лавріщева K.М., Зінькович В.М., Колес- ник А.Л. Інструментально-технологічний комплекс розробки и навчання прийомам виробництва програмних систем. Свідоцтво про реєстрацію авторського права на твір № 45292 від 27.08.2012 // Державна служба інтелектуальної влас- ності України. – К.; 2012. References 1. Product Line Engineering [Electronic resourse]. – Mode of access: http://www.product lineengineering.com/. 2. Pohl K., Bockle G., Linden F.J. Software Product Line Engineering: Foundations, Prin- ciples and Techniques. – New York: Spring- er–Verlag, 2005. – 437 p. 3. Czarnecki K., Eisenecker U. Generative Programming: Methods, Tools, and Applications. – Addison-Wesley, Reading, MA, USA, 2000 – 864 p. 4. Lavrischeva E.M. Рaradigms of programming assembling type in software engeneering // Problems in Programming, 2014. – N 2–3. – P. 121–132. (in Russian). 5. Lavrischeva E.M., Grischenko V.N. Assembly Programming. Basics of Software Industry. – Kyiv: Naukova Dumka, 2009 (2nd ed.). – 372 p. (in Russian). http://www.springerlink.com/content/1060-0396/47/6/ http://gsd.uwaterloo.ca/kczarnec Теоретичні та методологічні основи програмування 15 6. Lavrischeva E.M., Grischenko V.N. Intercon- nection of Multilingual Modules in OS ES. – М.: Finansy i Statystika, 1982. – 127 p. 7. Lavrischeva K. M. Theory and practice of software factories // In: Cybernetics and Systems Analysis, 2011. – Vol. 47. – N 6. – P. 961–972. 8. Lavrishcheva E.M. Grishchenko V.N. Methods and Tools of Component Programming // Cybernetics and Systems Analysis. – 2003. – Vol. 39. – № 1. – P. 33–45. (in Russian). 9. Grischenko V.N. Theoretical and Applied aspects of Component Programming: Ph. D. theses: spec. 01.05.03; V.M. Glushkov Institute of Cybernetics. – К., 2007. – 34 p. (in Russian). 10. Lavrishcheva E., Stenyashin A., Kolesnyk A. Object-Component Design. Theoretical and Applied Issues // Visn. Ser. Fiz.-Mat. Nayky, Kyiv St. Univ. im. Tarasa Shevchenka. Special Issue, 2013. – № 4. – С. 150–162. (in Russian). 11. Lavrischeva K., Stenyashin A., Kolesnyk A. Object-Component Development of Application and Systems. Theory and Practice [Electronic resourse] // Journal of Software Engineering and Applications, 2014. Mode of access: http://www.scirp.org/journal/jseaUSA. 12. Lavrischeva K., Stenyashin A. An approach for Standard ISO/IEC 11404 General Data Types transformation for use in heterogeneous environments // Second Int. Conf. on High Performance Computing-2012. – К.: КPI, 2012. – P. 227–234. (in Ukrainian). 13. Lavrischeva K., Slabospitskaya O., Kolesnik A. at all. The Theoretical View for Software Family Variability Management // Visn., Ser. Fiz.-Mat. Nayky, Kyiv Univ. im. Tarasa Shevchenka. – 2011. – N 1. – P. 45–53. (in Ukrainian). 14. Kolesnik A.L. Models and Methods for Variable Software Systems Familly Development: Ph. D. theses: Kyiv St. Univ. im. Tarasa Shevchenka. – 2013. – 22 p. (in Ukrainian). 15. Lavrischeva K., Slabospickaya O. An approach for Software Product Family Object- Component Model Elaborating // Problems in Programming. – 2013. – N 3. – P. 14–24. (in Ukrainian). 16. Slabospickaya O. Feature Model of Software Product Line Enhancing to Enable Product Adaptability [in Ukrainian] // In: Bulletin of University of Kiev. Series: Physics & Mathe- matics, special issue, Kiev. – 2014. – P. 151–158. (in Ukrainian). 17. Lavrischeva K., Kolesnik A. Conceptual Models for Distributed Software Systems // Problems in Programming, 2013. – N 1. – P. 21–33. (in Ukrainian). 18. Lavrischeva K., Aronov A., Dzubenko A. Programs Factory – A conсeption of Knowledge Reprezentation of Scientifical Artifacts From Standpoint of Software Engineering // Comp. and Inf. Sci., Canadian Center of Sci. and Edu. – 2013. – P. 21–28. 19. Kolesnik A. Approaches for Configuring Reusable Components // Problems in Programming. – 2011. – N 4. – P. 57–66. (in Ukrainian). 20. Kolesnyk A., Slabospitskaya O. Tested Ap- proach for Variability Management Enhanc- ing in Software Product Line // Proc. 8-th Int. Conf. ICTERI 2012, Kherson, Ukraine, June 6–10, 2012, CEUR-WS.org/Vol-848, urn:nbn:de:0074-848-8. – P. 125–133. [Elec- tronic resource]. – Mode of access: ceur- ws.org/Vol-848/ICTERI-2012-CEUR-WS- paper-31-p–155–162.pdf. 21. Lavrischeva E.M. Software Engineering for Computer Systems. Paradigms, Technologies, CASE tools for Programming. – Kiev: Nau- kova Dumka, 2014.– 284 p. (in Russian). 22. Lavrischeva K.M., Zinkovich V.M., Koles- nik A.L. Instrumental-Technological Complex for Software Development and Production Scills Learning. A Certificate for authors’ in- tellectual property N 45292 at 27.08.2012 // State Intellectual Property Service of Ukraine. – Kyiv, 2012. Получено 06.10.2015 Об авторах: Лаврищева Екатерина Михайловна, доктор физико-математических наук, профессор. Количество публикаций в украинских изданиях – более 150. Количество публикаций в иностранных индексированных изданиях – более 40, http://orcid.org/0000-0002-1160-1077, http://www.springerlink.com/content/?Author=K.+M.+Lavrischeva http://www.springerlink.com/content/1060-0396/47/6/ http://link.springer.com/journal/10559 http://link.springer.com/journal/10559 Теоретичні та методологічні основи програмування 16 Слабоспицкая Ольга Александровна, кандидат физико-математических наук, старший научный сотрудник. Количество публикаций в украинских изданиях – более 50, Количество публикаций в иностранных индексированных изданиях – 5, http://orcid.org/0000-0001-6556-0947, Стеняшин Андрей Юрьевич, аспирант. Количество публикаций в украинских изданиях – более 10. Количество публикаций в иностранных индексированных изданиях – 3. http://orcid.org/0000-0001-7615-9024 Колесник Андрей Леонидович, кандидат физико-математических наук, младший научный сотрудник. Количество публикаций в украинских изданиях – более 10. Количество публикаций в иностранных индексированных изданиях – 3. http://orcid.org/0000-0001-1672-9201 Место работы авторов: Московский физико-технический институт (государственный университет), Россия, 141700, Московская область, г. Долгопрудный, Институтский переулок, д. 9. Тел.: +7(495) 408 4554 Институт программных систем НАН Украины, 03187, Киев-187, Проспект Академика Глушкова, 40. Тел. +38(044) 526 4286. Е-mail: lavryscheva@gmail.com, ols.07@mail.ru, andrey.stenyashin@gmail.com, swabber@gmail.com