Аспекты применения облачных технологий для автоматизации решения задач проектирования систем  управления  в системе «ГАММА-3»

А.Г. Александров,
в.н.с., д.ф.-м.н., проф., alex7@ipu.rssi.ru
ИПУ  РАН, г. Москва
Л.С. Михайлова,
зав. каф., к.т.н., доц., mikhaylovaluba@mail.ru
ЭПИ МИСиС, г. Электросталь
М.Ф. Степанов,
проф., д.т.н., mfs@sstu.ru,
Т.М.Брагин,

аспир.,
А.М.Степанов

аспир.,
СГТУ, г. Саратов

Рассматриваются вопросы применения концепции облачных технологий для организации доступа пользователей к возможностям автоматизации решения задач проектирования и исследования систем управления, предоставляемым многофункциональной системой ГАММА-3. Отличительными особенностями системы ГАММА-3 являются: 1) возможности решения типовых задач на основе известных процедур их решения, задаваемых в виде последовательности действий на входном языке ГАММА; 2) способность решения не процедурно поставленных задач на основе формализованного структурированного представления знаний о методах решения задач теории автоматического управления.

 

Questions of application of the concept of cloudy technologies for organization of access to possibilities of automation of problem solving of designing and research of the control systems, given for users by the multifunctional system the GAMMA - 3 are considered. Distinctive features of the system the GAMMA – 3: 1) possibilities of a solution of standard tasks on the basis of the known procedures of their solution assigned as sequence of operations on the source language the GAMMA; 2) ability of a solution the nonprocedurally defined tasks on the basis of the formalized structured representation of knowledge of methods of problem solving of the theory of automatic control.

 

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

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

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

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

Концепция облачных вычислений включает в себя совокупность следующих понятий [2]:

-     IaaS (Infrastructure as a Service или «Инфраструктура как сервис») – компьютерная инфраструктура, как правило, представленная в форме виртуализации. Является услугой в рамках концепции облачной обработки данных.

-     PaaS (Platform as a Service или «Платформа как сервис») – интегрированная платформа для разработки, развертывания, тестирования и поддержки web-приложений. Представлена в виде сервиса на основе концепции «облачные вычисления».

-     SaaS (Software as a service или «ПО как сервис») – представляет собой бизнес-модель лицензионного использования ПО, которая подразумевает разработку и поддержку программного обеспечения поставщиком. Заказчикам же предоставляется возможность его платного использования, как правило, посредством Интернета.

-     DaaS (Desktop as a Service или «Рабочий стол как сервис») – ещё одна бизнес-модель лицензионного использования программного обеспечения, которая представляет собой немного усовершенствованную модель SaaS, в основном предполагающая использование нескольких сервисов одновременно, необходимых для полноценной работы.

Кроме вышеперечисленных в рамках концепции облачных вычислений распространены также понятия Data as a service и Everything as a service («Данные как сервис» и «Все как сервис» соответственно). Оба понятия показывают, что посредством всемирной паутины с использованием Cloud Computing можно удовлетворить любые потребности в обработке информации. Это является основным преимуществом облачных вычислений в рамках ИТ-решений для бизнеса.

В развитие работы [4] предлагается модифицированная структура системы ГАММА-3, реализующая концепцию облачных вычислений (см. рис. 1).

 

рис. 1. Укрупнённая структурная схема системы автоматического решения задач ГАММА-3 с использованием концепции облачных вычислений

Для системы «ГАММА-3» можно выделить следующие категории пользователей:

-     Разработчики пакетов расширения (научные работники, студенты вузов), которые используют систему для исследования и программной реализации различных методов решения инженерных задач. Они обладают хорошими знаниями теории и достаточными навыками в области программирования. Для них разработана среда разработчика, которая является средой разработки программ на проблемно-ориентированном языке ГАММА.

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

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

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

Исследователь в среде исследователя, используя процедуру конструирования знаний, создаёт структурные знания (знания о структуре представления знаний), представляющие собой описание на языке ИНСТРУМЕНТ-П структур предметов, действий и отношений модели множества формализованных задач проблемной области [1]. Затем структурные знания посредством применения процедур наследования и означивания используются для построения на их основе элементов модели множества формализованных задач проблемной области [1].

Разработчик пакетов расширений в среде разработчика, используя элементы модели множества формализованных задач проблемной области, посредством применения процедур наследования и означивания формирует на проблемно-ориентированном языке ГАММА, являющемся развитием языка ИНСТРУМЕНТ+ [1], порядок действий по решению задач по известным процедурам. Каждая такая процедура позволяет решать некоторую задачу проблемной области. Однако её описание является параметризованным, т.е. вместо имён данных в ней указаны типы данных, в качестве которых выступают имена предметов и их компонентов. Такой подход позволяет осуществлять и непроцедурную постановку задач.

Инженер-проектировщик в среде инженера имеет возможность, используя процедуры наследования и означивания, построить на основе декларативных знаний системы ГАММА-3:

-     данные для своих задач и занести их в базу фактов,

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

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

Для задачи, решаемой с помощью известной процедуры из базы действий (процедур), план её решения выбирается из базы знаний и отправляется на исполнение на сервер-интерпретатор планов на языке ГАММА. Результаты выполнения операций процедуры заносятся в базу фактов, откуда они доступны пользователю для визуализации.

