Программная кибернетика: современное состояние и проблемы

УДК 004.4

DOI 10.21685/2072-3059-2017-3-4

Ю. И. Евсеева

ПРОГРАММНАЯ КИБЕРНЕТИКА: СОВРЕМЕННОЕ СОСТОЯНИЕ И ПРОБЛЕМЫ

Аннотация.

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

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

Результаты. К основным результатам следует отнести: проведенный обзор существующих работ в области программной кибернетики, классификацию ее основных задач, проблем и направлений.

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

Ключевые слова: программная инженерия, кибернетика, программная кибернетика, программные системы, теория управления, искусственный интеллект.

Yu. I. Evseeva

SOFTWARE CYBERNETICS: CURRENT STATE AND PROBLEMS

Abstract.

Background. Software cybernetics is a relatively young scientific direction focused on applying the methods of classical cybernetics to the tasks of software engineering. And although the basic principles of both disciplines are now well-developed and studied, in software cybernetics there is still no universally accepted view of the representation of software processes as cybernetic. Also, the boundaries of the field under consideration are rather blurred. The purpose of this article is to briefly review the main works in this field and on its basis to determine the structure, trunk directions and current achievements of software cybernetics.

Materials and methods. Works by world's leading scientists in the field of system analysis, software engineering and artificial intelligence were used as the main material for the study.

Results. The main results include: a review of existing works in the field of program cybernetics, a classification of its main tasks, problems and directions.

Conclusions. The review showed the relevance of software cybernetics as a scientific direction, within the framework of which it is possible to successfully solve a number of topical tasks nowadays, related to the creation and operation of complex self-adaptive and scalable software systems.

Key words: software engineering, cybernetics, program cybernetics, software systems, control theory, artificial intelligence.

Введение

Программные системы являются сложными по своей природе. Сложность проектирования, реализации и сопровождения экспоненциально растет с увеличением размеров системы. Затруднительно, а зачастую и вовсе невозможно перечислить все состояния и взаимодействия, характеризующие компоненты современного программного обеспечения (ПО).

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

Исследования в области кибернетики дают возможность контролировать сложность программных систем и наделять их адаптивными свойствами, делая тем самым более гибкими и эффективными.

Термин «программная кибернетика» был впервые использован К. Каи в 2002 г. [1] и изначально обозначал попытку применить методы классической кибернетики и теории управления к программным системам. С тех пор эта новая область научного знания претерпела существенные изменения и в настоящее время включает в себя не только реализацию базовых кибернетических принципов применительно к программному обеспечению, но и достаточно оригинальные концепции и методологии. Последние представляют собой элементы так называемой «новой» кибернетики [2]. Данная статья включает в себя полноценный обзор как классических, так и новаторских подходов в программной кибернетике.

1. Кибернетика: определение и принципы

Термин «кибернетика» был впервые предложен Н. Винером в 1948 г. в работе [3]. Согласно Н. Винеру, кибернетика - это междисциплинарный подход к изучению систем, основное внимание при котором отводится тому, как системы используют информацию, модели и управляющие воздействия для саморегулирования и достижения своих целей.

Предложенный Н. Винером подход позже был назван кибернетикой первого порядка, или кибернетикой наблюдаемых систем [4]. Он описывает управление замкнутой системой в устойчивом состоянии на основе механизма отрицательной обратной связи и полностью игнорирует роль наблюдателя.

В 1978 г. Р. Гайером и Ж. Ван Дер Зувеном была поднята тема кибернетики второго порядка, или метакибернетики [5]. Существенными ее отличиями от кибернетики первого порядка являются зависимость рассматриваемой системы от наблюдателя и ее непрерывная связь с окружающей средой. Кибернетика второго порядка акцентирует связь между несколькими системами, пытающимися оказывать друг на друга управляющие воздействия.

Хотя кибернетика второго порядка способна рассматривать существенно более широкий класс систем, чем ее предшественница, этих возможностей

может быть недостаточно для полноценного описания взаимодействия системы со средой. Решить эту проблему должна кибернетика третьего порядка -направление, которое только начало зарождаться. Согласно мнению отдельных специалистов [6] в основе кибернетики третьего порядка должна лежать концепция жизнеспособных систем, т.е. систем, которые, не являясь живыми в биологическом смысле, способны к динамическому выживанию благодаря самоорганизации, самосозданию и даже воспроизводству, а также предсказанию, предвидению и прогнозированию.

