Конструирование среды для многокритериального анализа сложных технических систем
Автор: Легалов А.И., Ледяев Д.Н., Анкудинов А.В.
Журнал: Журнал Сибирского федерального университета. Серия: Техника и технологии @technologies-sfu
Статья в выпуске: 2 т.5, 2012 года.
Бесплатный доступ
Предлагаются инструментальные программные средства, обеспечивающие конструирование среды многокритериального анализа сложных систем (например, космических аппаратов связи и навигации), ориентированной на пользователя. Описываются инструменты, формирующие описания предметной области и интеграцию этих описаний с ядром, обеспечивающим выполнение вычислений.
Инструментальные средства, многокритериальный анализ, пользовательский интерфейс, средства настройки
Короткий адрес: https://sciup.org/146114636
IDR: 146114636
Текст научной статьи Конструирование среды для многокритериального анализа сложных технических систем
При разработке сложных технических систем различного назначения зачастую встает проблема выбора вариантов их подсистем, каждая из которых имеет альтернативные реализации. Данная задача является нетривиальной, а ее решение бывает неочевидным из-за наличия большого количества схожих параметров у рассматриваемых вариантов и множества противоречивых критериев, проанализировать которые вручную, как правило, не представляется возможным, так как приходится проводить расчеты по сложным формулам, учитывающим характеристики подсистем различного уровня. Во многих случаях поиск решения сводится к задаче многокритериального анализа. Разнообразие прикладных областей ведет к использованию разных подходов. В настоящее время решение этой задачи поддерживается инструментальными средствами, которые условно могут быть разделены на три группы:
-
- специализированные системы, обеспечивающие поддержку процесса принятия решений при разработке конкретных технических систем;
-
- универсальные пакеты и инструменты, предназначенные для анализа разнообразных моделей и систем, содержащие также средства для многокритериального анализа;
-
- проблемно ориентированные системы анализа и принятия решений.
Каждая из представленных групп обладает собственными недостатками, которые не позволяют использовать их одинаково эффективно в различных предметных областях даже при относительно схожих условиях решаемых задач [1].
Разработчикам, непосредственно занимающимся анализом и выбором конфигураций сложных систем, удобнее применять специализированные средства, обеспечивающие анализ в терминах предметной области. Однако их создание может оказаться трудоемким и затратным процессом, так как при прямых реализациях каждая специализированная среда должна иметь собственный интерфейс пользователя, учитывающий специфику предметной области. Применение универсальных пакетов требует от пользователей специальных знаний, что ведет к дополнительным трудностям по освоению ими инструментов или привлечению специалистов. Выходом из положения является создание проблемно ориентированных инструментальных средств, обеспечивающих поддержку предметно ориентированных пользовательских интерфейсов, интегрируемых с универсальным ядром, которое обеспечивает решение задачи многокритериального анализа различными методами. Обобщенное описание архитектуры такой среды было представлено в [2]. Ее реализация позволила авторам приступить к анализу конфигураций ряда технических систем [3, 4]. В данной статье более подробно рассматривается организация разработанных инструментальных средств, обеспечивающих как настройку на заданную предметную область, так и формирование альтернативных конфигураций анализируемых систем.
Особенности организации системы многокритериального анализа
Комплексная задача многокритериального анализа для иерархической технической системы может быть условно представлена в виде иерархии типовых подзадач (рис. 1).
Выбор конфигураций подсистем различного уровня вложенности может рассматриваться аналогично выбору конфигурации самой технической системы. Различие определяется в предметной составляющей, формируемой в подсистеме настройки прикладной области. При таком подходе глобальная задача решается посредством ее разбиения на более простые подзадачи, в направлении снизу вверх.
Разработанная для поддержки данного подхода среда многокритериального анализа [1] представлена на рис. 2. Она состоит из трех основных подсистем.
Подсистема настройки на предметную область (ПНПО) предназначена для предварительной настройки среды на решаемую задачу. Она обеспечивает формирование специального шаблона, описывающего предметную область. В частности, с ее помощью формируется окончательный интерфейс подсистемы работы пользователя, задаются формат данных и функции, используемые в ходе вычислений. В соответствии с этим шаблоном клиентская часть программного комплекса осуществляет ввод альтернативных вариантов подсистем, а ядро производит расчеты.
Подсистема работы пользователя (ПРП) предоставляет интерфейс для работы с построенной моделью предметной области и функциями вычислительного ядра. Она дает специалисту-предметнику инструментарий для формирования множества альтернативных вариантов и обеспечивает доступ к вычислительному ядру системы.

Рис. 1. Общий вид комплексной задачи многокритериального анализа