Для случая непроцедурно поставленных задач подсистема планирования действий осуществляет абстрагирование от конкретной задачи, заменяя имена конкретных данных указанием их типов в соответствии с используемой моделью знаний. Для обобщённой формулировки задачи строится план её решения на языке ИНСТРУМЕНТ-ОП, который затем детализируется посредством подстановки имён данных (фактов) из исходной постановки задачи пользователя вместо соответствующих типов данных, фигурирующих в построенном плане её решения.

В качестве преимуществ по сравнению с локальными или интранет вариантами реализации средств автоматизации решения задач проектирования можно выделить:

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

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

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

4) сокращение общего времени решения задач проектирования за счет сокращения непроизводительных затрат рабочего времени проектировщиков на выполнение несвойственной работы.

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

Проиллюстрируем возможности решения типовых задач в системе ГАММА-3.

           

В целях консолидации всей информации, относящейся к тому или иному разрабатываемому проекту в системе ГАММА-3 введено понятие «проект», под которым понимается область базы данных системы (часть облака), в которой пользователь или группа пользователей будет в дальнейшем хранить исходные данные (например, экспериментальные данные), результаты расчетов, программы на языке ГАММА, задачи в непроцедурной постановке для последующего решения на основе имеющихся в системе формализованных знаний о методах решения задач теории управления, собственные модели знаний, для решения специфических задач, для которых в системе не оказалось достаточных знаний. На рис. 2 представлен вид экранной формы клиентского приложения на этапе создания нового проекта. В состав проекта входят: предметы (математические модели компонентов систем управления); системы управления, компонентами которых являются предметы проекта; процедуры решения типовых задач (задаваемые пользователем программы и используемые в них функции на языке ГАММА); модели знаний (разрабатываемые пользователем модели знаний специфических задач, которые предполагается в дальнейшем решать в непроцедурной постановке). На рис. 3 представлена экранная форма иллюстративного проекта с открытой страницей списка предметов.

Выбор предмета из списка для последующей работы с ним осуществляется щелчком мыши. При этом подсистема визуализации осуществляет автоматическую генерацию экранной формы (см. рис. 4) в соответствии со структурой отображаемой информации. В примере для объекта управления имеются: 1) математическая модель в виде системы обыкновенных дифференциальных уравнений в форме Коши, 2) математическая модель в виде системы обыкновенных дифференциальных уравнений в форме «вход-выход»; 3) характеристики (время регулирования, установившаяся ошибка, частоты среза и др.); 4) свойства (управляемость, наблюдаемость, устойчивость и др.). Экранная форма, сгенерированная подсистемой визуализации может иметь вид, представленный на рисунке 4. Описание предмета осуществляется на языке ИНСТРУМЕНТ+, иллюстративный пример представления описания предмета приведен на рис. 5. Визуальный вид формульного представления математической модели автоматически генерируется по её описанию на LaTeX-подобном языке (см. рис. 4, 5).

 

рис. 4. Атрибуты предмета

рис. 5. Описание предмета

рис. 6. Программа p3

рис. 7. Результаты выполнения программы p3

рис. 8. Программа идентификации

рис. 9. Графики сравнения результатов идентификации

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

Предложенный и реализованный в системе ГАММА-3 подход к автоматизации решения задач в рамках концепции облачных вычислений может быть отнесен к категории «Everything as a service» («Все как сервис»). Это определяется как размещением всех компонентов проекта (данных и знаний, включая программы и функции для решения типовых задач, а также формализованные модели знаний для решения задач в непроцедурной постановке) в публичном облаке. В целях обеспечения конфиденциальности информации пользователей в системе ГАММА-3 применяются средства криптографической защиты, как в средствах сетевого взаимодействия, так и при хранении информации на серверах данных и знаний.

Работа выполнена при финансовой поддержке РФФИ (грант 09-07-00200-а).

Литература

1.      Александров А.Г. Система ГАММА – интегрированная среда проектирования систем управления / А.Г.Александров, М.Ф. Степанов, Л.С.Михайлова // Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта (CAD/CAM/PDM – 2009). Материалы 9-й международной конференции. Под ред. Е.И.Артамонова. - М.: Ин-т проблем управления им. В.А.Трапезникова РАН, 2009

2.      Александров А.Г. Система ГАММА-3 и ее применение / А.Г.Александров, Л.С.Михайлова, М.Ф.Степанов // Автоматика и телемеханика, 2011, № 10. С. 19 – 27

3.      Александров А.Г. О развитии концепции автоматического решения задач теории управления в системе ГАММА-3 / А.Г.Александров, Л.С.Михайлова, М.Ф.Степанов, Т.М.Брагин, А.М.Степанов // Мехатроника, автоматизация, управление. 2011. № 9.

4.      Александров А.Г. Организация структуры технических и программных средств распределённой интегрированной среды ГАММА для проектирования систем управления / А.Г.Александров, Л.С.Михайлова, М.Ф.Степанов // Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта (CAD/CAM/PDM-2011). Труды 10-й Международной конференции. Под ред. Е.И.Артамонова.- М.: Ин-т проблем управления им. В.А.Трапезникова РАН.- 2011.

5.      http://www.inoventica.ru/informacionnyj_centr/tehnologii.