К фундаментальным принципам кибернетики относят:

1. Принцип необходимого разнообразия. Предложенный В. Эшби в 1956 г. [7], этот принцип гласит: невозможно создать простую систему управления для сложного объекта управления (сложность системы управления должна совпадать со сложностью объекта управления).

2. Принцип обратной связи. Заключается в воздействии результатов функционирования системы на характер ее дальнейшей работы.

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

4. Принцип управляемости. Управляемость является одним из важнейших свойств системы управления и объекта управления. Оно заключается в возможности целенаправленного переведения системы из одного состояния в другое.

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

2. Теоретические основы программной кибернетики

В работе К. Каи [8] программная кибернетика представлена в простейшей своей форме как способ организации взаимодействия между программной системой и блоком управления. Блоком управления в данном случае является отдельный программный модуль, координирующий работу остальных модулей системы. Согласно другой, более поздней работе этого автора [9], программная кибернетика должна быть направлена на решение следующих задач:

1) формализации и количественной оценки обратных связей в программных процессах и системах;

2) адаптации принципов и концепции теории управления к программным процессам и системам; к числу таких принципов относят принцип обратной связи, разомкнутого управления и управления по возмущениям, а также различные принципы интеллектуального управления (робастное, адаптивное, оптимальное и плановое управление);

3) применении принципов программной инженерии к управляющим системам и процессам; к числу таких принципов относят принцип модульности, конфигурационного управления, а также коллективной экспертизы и тестирования;

4) интеграции программной инженерии и инженерии управления.

На рис. 1 представлена структура типичного замкнутого контура управления. Хотя такая структура разрабатывалась для технических систем, она может быть использована и для управления программными системами и процессами (например, процессом тестирования программного обеспечения). Блок «Система» может обозначать программную систему или программный процесс, а в качестве исполнительного устройства может выступать, например, операционная система, выделяющая память для работающего приложения.

Рис. 1. Замкнутый контур управления

В наши дни, когда широкое распространение получили социальные сети, распределенные и облачные вычисления, программная кибернетика вынуждена существенно расширить круг рассматриваемых проблем. Р. Кеннет в своей работе [10] подчеркивает роль программной кибернетики в эпоху облачных вычислений. Он также предполагает, что данное научное направление способно решить многие проблемы, связанные с проектированием программного обеспечения в рамках концепций сервис-ориентированной и самоадаптируемой архитектуры.

Согласно работе [11] программную кибернетику, как и классическую, можно разделить на кибернетику первого и второго порядка. Программная кибернетика первого порядка сосредоточена на моделировании программных систем как управляемых на основе обратных связей. Наиболее распространенной моделью для формализации процессов управления в данном случае выступает конечный автомат. Программная кибернетика второго порядка рассматривает более сложные системы, составными частями которых являются как программное обеспечение, так и процессы разработки и сопровождения программных средств, а также коллективы разработчиков. Все элементы таких систем оказывают влияние друг на друга.

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

В настоящее время программная кибернетика включает в себя две основные группы методов исследования и моделирования программных систем: модельно-ориентированные и логико-ориентированные.

Первая группа включает в себя различные математические методы, основанные на применении конечных автоматов и цепей Маркова, а также моделей линейных динамических систем. Например, в работе [12] приводится описание процесса тестирования программного обеспечения как линейной динамической системы. П. Уонг и К. Каи разработали алгоритмы, позволяющие преобразовать расширенные конечные автоматы, используемые для описания процессов в языке спецификаций SDL [13], в модели управления дискретно-событийными системами [14]. Их исследования показали, что расширенный конечный автомат может использоваться для описания системы управления с замкнутым контуром. В свою очередь Д. Лоренцоли предложен метод автоматической генерации моделей для определения поведения программных систем, основанных на конечных автоматах [15].

Прогресс в области искусственного интеллекта способствует развитию второй группы методов. Программная инженерия стала одной из основных сфер применения алгоритмов машинного обучения. К. Янг применил аппарат нечеткой логики для создания программного инструментария, позволяющего разрабатывать самоадаптируемые программные системы [16]. Конечная цель работы состояла в повышении производительности и отказоустойчивости критически важного программного обеспечения. З. Динг предложил концепцию адаптивной системы управления на основе нечетких правил [17]. К. Парк и К. Йом использовали идею обратной связи для реализации метода валида-ции правил языка SWRL (Semantic web rule language [18]). Согласно предложенному подходу каждое рассматриваемое правило SWRL представляет собой объект управления, а проверка правильности правил осуществляется путем использования специфического блока управления [19].

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