Рис. 2. Обобщенная организация среды инструментальной поддержки
Работа со средой многокритериального анализа условно делится на два этапа: настройку программной системы на предметную область и выполнение многокритериального анализа. На первом этапе администратор среды работает с подсистемой настройки на предметную область, где решает задачу подготовки программной системы к особенностям решаемой задачи. Он вводит данные, определяющие особенности ПРП. В результате этого создается система, настроенная на предметную область, которая и передается специалисту-предметнику. На втором этапе, получив настроенную ПРП, пользователь вводит данные, необходимые для выполнения расчетов, и решает требуемую задачу многокритериального анализа.
Подсистема ядра (ПЯ) осуществляет вычислительные операции, необходимые для выполнения многокритериального анализа, тем самым обеспечивая алгоритмическую и техническую поддержку решения задачи. На текущий момент в ней реализованы методы сужения по Парето, дополнительные алгоритмы последующего уменьшения числа отобранных альтернатив. Модульная организация подсистемы позволяет безболезненно добавлять и другие функции, состав которых предполагается наращивать в ходе дальнейшей работы.
Подсистема настройки на предметную область
Работа в подсистеме настройки на предметную область начинается с создания администратором нового проекта системы многокритериального анализа для конкретной предметной области. Для синтеза ПРП необходимо ввести описание всей системы, определяющей предметную область, подсистем и общих параметров, а также формул, используемых в расчетах. Ввод требуемых данных осуществляется с применением соответствующих элементов пользовательского интерфейса ПНПО. Атрибуты различного назначения размещаются на соответствующих вкладках приложения, выполненного в виде диалогового окна.
Формирование общего описания анализируемой системы осуществляется на вкладке «Система» диалогового окна приложения (рис. 3), которая делится на области описания проекта и свойств системы. Используются соответствующие окна редактирования для задания следующих атрибутов:
-
- названия проекта, отличающего его от других проектов;
-
- описаний проекта и системы в целом, предназначенных для его документирования и отображения в отчетной информации;
-
- названия анализируемой системы на русском и английском языках, которые также используются в отчетной информации (английское название в последующих версиях предполагается для описания полей баз данных);
1 Ketttrpyviop - Kocmivwcxmh enn*p*t (tetr)
Прое»т Шеблон* Помоша

