Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программные продукты и системы, 2018, том 31, № 2

международный научно-практический журнал
Покупка
Основная коллекция
Артикул: 706091.0001.99
Программные продукты и системы : международный научно-практический журнал. - Тверь : НИИ Центрпрограммсистем, 2018. - Т. 31, № 2. - 420 с. - ISSN 0236-235X. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1016281 (дата обращения: 08.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Научно-исследовательский институт

«Центрпрограммсистем»

Программные

продукты и системы

МЕЖДУНАРОДНЫЙ НАУЧНО-ПРАКТИЧЕСКИЙ ЖУРНАЛ

2018, том 31, № 2

(год издания тридцать первый)

Главный редактор

С.В. ЕМЕЛЬЯНОВ, академик РАН

Тверь

SOFTWARE & SYSTEMS

(PROGRAMMNYE PRODUKTY I SISTEMY)

International research and practice journal

2018, vol. 31, no. 2

Editor-in-Chief 

S.V. EMELYANOV, Academician of the Russian Academy of Sciences

Tver

Russian Federation

Research Institute CENTERPROGRAMSYSTEM

 ПРОГРАММНЫЕ ПРОДУКТЫ И СИСТЕМЫ

Международный научно-практический журнал 

2018. Т. 31. № 2
DOI: 10.15827/0236-235X.031

Главный редактор 

С.В. ЕМЕЛЬЯНОВ,
академик РАН (г. Москва, Россия)

Научный редактор

А.П. Еремеев, д.т.н., профессор НИУ «МЭИ»
(г. Москва, Россия)

Издатель НИИ «Центрпрограммсистем»

(г. Тверь, Россия)

Учредители: МНИИПУ (г. Москва, Россия),

Главная редакция международного журнала 

«Проблемы теории и практики управления» (г. Москва, Россия),

АОЗТ НИИ «Центрпрограммсистем» (г. Тверь, Россия)

Журнал зарегистрирован в Комитете Российской Федерации

по печати 26 июня 1995 г.

Регистрационное свидетельство № 013831

Подписной индекс в каталоге

Агентства «Роспечать» 70799

ISSN 0236-235X (печатн.)
ISSN 2311-2735 (онлайн)

МЕЖДУНАРОДНАЯ РЕДАКЦИОННАЯ КОЛЛЕГИЯ

Семенов Н.А. – д.т.н., профессор Тверского государственного технического университета, заместитель главного 
редактора (г. Тверь, Россия)
Решетников В.Н. – д.ф.-м.н., профессор Московского авиационного института 
(национального исследовательского университета), заместитель главного редактора (г. Москва, Россия)
Арефьев И.Б. – д.т.н., профессор Морской академии Польши (г. Щецин, Польша)
Афанасьев А.П. – д.ф.-м.н., профессор Московского физико-технического института (технического университета), 
заведующий Центром распределенных вычислений Института проблем передачи информации РАН (г. Москва, Россия)
Баламетов А.Б. – д.т.н., профессор Азербайджанского научно-исследовательского и проектно-изыскательского института 
энергетики (г. Баку, Азербайджан)
Батыршин И.З. – д.т.н., профессор Мексиканского института нефти (г. Мехико, Мексика)
Вагин В.Н. – д.т.н., профессор Национального исследовательского университета «МЭИ» (г. Москва, Россия)
Голенков В.В. – д.т.н., профессор Белорусского государственного университета информатики и радиоэлектроники 
(г. Минск, Беларусь)
Еремеев А.П. – д.т.н., профессор Национального исследовательского университета «МЭИ» (г. Москва, Россия)
Котов А.С. – кандидат наук, ассистент профессора университета Уэйна (штат Мичиган) (г. Детройт, США)
Кузнецов О.П. – д.т.н., профессор Института проблем управления РАН (г. Москва, Россия)
Курейчик В.М. – д.т.н., профессор Инженерно-технологической академии Южного федерального университета 
(г. Таганрог, Россия)
Лисецкий Ю.М. – к.т.н., генеральный директор «S&T Ukraine» (г. Киев, Украина)
Мамросенко К.А. – к.т.н., доцент Московского авиационного института 
(национального исследовательского университета), руководитель Центра визуализации и спутниковых 
информационных технологий НИИСИ РАН (г. Москва, Россия)
Мейер Б. – доктор наук, профессор, заведующий кафедрой Высшей политехнической школы – ETH (г. Цюрих, Швейцария)
Нгуен Тхань Нги – д.ф.-м.н., профессор, проректор Ханойского открытого университета (г. Ханой, Вьетнам)
Николов Р.В. – доктор наук, профессор Университета библиотековедения и информационных технологий Софии
(г. София, Болгария)
Осипов Г.С. – д.ф.-м.н., профессор, заместитель директора Института системного анализа РАН (г. Москва, Россия)
Палюх Б.В. – д.т.н., профессор Тверского государственного технического университета (г. Тверь, Россия)
Рахманов A.A. – д.т.н., профессор, заместитель генерального директора Концерна «РТИ Системы» (г. Москва, Россия)
Серов В.С. – д.ф.-м.н., профессор Университета прикладных наук Оулу (г. Оулу, Финляндия)
Сотников А.Н. – д.ф.-м.н., профессор, Межведомственный суперкомпьютерный центр РАН (г. Москва, Россия)
Сулейманов Д.Ш. – академик АН Республики Татарстан, д.т.н., профессор Казанского государственного 
технического университета (г. Казань, Республика Татарстан, Россия)
Тарасов В.Б. – к.т.н., доцент Московского государственного технического университета им. Н.Э. Баумана (г. Москва, Россия)
Таратухин В.В. – доктор философии, управляющий директор Европейского исследовательского центра 
в области информационных систем (ERCIS) Вестфальского университета им. Вильгельма (г. Мюнстер, Германия)
Хорошевский В.Ф. – д.т.н., профессор Московского физико-технического института (технического университета) 
(г. Москва, Россия)
Язенин А.В. – д.ф.-м.н., профессор Тверского государственного университета (г. Тверь, Россия)

АССОЦИИРОВАННЫЕ ЧЛЕНЫ РЕДАКЦИИ

Национальный исследовательский университет «МЭИ», г. Москва, Россия
Технологический институт Южного федерального университета, г. Таганрог, Россия
Тверской государственный технический университет, г. Тверь, Россия
Научно-исследовательский институт «Центрпрограммсистем», г. Тверь, Россия

АДРЕС ИЗДАТЕЛЯ И РЕДАКЦИИ
Россия, 170024, г. Тверь, пр. 50 лет Октября, 3а
Телефон (482-2) 39-91-49
Факс (482-2) 39-91-00
E-mail: red@cps.tver.ru
Сайт: www.swsys.ru

Дата выхода в свет 07.06.2018 г.

Отпечатано ООО ИПП «Фактор и К»

Россия, 170028, г. Тверь, ул. Лукина, д. 4, стр. 1

Выпускается один раз в квартал

Год издания тридцать первый. Формат 6084 1/8. Объем 192 стр.

Заказ № 15. Тираж 1000 экз. Цена 330,00 руб.

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

 SOFTWARE & SYSTEMS 
(PROGRAMMNYE PRODUKTY I SISTEMY)

International research and practice journal

2018, vol. 31, no. 2
DOI: 10.15827/0236-235X.031

Editor-in-chief 

S.V. Emelyanov, Academician of the Russian Academy of Sciences
(Mosсow, Russian Federation)

Science editor

A.P. Eremeev, Dr.Sc. (Engineering), Professor MPEI
(Moscow, Russian Federation)

Publisher Research Institute 
CENTERPROGRAMSYSTEM 

(Tver, Russian Federation)

The Founders: International Scientific 

and Research Institute for Management Issues 

(Moscow, Russian Federation),

the Chief Editorial Board 

of International Magazine Theoretical and practical 

issues of management (Moscow, Russian Federation),

Research Institute CENTERPROGRAMSYSTEM 

(Tver, Russian Federation)
The magazine is on record 

in Russian committee

on press 26th of June 1995

Registration certificate № 013831

ISSN 0236-235X (print)

ISSN 2311-2735 (online)

INTERNATIONAL EDITORIAL BOARD

Semenov N.A. – Dr.Sc. (Engineering), Professor of Tver State Technical University, Deputy Editor-in-Chief
(Tver, Russian Federation)
Reshetnikov V.N. – Dr.Sc. (Physics and Mathematics), Professor of Moscow Aviation Institute (National Research University), 
Deputy Editor-in-Chief (Mosсow, Russian Federation)
Arefev I.B. – Dr.Sc. (Engineering), Professor of Poland Szczecin Maritime Academy (Szczecin, Poland)
Afanasiev A.P. – Dr.Sc. (Physics and Mathematics), Professor of Moscow Institute of Physics and Technology, 
Head of Centre for Distributed Computing of Institute for Information Transmission Problems (Moscow, Russian Federation)
Balametov A.B. – Azerbaijan Scientific-Research & Design-Prospecting Power Engineering Institute (Baku, Azerbaijan)
Batyrshin I.Z. – Dr.Sc. (Engineering), Professor of Mexican Petroleum Institute (Mexico City, Mexico)
Vagin V.N. – Dr.Sc. (Engineering), Professor of National Research University “Moscow Power Engineering Institute”
(Mosсow, Russian Federation)
Golenkov V.V. – Dr.Sc. (Engineering), Professor of Belarusian State University of Informatics and Radioelectronics 
(Minsk, Republic of Belarus)
Eremeev A.P. – Dr.Sc. (Engineering), Professor of National Research University “Moscow Power Engineering Institute”
(Moscow, Russian Federation)
Kotov A.S. – Ph.D. (Computer Science), Assistant Professor, Wayne State University (Detroit, MI, USA)
Kuznetsov O.P. – Dr.Sc. (Engineering), Professor of the Institute of Control Sciences of the Russian Academy of Sciences
(Moscow, Russian Federation)
Kureichik V.M. – Dr.Sc. (Engineering), Professor of Academy of Engineering and Technology Southern Federal University 
(Taganrog, Russian Federation)
Lisetskiy Yu.M. – Ph.D.Tech.Sc., CEO of S&T Ukraine (Kiev, Ukraine)
Mamrosenko K.A. – Ph.D. (Engineering), Associate Professor of Moscow Aviation Institute (National Research University), 
Head of Center of Visualization and Satellite Information Technologies SRISA RAS (Moscow, Russian Federation)
Meyer B. – Dr.Sc., Professor, Head of Department in Swiss Federal Institute of Technology in Zurich, ETH 
(Zurich, Switzerland)
Nguyen Thanh Nghi – Dr.Sc. (Physics and Mathematics), Professor, Vice-Principal of Hanoi Open University (Hanoi, Vietnam)
Nikolov R.V. – Full Professor of the University of Library Studies and Information Technology (Sofia, Bulgaria)
Osipov G.S. – Dr.Sc. (Physics and Mathematics), Professor, Deputy of the Principal of Institute of Systems Analysis 
of the Russian Academy of Sciences (Mosсow, Russian Federation)
Palyukh B.V. – Dr.Sc. (Engineering), Professor of Tver State Technical University (Tver, Russian Federation)
Rakhmanov A.A. – Dr.Sc. (Engineering), Professor, Deputy of the CEO of Concern RTI Systems
(Mosсow, Russian Federation)
Serov V.S. – Dr.Sc. (Physics and Mathematics), Professor of the Oulu University of Applied Sciences (Oulu, Finland)
Sotnikov A.N. – Dr.Sc. (Physics and Mathematics), Professor, Joint Supercomputer Center of the Russian Academy 
of Sciences (Moscow, Russian Federation)
Suleimanov D.Sh. – Academician of TAS, Dr.Sc. (Engineering), Professor of Kazan State Technical University
(Kazan, Republic of Tatarstan, Russian Federation)
Tarassov V.B. – Ph.D. (Engineering), Associate Professor of Bauman Moscow State Technical University
(Mosсow, Russian Federation)
Taratoukhine V.V. – Ph.D. (Engineering), Dr.Ph., Managing Director of the Competence Centre ERP and ERCIS Lab
Russia of the ERCIS (Muenster, Germany)
Khoroshevsky V.F. – Dr.Sc. (Engineering), Professor of Moscow Institute of Physics and Technology
(Moscow, Russian Federation)
Yazenin A.V. – Dr.Sc. (Physics and Mathematics), Professor of Tver State University (Tver, Russian Federation)

ASSOCIATED EDITORIAL BOARD MEMBERS

National Research University “Moscow Power Engineering Institute”, Moscow, Russian Federation
Technology Institute at Southern Federal University, Taganrog, Russian Federation
Tver State Technical University, Tver, Russian Federation
Research Institute CENTERPROGRAMSYSTEM, Tver, Russian Federation

EDITORIAL BOARD AND PUBLISHER OFFICE ADDRESS
50 let Oktyabrya Ave. 3а, Tver, 170024, Russian Federation
Phone: (482-2) 39-91-49  Fax: (482-2) 39-91-00
E-mail: red@cps.tver.ru
Website: www.swsys.ru

Release date 07.06.2018

Printed in printing-office “Faktor i K”

Lukina St. 4/1, Tver, 170028, Russian Federation

Published quarterly. 31th year of publication

Format 6084 1/8. Circulation 1000 copies

Prod. order no. 15. Wordage 192 pages. Price 330,00 rub. 

Вниманию авторов

Международный журнал «Программные продукты и системы» публикует материалы научного и научно-практического 

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

Решением Президиума Высшей аттестационной комиссии (ВАК) Министерства образования и науки РФ международ
ный журнал «Программные продукты и системы» внесен в Перечень ведущих рецензируемых научных журналов и изданий, в которых должны быть опубликованы основные научные результаты диссертаций на соискание ученых степеней 
кандидата и доктора наук.

Информация об опубликованных статьях по установленной форме регулярно предоставляется в систему Российского 

индекса научного цитирования (РИНЦ), в CrossRef и в другие базы и электронные библиотеки.

Условия публикации

К рассмотрению принимаются ранее нигде не опубликованные материалы, соответствующие тематике журнала 

(специализация 05.13.ХХ – Информатика, вычислительная техника и управление) и отвечающие редакционным требованиям.

Работа представляется в электронном виде в формате Word. При обилии сложных формул обязательно наличие 

статьи и в формате PDF. Формулы должны быть набраны в редакторе формул Word (Microsoft Equation или MathType). 
Объем статьи вместе с иллюстрациями – не менее 10 000 знаков. Диаграммы, схемы, графики должны быть доступными 
для редактирования (Word, Visio, Excel). Все иллюстрации для полиграфического воспроизведения представляются в 
черно-белом варианте. Цветные, тонированные, отсканированные, не подлежащие редактированию средствами Word рисунки и экранные формы следует присылать в хорошем качестве для их дополнительного размещения на сайте журнала в 
макете статьи с доступом по ссылке. (Публикация материалов с использованием гипертекста, графики, аудио-, видео-, 
программных средств и др. возможна в электронном издании «Программные продукты, системы и алгоритмы», сайт 
www.swsys-web.ru.) Заголовок должен быть информативным; сокращения, а также терминологию узкой тематики желательно в нем не использовать. Количество авторов на одну статью – не более 4, количество статей одного автора в номере, 
включая соавторство, – не более 2. Список литературы, наличие которого обязательно, должен включать не менее 10 пунктов.

Необходимы также содержательная структурированная аннотация (не менее 250 слов), ключевые слова (7–10) и 

индекс УДК. Название статьи, аннотация и ключевые слова должны быть переведены на английский язык (машинный 
перевод недопустим), а фамилии авторов, названия и юридические адреса организаций (если нет официального перевода), 
пристатейные списки литературы – транслитерированы по стандарту BGN/PCGN. 

Вместе со статьей следует прислать сопроводительное письмо-рекомендацию в произвольной форме, экспертное 

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

Порядок рецензирования

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

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

эксперты из числа крупных специалистов в области информатики и вычислительной техники ведущих вузов страны, а 
также ученые и специалисты НИИ «Центрпрограммсистем» (г. Тверь).

Рецензирование проводится конфиденциально. Автору статьи предоставляется возможность ознакомиться с тек
стом рецензии. При необходимости статья отправляется на доработку.

Рецензии обсуждаются на заседаниях рабочей группы, состоящей из членов научного совета журнала. Заседания 

проводятся раз в месяц в НИИ «Центрпрограммсистем» (г. Тверь), где принимается решение о целесообразности публикации статьи.

Статьи, одобренные редакционным советом, публикуются бесплатно в течение года с момента одобрения, а отправ
ленные на доработку – с момента поступления после устранения замечаний.

Редакция международного журнала «Программные продукты и системы» в своей работе руководствуется сводом 

правил Кодекса этики научных публикаций, разработанным и утвержденным Комитетом по этике научных публикаций 
(Committee on Publication Ethics – COPE).

Программные продукты и системы / Software & Systems
2 (31) 2018

233

УДК 004.89
Дата подачи статьи: 15.09.17

DOI: 10.15827/0236-235X.031.2.233-238
2018. Т. 31. № 2. С. 233–238

ТЕХНОЛОГИЯ ВЗАИМОДЕЙСТВИЯ СЕРВИСОВ 

ОБЛАЧНОЙ ПЛАТФОРМЫ IACPaaS 

С ВНЕШНИМ ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ

В.В. Грибова 1, д.т.н., зам. директора, gribova@iacp.dvo.ru
Ф.М. Москаленко 1, к.т.н., старший научный сотрудник, philipmm@iacp.dvo.ru
В.А. Тимченко 1, к.т.н., старший научный сотрудник, vadim@iacp.dvo.ru
Л.А. Федорищев 1, к.т.н., научный сотрудник, fedorischev@iacp.dvo.ru

1 Институт автоматики и процессов управления ДВО РАН, 
ул. Радио, 5, г. Владивосток, 690041, Россия

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

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

компонентов: два из них на платформе – сервис и агент-посредник и три на внешней системе – веб-сервер, программапосредник, внешнее ПО. Описаны особенности каждого из этих компонентов.

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

этапов: разработка сервиса на платформе, разработка внешнего ПО, установка веб-сервера, разработка коммуникационного ПО – программы-посредника. Описаны особенности каждого из этих этапов. 

Названы необходимые требования при разработке агентов на платформе, спецификации параметров при отправке 

и получении сообщений. Представлены соответствующие примеры.

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

Ключевые слова: технология, сервис, облачная платформа, агенты, транспортное моделирование.

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

Несмотря на все очевидные преимущества об
лачных технологий, другие типы ПО не потеряли 
своей актуальности: традиционное ПО (не SaaSприложения) по-прежнему широко используется 
(особенно на высокопроизводительных суперкомпьютерных платформах) для обработки данных 
большого объема либо для расчетов, имеющих значительную вычислительную сложность. При этом 
анализ программных систем демонстрирует непрерывный рост гибридных вычислений на гетерогенных архитектурах [4]. В настоящее время активно 
ведутся работы по стандартизации таких вычислений. В частности, организацией OGF разработан 
стандарт Открытого интерфейса для облачных вычислений (OCCI), который описывает взаимодействие на уровне облака и пригоден для моделей 
IaaS, PaaS, SaaS [5, 6]. Однако названные известные 
стандарты и интерфейсы не подходят для объединения облачной платформы с традиционным ПО. 

В данной статье предлагается метод организации 
такого взаимодействия с традиционным ПО на 
примере облачной платформы IACPaaS.

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

Архитектура удаленного взаимодействия 

платформы

Архитектура удаленного взаимодействия плат
формы IACPaaS с внешним ПО основывается 
на агентном подходе, стандартном механизме 

Программные продукты и системы / Software & Systems
2 (31) 2018

234

HTTP-запросов [8] и возможности запуска выполняемых exe-файлов внешнего ПО из других программ, расположенных на веб-сервере. 

Для отправки HTTP-запросов из программных 

агентов платформы на внешние адреса на платформе IACPaaS разработан специализированный 
агент-посредник, который инкапсулирует все необходимые задачи по обработке HTTP-запросов, описанные выше (работа с адресом, операции GET, 
POST, параметры сообщения). Агент-посредник 
работает с агентами сервиса с помощью механизма 
шаблонов сообщений. На платформе IACPaaS для 
разработки сервисов используются решатели задач. Решатель задач – это набор агентов, обменивающихся между собой сообщениями, которые формируются по шаблонам. Таким образом, агенты 
сервиса взаимодействуют не напрямую с внешним 
ПО, а через сообщения с агентом-посредником.

Для коммуникации с внешним ПО необходимо 

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

На рисунке 1 представлены схема удаленного 

взаимодействия облачной платформы IACPaaS с 
внешним ПО через внешнюю систему и основные 
компоненты, участвующие в процессе, стрелками 
указаны направления передачи данных между 
ними.

Технология удаленного взаимодействия 

платформы

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

(Агент-посредник – это часть платформы IACPaaS, 
его разрабатывать не требуется.)

Разработка сервиса на платформе основыва
ется на базовой технологии [9] и состоит из этапов
разработки:


информационных единиц, используемых ре
шателем задач;


решателя задач сервиса;


агентов решателя задач;


новых шаблонов сообщений;


пользовательского интерфейса сервиса.

Специальные требования при разработке аген
тов, непосредственно взаимодействующих с агентом-посредником, состоят в том, что в множестве 
их блоков продукций в обязательном порядке 
должны присутствовать блок продукций, множество шаблонов выходных сообщений которого содержат шаблон «Шаблон Данные для внешнего запроса», причем выполняется этот блок продукций 
после предыдущего описанного блока (возможно, 
это один и тот же блок продукций), и блок продукций, работа которого инициируется сообщениями, 
сформированными по шаблону «Шаблон Ответ 
на внешний запрос», причем выполняется этот блок 
продукций после работы предыдущего описанного 
блока (возможно, это один и тот же блок продукций).

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

агента, а также при написании его исходного кода.

Рассмотрим этот процесс более детально.
Разработка агентов решателя задач. Для 

связи с внешним ПО агенту, входящему в состав 
решателя задач некоторого облачного сервиса 
платформы,
необходимо отправить сообщение 

агенту-посреднику по шаблону «Шаблон Данные 

Внешнее ПО
Сервис на 
платформе

Обмен 

сообщениями 

с внешней 
системой

Агент
посредник

Обмен 

сообщениями 
с платформой, 

запуск 

внешнего ПО

Программапосредник

Прием 

и отправка 

HTTP-запросов

Веб-сервер

Платформа IACPaaS
Внешняя система

Рис. 1. Схема удаленного взаимодействия

Fig. 1. A remote interaction scheme

Программные продукты и системы / Software & Systems
2 (31) 2018

235

для внешнего запроса», который указывается на 
4-м шаге в описании множества шаблонов выходных сообщений блока продукций агента. Шаблон 
«Шаблон Данные для внешнего запроса» описывает формат передачи данных из агента платформы 
внешней системе. Данный формат включает следующие возможности.

Передача параметров: используется метод add
Param(<ключ>, <значение>).

Передача файлов: используется метод add
File(<имя файла (ключ), данные файла в формате 
BLOB (бинарные данные)>.

Указание URL-адреса внешней системы: добав
ление параметров и файлов необязательно; обязательным является только указание адреса внешней 
системы.

В API платформы IACPaaS для данного шаб
лона используется класс ExternalRequestDataMessage.

Пример отправки запроса. Создаем сообще
ние-запрос по шаблону:

ExternalRequestDataMessage mess = rc.exter
nalRequestDataMessage.create();

Добавляем параметры:
mess.addParam("param1", "value1"); 
mess.addParam("param2", "value2"); 
Добавляем файлы:
Blob b1 = ...; Blob b2 = ...; 
mess.addFile("file1", b1); 
mess.addFile("file2", b2); 
Указываем адрес внешней системы, на который 

будет отправлен запрос:

mess.setUrl("http://site.ru/test.php");
После завершения работы внешняя система от
правляет результат обратно сервису платформы. 

Следующая задача заключается в необходи
мости получения и обработки ответа от внешней 
системы. Для обработки агентом результата внешнего запроса в описание агента добавляется шаблон входного сообщения «Шаблон Ответ на внешний запрос». Формат данного шаблона сообщения 
хранит только один параметр – массив байтов, в который может быть помещена любая информация 
извне, без каких-либо правил со стороны платформы. На платформе IACPaaS для данного шаблона используется класс ExternalRequestReplyMessage.

В коде агента необходимо создать функцию 

runProduction с ожиданием сообщения класса ExternalRequestReplyMessage:

public void runProduction(ExternalRequestRe
plyMessage msg …)

Ответ от внешней системы приходит в перемен
ной типа BLOB (бинарные данные):

Blob b = msg.getAnswer();
Пример извлечения необходимого массива бай
тов с помощью функции getBytes():

<Массив полученных данных> = b.getBytes()

Внешняя система

Разработка внешнего ПО. Внешнее ПО может 

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

Веб-сервер. В качестве веб-сервера выбирается 

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

Программа-посредник. Программа-посредник 

может быть разработана на веб-сервере на любом 
языке программирования. Однако предполагается 
использовать для этой цели языки, применяющиеся в веб-программировании: PHP, Perl, Java и другие, так как именно они обеспечивают стандартные 
функции для работы с интернет-запросами.

Перечислим задачи программы-посредника.
1. Принять поступивший запрос от сервиса 

платформы IACPaaS через веб-сервер. Сервис 
платформы IACPaaS отправляет запросы по HTTPпротоколу с помощью метода POST. Таким образом, в программе-посреднике необходимо получить данные по указанному протоколу и методу. 
Пример получения параметра запроса на языке 
PHP: $param = $_REQUEST['reqParam'],
где 

$param – произвольная переменная PHP для хранения данных; 'reqParam' – название параметра, значение которого необходимо получить. Название 
параметра должно соответствовать переданному в 
запросе из сервиса платформы IACPaaS. Параметров может быть любое количество.

2. Вызвать внешнее ПО и передать ему пара
метры, полученные из поступившего запроса.

Пример вызова исполняемого файла про
граммы на языке PHP: exec(<Путь к исполняемому 
файлу на сервере>).

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

4. Отправить полученный результат через веб
сервер обратно сервису платформы IACPaaS. Отправляемые данные требуется привести к заранее 
определенному формату, согласованному с обработкой этого результата на сервисе платформы 
IACPaaS. Особых требований к отправляемому от
Программные продукты и системы / Software & Systems
2 (31) 2018

236

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

Примеры разработки 
прикладных сервисов

Технология удаленного взаимодействия между 

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

Сервис транспортных коммуникаций. Сервис 

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

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

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

Этап 1. Сервис на платформе IACPaaS.
1. Разработка информационных единиц, ис
пользуемых решателем задач.

На данном этапе был создан информационный 

ресурс, представляющий декларативную спецификацию агента транспортной модели для решателя 
задачи, внутри которого были указаны стандартные и специальные шаблоны сообщений. Стандартные шаблоны сообщений: «Шаблон Запрос от 
агента Вид», «Шаблон Отобразить окно», «Шаблон Вернуть инфоресурс в окно», «Шаблон Вернуть строку в окно». Специальные шаблоны сообщений: «Шаблон Данные для внешнего запроса», 
«Шаблон Ответ на внешний запрос». Все шаблоны записаны в ресурс агента (см. http://www.
swsys.ru/uploaded/image/2018_2/2018-2-dop/5.jpg).

2. Разработка решателя задач сервиса на 

платформе.

На данном этапе в решателе задач сервиса были

указаны агент транспортной модели – «Транспортная модель. Интерфейсный агент» и стартовая 
страница – «Транспортная модель» (см. http://
www.swsys.ru/uploaded/image/2018_2/2018-2-dop/
6.jpg). Остальные элементы (входные, выходные, 
собственные и временные инфоресурсы) отсутствуют, корневой агент совпадает с интерфейсным 
агентом.

3. Разработка агентов решателя задач.
На данном этапе был разработан интерфейсный 

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

4. Разработка шаблонов сообщений.
Новых шаблонов сообщений для данной задачи 

создано не было.

5. Разработка пользовательского интерфейса 

сервиса на платформе. 

Пользовательский интерфейс сервиса реализо
ван как клиентский модуль и подключен на шаге 3 
к интерфейсному агенту. Его задача – визуализация графа транспортной модели на основе получаемых от внешнего ПО данных.

Рис. 2. Визуализация транспортных коммуникаций

на облачном сервисе

Fig. 2. Visualization of transport communications 

in the cloud service

Программные продукты и системы / Software & Systems
2 (31) 2018

237

Этап 2. Внешнее ПО.
Внешнее ПО в данной задаче – это программа, 

вычисляющая математическую модель.

Этап 3. Веб-сервер.
На внешней системе был установлен веб-сервер 

Apache/2.2.29 (Linux/SUSE).

Этап 4. Программа-посредник.
В программе-посреднике реализованы функции 

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

Сервис модели города. Сервис предназначен 

для интерактивного моделирования транспортных 
потоков в развивающейся городской инфраструктуре. Внешнее ПО строит математическую модель 
прогнозирования загрузки транспортной сети в результате синтеза гравитационной модели описания 
транспортных корреспонденций и мультимодальной задачи потокового равновесия с эластичным 
спросом. Решение задачи построения такой модели 
является очень трудоемким и вычислительно сложным процессом, поэтому оно размещается на внешней системе. На облачной платформе размещается 
внутренний сервис, который отображает пользователям результаты этого сложного моделирования в 
виде трехмерной визуализации (см. http://www.
swsys.ru/uploaded/image/2018_2/2018-2-dop/7.jpg).

Представленный сервис также реализован по 

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

Заключение

Описанная технология была успешно приме
нена в двух реальных проектах, связанных с транспортными задачами. Рассмотрим критерии, которые имели значение в их реализации.

1. Преимущества платформы IACPaaS. Cерви
сы получили все преимущества, которые дает платформа IACPaaS, и были реализованы современными веб-средствами визуализации. 

2. Преимущества внешнего серверного кла
стера. Внешнее ПО в данном случае – это сложные 
математические программы, выполняемые на высокопроизводительном 
аппаратно-программном 

обеспечении, которых нет на платформе IAPCaaS. 

3. Независимость платформы и внешнего ПО. 

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

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

Работа выполнена при частичной финансовой 

поддержке РФФИ, проекты №№ 16-07-00340, 
15-07-03193.

Литература

1.
Батура Т.В., Мурзин Ф.А., Семич Д.Ф. Облачные тех
нологии: основные модели, приложения, концепции и тенденции развития // Программные продукты, системы и алгоритмы. 
2014. № 3. С. 64–72.

2.
Медведев А. Облачные технологии: тенденции разви
тия, примеры исполнения // Современные технологии автоматизации. 2013. № 2. С. 6–9.

3.
Рыбина Г.В. Интеллектуальные системы: от А до Я. 

Кн. 3: Проблемно-специализированные интеллектуальные системы. Инструментальные средства построения интеллектуальных систем. М.: Научтехлитиздат, 2015. 180 с.

4.
Богданова В.Г., Горский С.А., Пашинин А.А. Сервис
ориентированные инструментальные средства для решения задач булевой выполнимости // Фундаментальные исследования. 
2015. № 2–6. С. 1151–1156.

5.
Open Cloud Computing Interface (OCCI). URL: http://

occi-wg.org/community/ (дата обращения: 23.05.2017).

6.
Майерсон Д. Чего следует ожидать клиентам от стан
дартов 
облачных 
сервисов. 
URL: 
https://www.ibm.com/

developerworks/ru/library/cl-srvcstandardsgap/ (дата обращения: 
23.05.2017).

7.
Орландо Д. Модели сервисов облачных вычислений: 

программное обеспечение как сервис. 2012. URL: http://www.
ibm.com/developerworks/ru/library/cl-cloudservices3saas/ 
(дата 

обращения: 29.05.2017).

8.
Gribova V., Kleschev A., Krylov D., Moskalenko P., 

Timchenko V., Shalfeeva E. A cloud computing platform for 
lifecycle support of intelligent multi-agent internet-services. Proc. 
Intern. Conf. PEEE. Hong Kong, 2015, vol. 20, pp. 231–235. 

9.
Типы HTTP-запросов и философия REST. URL: 

https://habrahabr.ru/post/50147/ (дата обращения: 17.06.2017).

10. Грибова В.В., Клещев А.С., Крылов Д.А., Москален
ко Ф.М., Тимченко В.А., Шалфеева Е.А. Базовая технология 
разработки интеллектуальных сервисов на облачной платформе 
IACPaaS. Ч. 1. Разработка базы знаний и решателя задач // Программная инженерия. 2015. № 12. С. 3–11.