3. Практические приложения программной кибернетики

На сегодня программная кибернетика первого порядка нашла применение в следующих областях программной инженерии:

1) разработка спецификаций и требований к программному обеспечению;

2) проектирование архитектуры программных систем;

3) реализация (программирование);

4) тестирование;

5) реконструкция и развитие программного обеспечения;

6) управление проектами;

7) информационная безопасность.

Сферами применения программной кибернетики второго порядка являются:

1) облачные вычисления;

2) сервис-ориентированные взаимодействия;

3) агентные технологии.

Также программная кибернетика тесно интегрирована со следующими технологическими тенденциями, лежащими в основе киберфизических систем:

1) сетевые системы;

2) интернет вещей;

3) большие данные;

4) творческие вычисления.

Рассмотрим последние исследования в сфере программной инженерии.

Наибольший интерес в области разработки спецификаций представляет работа Л. Лиу, опубликованная в 2015 г. [20]. В ней автор предлагает механизм выявления требований к программному обеспечению на основе анализа пользовательских поведенческих данных. Процесс выявления требований представлен как система управления на основе обратной связи. Выявление требований при таком подходе сводится к непрерывной оптимизации пользовательских моделей поведения.

Сообщество разработчиков программного обеспечения на протяжении многих лет занято проблемой создания адаптивных программных систем. Было предложено множество подходов к построению таких систем, многие из которых основаны на принципах машинного обучения и теории управления [21]. Особое внимание было уделено теории управления, поскольку она предоставляет общую методологию для создания адаптивных систем. На основе накопленного в сфере разработки адаптивных программных систем опыта в 2005 г. была сформулирована концепция автономных вычислений [22]. Автономные вычисления - это интеллектуальный подход к построению самоуправляемых программно-аппаратных комплексов, способных поддерживать стабильное состояние вычислительного окружения с минимальным участием человека. Программное обеспечение таких комплексов способно изменять собственную структуру и поведение в процессе выполнения с целью обеспечения стабильной работы системы при постоянно изменяющихся требованиях и условиях внешней среды.

В программной инженерии реконструкция программного обеспечения -это подход, позволяющий предотвратить снижение производительности и другие проблемы, связанные с устареванием программ. Существующие методы реконструкции можно разделить на две группы: модельно-ориентиро-ванные методы и методы, основанные на измерениях [23]. Большая часть работ в этом направлении сосредоточена на прогнозировании возможного выхода программы из строя и планировании оптимальной стратегии обновления [24]. Р. Агепати предлагает модель реконструкции программного обеспечения, основанную на механизме обратной связи [25]. Предлагаемая модель реконструкции включает в себя описание процесса износа программы, набор

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

Управление проектами - это область деятельности, в ходе которой определяются и достигаются четкие цели проекта при балансировании между объемом работ, ресурсами (такими как деньги, труд, материалы, энергия, пространство и др.), временем, качеством и рисками. Ключевым фактором успеха проектного управления является наличие четкого заранее определенного плана, минимизации рисков и отклонений от плана, эффективного управления изменениями. В этой области наибольший интерес представляет работа Ж. Кунди и А. Макерджи, посвященная эффективному распределению человеческих ресурсов [26], а также статья Ж. Парк, в которой изложены принципы мониторинга состояния проекта на каждой стадии выполнения

[27].

М. Адамс в своей работе [28] выдвигает идею использования базовых принципов кибернетики для создания нового подхода в области обеспечения информационной безопасности. Автор рассматривает возможное применение основных положений теории управления, теории систем и теории игр в системах кибербезопасности и предлагает собственные фундаментальные принципы построения таких систем. Схожие идеи интеграции принципов кибернетики и информационной безопасности изложены также в работах Т. Виннакота [29] и М. Ко [30].

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

Облачные технологии стали доминирующей вычислительной средой текущего десятилетия благодаря возможности оперативного предоставления вычислительных ресурсов с минимальными эксплуатационными затратами. Поскольку системы, построенные на облачных технологиях, являются сложными, крупномасштабными, распределенными и гетерогенными, управление их ресурсами представляет собой непростую задачу. П. Майер для решения данной задачи предлагает концепцию автономного облака [31] - облака, использующего принцип добровольных вычислений и построенного на основе одноранговой сети. Под добровольными вычислениями понимаются распределенные вычисления с использованием предоставленных добровольно вычислительных ресурсов. Управление выполнением приложений осуществляется на основе идей многоранговой рефлексии и самоадаптации. Однако многие аспекты реализации такой концепции на данный момент требуют исследований.

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