Систем* Подсистемы Групп* Формул*
Qwinwe npeewn
Мпеемме ► есмн^естмА *нп*р*т (тесте**# верен*)
Опне*мме
Р*1Р*б*тыоеем*й прое»т лредм*1м**ен дл* многормтериелемото енелнэ* • он^игурвцни е ос мичг с е or о аппетите (аерсма wc поле *|<т седла tec twpoaaiwe падсистемм месеройее и* предметную о6п*ст>)
Свойств* системы о целом М*ш*иие(руе) касмиаеееий *пп*р*т АМреяи*тур*(рус) кА
н*1в*е«ме(*мг) Spereihip АМрепи*тур*(*нг) S9ilp
Опмс«мне

То ест*, это • оммехтн>нй. лре^«>и*чемный дне специелистое-предметам»ов|
Рис. 3. Занесение данных о проекте и системе в целом
-
- сокращенное обозначение системы на русском и английском языках, которые могут использоваться в названиях различных полей, а также в формулах.
В целом следует отметить, что информация в данном окне носит в основном вспомогательный характер. Применение в формулах англоязычных обозначений определяется тем, что впоследствии они используются в качестве идентификаторов внутри функций, размещаемых в исходных текстах модулей языков программирования C++ и Python, порождаемых специальным транслятором формул.
Основные атрибуты, определяющие предметную ориентацию пользовательского интерфейса подсистемы работы пользователя, задаются при описании подсистем и групп общих параметров. Описания подсистем формируются на вкладке «Подсистемы» (рис. 4), позволяющей добавлять, удалять и редактировать:
-
- список подсистем, каждая из которых содержит название, сокращенное обозначение и описание (англоязычное сокращение используется в формулах);
-
- список параметров для каждой из подсистем, где каждый из параметров имеет название, сокращенное обозначение на английском языке (для использования в формулах), название единицы измерения и описание параметра (для использования в отчетах).
Приведенные параметры могут при необходимости модифицироваться, а для их обозначения используются названия, позволяющие четко судить о прикладном назначении анализируемой системы.
Вкладка «Группы» (рис. 5) по своей структуре практически аналогична вкладке описания подсистем. Она предназначена для разбиения по отдельным категориям общих параметров си-

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

Рис. 5. Занесение данных о группах и параметрах групп
Другой вариант предполагает трансляцию исходных формул в программный модуль, написанный на языке программирования, используемом при создании системы многокритериального анализа. В результате формулы становятся частью ПРП и после компиляции полностью интегрируются с ней. Данный подход был реализован в рассматриваемой системе несмотря на то, что он ведет к повторным конфигурациям подсистемы работы пользователя. Определяющей стала намного более высокая скорость вычисления по заданным формулам.
Ввод формул осуществляется на вкладке «Формулы» диалогового окна (рис. 6), которая содержит следующие поля:
-
- название формулы, применяемое для его отображения в различных окнах и отчетах (позволяет легко идентифицировать формулу);
-
- список названий всех формул, позволяющий выбирать их для редактирования параметров;
-
- сокращенное название формулы на английском языке, применяемое для подстановки в другие формулы;
-
- флаги, задающие использование формулы (в расчетах по Парето, в качестве граничных или промежуточных);
-
- параметр, определяющий граничное значение;
-
- параметр, указывающий, к чему стремится значение формулы (к минимуму или максимуму);
-
- описание формулы в виде неформального комментария;
-
- сама формула, фигурирующая в расчетах.

Рис. 6. Занесение данных о формулах
Спецификой ПНПО является задание формулы с ориентацией на объектную привязку. В ней непосредственно не представлены ни формальные параметры, ни индексы вариантов подсистем, формирование которых возлагается на транслятор формул, преобразующий текущее представление в программный модуль по описанной выше схеме. Например, если параметр формулы принадлежит одной из подсистем, то перед ним ставится префикс S , за которым через точку следует обозначение подсистемы, а далее (вновь через точку) обозначение параметра. То есть обозначение S.RTR.m указывает на массу ретранслятора, который, в свою очередь, выступает подсистемой. Аналогично параметры групп начинаются с префикса G , а другие формулы, используемые в вычислениях формул, - с префикса F
В результате работы ПНПО создается проект, являющийся законченным приложением, обеспечивающим многокритериальный анализ в заданной предметной области. В целом различные проекты имеют одинаковое вычислительное ядро, единую структуру приложения, но отличаются данными и формулами, описывающими предметную область.
Подсистема работы пользователя
Подсистема работы пользователя, порождаемая с помощью ПНПО, предназначена для непосредственного выполнения многокритериального анализа и реализована в виде самостоятельного оконного приложения, работающего независимо от остальных частей всего программного комплекса (рис. 7). Она обеспечивает решение двух основных задач:
-
- формирование множества альтернативных вариантов для последующего многокритериального анализа;
-
- управление процессом вычислений в ходе многокритериального анализа.
Интерфейсный модуль подсистемы работы пользователя предназначен для организации работы с программой в диалоговом режиме. Он также обеспечивает сохранение данных на внешних носителях и чтение с них сохраненной информации, формирование отчетов, взаимодействие с вычислительным ядром системы.
Через выпадающие списки, расположенные в нижней части окна приложения, обеспечивается доступ к существующим подсистемам для создания их новых версий и задания в этих версиях значений параметров, применяемых во время вычислений. Окно параметров одной из подсистем приведено на рис. 8. Использование системы меню и инструментальной панели позволяет выполнять следующие функции:
-
- создавать новые наборы данных, сохранять и повторно загружать их;
-
- выбирать формулы, используемые для сужения по Парето;

Рис. 7. Главное окно подсистемы работы пользователя

Рис. 8. Окно параметров подсистемы
-
- формировать отчеты по результатам вычислений;
-
- проводить предусмотренные вычисления.
Подсистема ядра
Вычислительное ядро комплекса представляет собой программную систему, осуществляющую вычислительные операции для поддержки многокритериального анализа. Оно реализовано в виде набора библиотек, которые выполняют отдельные типы расчетов. Ядро как программная система не обладает собственным пользовательским интерфейсом и работает только в сочетании с клиентской частью программного комплекса. Пользовательское приложение формируют запросы на проведение вычислений, а ядро в соответствии с полученными параметрами и данными реализует их, используя нужные библиотеки. Результаты работы ядра возвращаются обратно в подсистему работы пользователя, где дополнительно интерпретируются и применяются для формирования отчета.
Заключение
Представленные инструментальные средства обеспечивают не только проведение требуемых вычислений, но и предварительную настройку приложения на предметную область, что облегчает работу пользователей, решающих конкретные прикладные задачи. Организация среды позволяет разделить функции различных пользователей, отделить настройку на предметную область от процесса непосредственного решения задачи. Использование для реализации системы библиотеки Qt, языков программирования Python и C++ обеспечивает переносимость – 148 – на различные операционные системы. Независимость вычислительного ядра от пользовательских интерфейсов позволяет эволюционно наращивать функциональные возможности приложения. В настоящее время прототип среды используется для анализа конфигураций космических аппаратов связи.
Работа выполнена при финансовой поддержке Федеральной целевой программы «Научные и научно-педагогические кадры инновационной России на 2009-2013 гг. (код проекта 02.740.11.0621).