ных систем. Сервис-ориентированная архитектура представляет собой композицию из различных программных сервисов, каждый из которых отвечает за решение своей собственной автономной задачи. К. Лиу разработал метод, призванный решить проблемы адаптации в сервис-ориентированных системах, основанный на идеях теории управления [32].

В настоящее время существует сравнительно мало работ, посвященных интеграции программной кибернетики и агентных технологий, несмотря на то, что природа мультиагентных систем кажется очень близкой данному направлению. С кибернетической точки зрения агентная система представляет собой систему индивидуумов, которые, взаимодействуя и обмениваясь информацией, стремятся решить некоторую общую задачу. К. Сим предлагает агентно-ориентированную парадигму для управления ресурсами в облачных системах [33]. К числу инновационных элементов его работы относят: основанную на агентах поисковую машину для обнаружения облачных сервисов, механизм согласования ресурсов на основе агентов, технику решения проблем, возникающую при интеграции облачных сервисов.

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

К. Рэвидрэн применяет программную кибернетику для управления поведением сложных сетевых систем [34]. Предложенный им подход предполагает использование модельно-ориентированных техник программной инженерии для оценки качества адаптации сетевой системы в условиях неконтролируемой внешней среды. В работе Т. Чои [35] обсуждается возможность применения кибернетических принципов в области сбора и анализа больших данных. Также проблемы интеграции информационных и технических систем с точки зрения оптимальной управляемости, принятия решений и адаптируемости актуальны в рамках методологии интернета вещей. Парадигма интернета вещей основана на повсеместном внедрении в общество интеллектуальной техники, что порождает ряд новых проблем для программной инженерии: организация взаимодействия интеллектуальных объектов в больших масштабах, сбор и обработка данных и т.д. [36].

Заключение

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

Библиографический список

1. Cai, K. Y. Optimal software testing and adaptive software testing in the context of software cybernetics / K. Y. Cai // Information and Software Technology. - Hong Kong, 2002. - P. 841-855.

2. Chang, V. A. Cybernetics Social Cloud / V. A. Chang. - New Yourk : Electronics & Computer Science, 2015.

3. Wiener, N. Cybernetics: Or Control and Communication in the Animal and the Machine / N. Wiener. - Paris : Hermann & Cie, 1948.

4. Von Foerster, H. Cybernetics of cybernetics / H. Von Foerster. - New Yourk : Gordon and Breach, 1979.

5. Geyer, R. F. Socio-cybernetics / R. F. Geyer, J. von der Zouwen. - London : Marti-nus Nijhoff, 1978.

6. Новиков, Д. А. Кибернетика (навигатор) / Д. А Новиков. - Москва : Ленанд, 2015. - 160 с.

7. Ashby, W. R. An Introduction to Cybernetics / W. R. Ashby. - London : Chapman & Hall, 1956.

8. Cai, K. Y. Towards research on software cybernetics / K. Y. Cai, T. Y. Chen, T. H. Tse // 7th IEEE International Symposium on High Assurance Systems Engineering (HASE'02). - Washington : IEEE Computer Society, 2002. - P. 240.

9. Cai, K. Y. An overview of software cybernetics / K. Y. Cai, J. W. Cangussu, R. A. DeCarlo, A. P. Mathur // IEEE International Workshop on Software Technology and Engineering Practice. - Washington : IEEE Computer Society, 2003. - P. 77-86.

10. Kenett, R. S. Future directions of software cybernetics: A position paper / R. S. Kenett // 35th IEEE Annual Computer Software and Applications Conference Workshops. - Washington : IEEE Computer Society, 2003. - P. 43-44.

11. Ravindran, K. Software cybernetics to infuse adaptation intelligence in networked systems / K. Ravindran, M. Rabby // IEEE International Conference on the Network of the Future (NOF). - Washington : IEEE Computer Society, 2013. - P. 1-6.

12. Cai, K. Y. An experimental study of adaptive testing for software reliability assessment // K. Y. Cai, C. H. Jiang, H. Hu, C. G. Bai // J. Syst. Software. - Norwell : Kluwer Academic Publishers, 2008. - P. 1406-1429.

13. Wang, P. Representing extended finite state machines for SDL by a novel control model of discrete event systems / P. Wang, K. Y. Cai // Sixth IEEE International Conference on Quality Software (QSIC 2006). - Washington : Ieee Computer Society, 2006. -P. 159-166.

14. Wang, P. Supervisory control of a kind of extended finite state machines / P. Wang, K. Y. Cai // 24th IEEE Chinese Control and Decision Conference (CCDC). - Washington : Ieee Computer Society, 2012. - P. 775-780.

15. Lorenzoli, D. Automatic generation of software behavioural models / D. Lorenzoli, L. Mariani, M. Pezze // 30th international ACM conference on Software engineering. -New York : ACM, 2008. - P. 501-510.

16. Fuzzy control-based software self-adaptation: A case study in mission critical systems / Q. Yang, J. Lu, J. Xing, X. Tao, H. Hu, Y. Zou // IEEE 35th Annual Computer Software and Applications Conference Workshops (COMPSACW). - Washington : IEEE Computer Society, 2011. - P. 13-18.

17. Ding, Z. A software cybernetics approach to self-tuning performance of on-line transaction processing systems / Z. Ding, Z. Wei, H. Chen // J. Syst. Software. -Amsterdam : Elsevier, 2016. - P. 13-18.

18. SWRL: A Semantic Web Rule Language Combining OWL and RuleML // W3C. -URL: https://www.w3.org/Submission/SWRL/ (дата обращения: 24.05.2017).

19. Park, K. A feedback-based approach to validate SWRL rules for developing situation-aware software / K. Park, K. Yeom // 37th Annual Computer Software and Appli-

cations Conference Workshops (COMPSACW). - Washungton : IEEE Computer Society, 2013. - Q 41-46.

20. Liu, L. Requirements cybernetics: elicitation based on user behavioural data / L. Liu, Q. Zhou, J. Liu, Z. Cao // J. Syst. Software. - Amsterdam : Elsevier, 2016.

21. Patikirikorala, T. A systematic survey on the design of self-adaptive software systems using control engineering approaches / T. Patikirikorala, A. Colman, J. Han, L. Wang // 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (IEEE Press). - Washington : IEEE Computer Society, 2012. -P. 33-42.

22. Ahuja, K. Autonomic Computing: An emerging perspective and issues / K. Ahuja, H. Dangey // IEEE International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT 2014). - Washington : IEEE Computer Society, 2014. -P. 471-475.

23. Cotroneo, D. Software aging and rejuvenation: Where we are and where we are going / D. Cotroneo, R. Natella, R. Pietrantuono, S. Russo // IEEE Third International Workshop on Software Aging and Rejuvenation (WoSAR 2011). - Washington : IEEE Computer Society, 2011. - P. 1-6.

24. Okamura, H. Application of reinforcement learning to software rejuvenation / H. Okamura, T. Dohi // 10th International Symposium on Autonomous Decentralized Systems (ISADS). - Washington : IEEE Computer Society, 2011. - P. 647-652.

25. Agepati, R. Optimal software rejuvenation policies / R. Agepati, N. Gundala, S. V. Amari // IEEE conference on Reliability and Maintainability Symposium (RAMS 2013). - Washington : IEEE Computer Society, 2013. - P. 1-7.

26. Kundu, J. Self-Healing model for software application / J. Kundu, A. Mukherjee // Recent Advances and Innovations in Engineering (ICRAIE). - Washington : IEEE Computer Society, 2014. - P. 1-6.

27. Park, J. S. Essence-based, goal-driven adaptive software engineering / J. S. Park // EEE/ACM 4th SEMAT Workshop on General Theory of Software Engineering (GTSE). -Washington : IEEE Computer Society, 2015. - P. 33-38.

28. Application of cybernetics and control theory for a new paradigm in cybersecurity / M. D. Adams, S. D. Hitefield, B. Hoy, M. C. Fowler, T. C. Clancy // Computing Research Repository. - Washington : IEEE Computer Society, 2013.

29. Vinnakota, T. A cybernetics paradigms framework for cyberspace: key lens to cy-bersecurity / T. Vinnakota // IEEE International Conference on Computational Intelligence and Cybernetics (CYBERNETICSCOM). - Washington : IEEE Computer Society, 2013. - P. 85-91.

30. A lightweight software control system for cyber awareness and security / M. Co, C. L. Coleman, J. W. Davidson, S. Ghosh, J. D. Hiser, J. C. Knight, A. Nguyen-Tuong // 2nd International Symposium on Resilient Control Systems (ISRCS'09). - Washington : IEEE Computer Society, 2009. - P. 19-24.

31. Mayer, P. The autonomic cloud: a vision of voluntary, peer-2-peer cloud computing / P. Mayer, A. Klarl, R. Hennicker // 7th IEEE International Conference on Self-Adaptation and Self-Organizing Systems Workshops (SASOW). - Washington : IEEE Computer Society, 2013. - P. 89-94.

32. Control-based approach to balance services performance and security for adaptive service based systems (ASBS) / C. Liu, C. Jiang, H. Hu, K. Y. Cai, D. Huang, S. S. Yau // 33 rd Annual IEEE International Computer Software and Applications Conference (COMPSAC'09). - Washington : IEEE Computer Society, 2009. - P. 473-478.

33. Sim, K. M. Agent-based cloud computing / K. M. Sim // IEEE Transactions on Services Computing. - Washington : IEEE Computer Society, 2012. - P. 564-567.

34. Ravindran, K. Software cybernetics to infuse adaptation intelligence in networked systems / K. Ravindran, M. Rabby // Fourth IEEE International Conference on the Network of the Future (NOF). - Washington : IEEE Computer Society, 2013. - P. 1-6.

35. Choi, T. Recent development in big data analytics for business operations and risk management / T. Choi, H. Chan, X. Yue // IEEE Transactions on Cybernetics. - Washington : IEEE Computer Society, 2016. - P. 1-12.

36. Бершадский, А. М. Разработка и моделирование гетерогенных инфраструктур для беспроводного информационного обеспечения процессов мониторинга / А. М. Бершадский, А. Г. Финогеев, А. С. Бождай // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2010. - № 1 (13). - С. 36-46.

References

1. Cai K. Y. Information and Software Technology. Hong Kong, 2002, pp. 841-855.

2. Chang V. A. Cybernetics Social Cloud. New Yourk: Electronics & Computer Science, 2015.

3. Wiener N. Cybernetics: Or Control and Communication in the Animal and the Machine. Paris: Hermann & Cie, 1948.

4. Von Foerster H. Cybernetics of cybernetics. New Yourk: Gordon and Breach, 1979.

5. Geyer R. F., J. von der Zouwen Socio-cybernetics. London: Martinus Nijhoff, 1978.

6. Novikov D. A. Kibernetika (navigator) [Cybernetics (navigator)]. Moscow: Lenand, 2015, 160 p.

7. Ashby W. R. An Introduction to Cybernetics. London: Chapman & Hall, 1956.

8. Cai K. Y., Chen T. Y., Tse T. H. 7th IEEE International Symposium on High Assurance Systems Engineer-ing (HASE'02). Washington: IEEE Computer Society, 2002, p. 240.

9. Cai K. Y., Cangussu J. W., DeCarlo R. A., Mathur A. P. IEEE International Workshop on Software Technology and Engineering Practice. Washington: IEEE Computer Society, 2003, pp. 77-86.

10. Kenett R. S. 35th IEEE Annual Computer Software and Applications Conference Workshops. Washington: IEEE Computer Society, 2003, pp. 43-44.

11. Ravindran K., Rabby M. IEEE International Conference on the Network of the Future (NOF). Washington: IEEE Computer Society, 2013, pp. 1-6.

12. Cai K. Y., Jiang C. H., Hu H., Bai C. G. J. Syst. Software. Norwell: Kluwer Academic Publishers, 2008, pp. 1406-1429.

13. Wang P., Cai K. Y. Sixth IEEE International Conference on Quality Software (QSIC 2006). Washington: Ieee Computer Society, 2006, pp. 159-166.

14. Wang P., Cai K. Y. 24th IEEE Chinese Control and Decision Conference (CCDC). Washington: Ieee Computer Society, 2012, pp. 775-780.

15. Lorenzoli D., Mariani L., Pezzè M. 30th international ACM conference on Software engineering. New York: ACM, 2008, pp. 501-510.

16. Yang Q., Lü J., Xing J., Tao X., Hu H., Zou Y. IEEE 35th Annual Computer Software and Applications Conference Workshops (COMPSACW). Washington: IEEE Computer Society, 2011, pp. 13-18.

17. Ding Z., Wei Z., Chen H. J. Syst. Software. Amsterdam: Elsevier, 2016, pp. 13-18.

18. SWRL: A Semantic Web Rule Language Combining OWL andRuleML W3C. Available at: https://www.w3.org/Submission/SWRL/ (accessed April 24, 2017).

19. Park K., Yeom K. 37th Annual Computer Software and Applications Conference Workshops (COMPSACW). Washungton: IEEE Computer Society, 2013, pp. 41-46.

20. Liu L., Zhou Q., Liu J., Cao Z. J. Syst. Software. Amsterdam: Elsevier, 2016.

21. Patikirikorala T., Colman A., Han J., Wang L. 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (IEEE Press). Washington: IEEE Computer Society, 2012, pp. 33-42.

22. Ahuja K. IEEE International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT 2014). Washington: IEEE Computer Society, 2014, pp. 471475.

23. Cotroneo D., Natella R., Pietrantuono R., Russo S. IEEE Third International Workshop on Software Aging and Rejuvenation (WoSAR 2011). Washington: IEEE Computer Society, 2011, pp. 1-6.

24. Okamura H., Dohi T. 10th International Symposium on Autonomous Decentralized Systems (ISADS). Washington: IEEE Computer Society, 2011, pp. 647-652.

25. Agepati R., Gundala N., Amari S. V. IEEE conference on Reliability and Maintainability Symposium (RAMS 2013). Washington: IEEE Computer Society, 2013, pp. 1-7.

26. Kundu J., Mukheijee A. Recent Advances and Innovations in Engineering (ICRAIE). Washington: IEEE Computer Society, 2014, pp. 1-6.

27. Park J. S. EEE/ACM 4th SEMAT Workshop on General Theory of Software Engineering (GTSE). Washington: IEEE Computer Society, 2015, pp. 33-38.

28. Adams M. D., Hitefield S. D., Hoy B., Fowler M. C., Clancy T. C. Computing Research Repository. Washington: IEEE Computer Society, 2013.

29. Vinnakota T. IEEE International Conference on Computational Intelli-gence and Cybernetics (CYBERNETICSCOM). Washington: IEEE Computer Society, 2013, pp. 85-91.

30. Co M., Coleman C. L., Davidson J. W., Ghosh S., Hiser J. D., Knight J. C., Nguyen-Tuong A. 2nd International Symposium on Resilient Control Systems (ISRCS'09). Washington: IEEE Computer Society, 2009, pp. 19-24.

31. Mayer P., Klarl A., Hennicker R. 7th IEEE International Conference on Self-Adaptation and Self-Organizing Systems Workshops (SASOW). Washington: IEEE Computer Society, 2013, pp. 89-94.

32. Liu C., Jiang C., Hu H., Cai K. Y., Huang D., Yau S. S. 33rd Annual IEEE International Computer Software and Applications Conference (COMPSAC'09). Washington: IEEE Computer Society, 2009, pp. 473-478.

33. Sim K. M. IEEE Transactions on Services Computing. Washington: IEEE Computer Society, 2012, pp. 564-567.

34. Ravindran K., Rabby M. Fourth IEEE International Conference on the Network of the Future (NOF). Washington: IEEE Computer Society, 2013, pp. 1-6.

35. Choi T., Chan H., Yue X. IEEE Transactions on Cybernetics. Washington: IEEE Computer Society, 2016, pp. 1-12.

36. Bershadskiy A. M., Finogeev A. G., Bozhday A. S. Izvestiya vysshikh uchebnykh za-vedeniy. Povolzhskiy region. Tekhnicheskie nauki [University proceedings. Volga region. Engineering sciences]. 2010, no. 1 (13), pp. 36-46.

Евсеева Юлия Игоревна

кандидат технических наук, ассистент, кафедра систем автоматизированного проектирования, Пензенский государственный университет

E-mail: shymoda@mail.ru

Evseeva Yuliya Igorevna

Candidate of engineering sciences, assistant,

sub-department of CAD, Penza State

University (40 Krasnaya street,

Penza, Russia)

УДК 004.4 Евсеева, Ю. И.

Программная кибернетика: современное состояние и проблемы /

Ю. И. Евсеева // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2017. - № 3 (43). - С. 48-59. Б01 10.21685/2072-30592017-3-4